diff --git a/web/database/worker/db-worker.js b/web/database/worker/db-worker.js
--- a/web/database/worker/db-worker.js
+++ b/web/database/worker/db-worker.js
@@ -17,6 +17,7 @@
   workerRequestMessageTypes,
   workerResponseMessageTypes,
   type WorkerRequestProxyMessage,
+  workerWriteRequests,
 } from '../../types/worker-types.js';
 import { getSQLiteDBVersion, setupSQLiteDB } from '../queries/db-queries.js';
 import {
@@ -210,22 +211,19 @@
     if (draftStoreOperations) {
       processDraftStoreOperations(draftStoreOperations);
     }
-    throttledPersist();
-    return;
   } else if (message.type === workerRequestMessageTypes.SET_CURRENT_USER_ID) {
     setMetadata(sqliteDb, CURRENT_USER_ID_KEY, message.userID);
-    throttledPersist();
-    return;
   } else if (
     message.type === workerRequestMessageTypes.SET_PERSIST_STORAGE_ITEM
   ) {
     setPersistStorageItem(sqliteDb, message.key, message.item);
-    throttledPersist();
-    return;
   } else if (
     message.type === workerRequestMessageTypes.REMOVE_PERSIST_STORAGE_ITEM
   ) {
     removePersistStorageItem(sqliteDb, message.key);
+  }
+
+  if (workerWriteRequests.includes(message.type)) {
     throttledPersist();
     return;
   }
diff --git a/web/types/worker-types.js b/web/types/worker-types.js
--- a/web/types/worker-types.js
+++ b/web/types/worker-types.js
@@ -20,6 +20,13 @@
   CLEAR_SENSITIVE_DATA: 10,
 });
 
+export const workerWriteRequests: $ReadOnlyArray<number> = [
+  workerRequestMessageTypes.PROCESS_STORE_OPERATIONS,
+  workerRequestMessageTypes.SET_CURRENT_USER_ID,
+  workerRequestMessageTypes.SET_PERSIST_STORAGE_ITEM,
+  workerRequestMessageTypes.REMOVE_PERSIST_STORAGE_ITEM,
+];
+
 export type PingWorkerRequestMessage = {
   +type: 0,
   +text: string,