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 = [ + 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,