Page MenuHomePhabricator

D13110.id43495.diff
No OneTemporary

D13110.id43495.diff

diff --git a/native/database/sqlite-api.js b/native/database/sqlite-api.js
--- a/native/database/sqlite-api.js
+++ b/native/database/sqlite-api.js
@@ -1,9 +1,25 @@
// @flow
+import { auxUserStoreOpsHandlers } from 'lib/ops/aux-user-store-ops.js';
+import { communityStoreOpsHandlers } from 'lib/ops/community-store-ops.js';
+import { entryStoreOpsHandlers } from 'lib/ops/entries-store-ops.js';
+import { integrityStoreOpsHandlers } from 'lib/ops/integrity-store-ops.js';
+import {
+ getKeyserversToRemoveFromNotifsStore,
+ keyserverStoreOpsHandlers,
+} from 'lib/ops/keyserver-store-ops.js';
+import { messageStoreOpsHandlers } from 'lib/ops/message-store-ops.js';
+import { reportStoreOpsHandlers } from 'lib/ops/report-store-ops.js';
+import { syncedMetadataStoreOpsHandlers } from 'lib/ops/synced-metadata-store-ops.js';
+import { threadActivityStoreOpsHandlers } from 'lib/ops/thread-activity-store-ops.js';
+import { threadStoreOpsHandlers } from 'lib/ops/thread-store-ops.js';
+import { userStoreOpsHandlers } from 'lib/ops/user-store-ops.js';
import type { SQLiteAPI } from 'lib/types/sqlite-types.js';
+import type { StoreOperations } from 'lib/types/store-ops-types';
+import { values } from 'lib/utils/objects.js';
import { commCoreModule } from '../native-modules.js';
-import { processDBStoreOperations } from '../redux/redux-utils.js';
+import { isTaskCancelledError } from '../utils/error-handling.js';
const sqliteAPI: SQLiteAPI = {
// read operations
@@ -21,7 +37,101 @@
removeOutboundP2PMessagesOlderThan:
commCoreModule.removeOutboundP2PMessagesOlderThan,
- processDBStoreOperations,
+ async processDBStoreOperations(
+ storeOperations: StoreOperations,
+ ): Promise<void> {
+ const {
+ draftStoreOperations,
+ threadStoreOperations,
+ messageStoreOperations,
+ reportStoreOperations,
+ keyserverStoreOperations,
+ userStoreOperations,
+ integrityStoreOperations,
+ communityStoreOperations,
+ syncedMetadataStoreOperations,
+ auxUserStoreOperations,
+ threadActivityStoreOperations,
+ outboundP2PMessages,
+ entryStoreOperations,
+ messageSearchStoreOperations,
+ } = storeOperations;
+
+ const convertedThreadStoreOperations =
+ threadStoreOpsHandlers.convertOpsToClientDBOps(threadStoreOperations);
+ const convertedMessageStoreOperations =
+ messageStoreOpsHandlers.convertOpsToClientDBOps(messageStoreOperations);
+ const convertedReportStoreOperations =
+ reportStoreOpsHandlers.convertOpsToClientDBOps(reportStoreOperations);
+ const convertedUserStoreOperations =
+ userStoreOpsHandlers.convertOpsToClientDBOps(userStoreOperations);
+ const convertedKeyserverStoreOperations =
+ keyserverStoreOpsHandlers.convertOpsToClientDBOps(
+ keyserverStoreOperations,
+ );
+ const convertedCommunityStoreOperations =
+ communityStoreOpsHandlers.convertOpsToClientDBOps(
+ communityStoreOperations,
+ );
+ const convertedSyncedMetadataStoreOperations =
+ syncedMetadataStoreOpsHandlers.convertOpsToClientDBOps(
+ syncedMetadataStoreOperations,
+ );
+ const keyserversToRemoveFromNotifsStore =
+ getKeyserversToRemoveFromNotifsStore(keyserverStoreOperations ?? []);
+ const convertedIntegrityStoreOperations =
+ integrityStoreOpsHandlers.convertOpsToClientDBOps(
+ integrityStoreOperations,
+ );
+ const convertedAuxUserStoreOperations =
+ auxUserStoreOpsHandlers.convertOpsToClientDBOps(auxUserStoreOperations);
+ const convertedThreadActivityStoreOperations =
+ threadActivityStoreOpsHandlers.convertOpsToClientDBOps(
+ threadActivityStoreOperations,
+ );
+ const convertedEntryStoreOperations =
+ entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
+
+ try {
+ const promises = [];
+ if (keyserversToRemoveFromNotifsStore.length > 0) {
+ promises.push(
+ commCoreModule.removeKeyserverDataFromNotifStorage(
+ keyserversToRemoveFromNotifsStore,
+ ),
+ );
+ }
+
+ const dbOps = {
+ draftStoreOperations,
+ threadStoreOperations: convertedThreadStoreOperations,
+ messageStoreOperations: convertedMessageStoreOperations,
+ reportStoreOperations: convertedReportStoreOperations,
+ userStoreOperations: convertedUserStoreOperations,
+ keyserverStoreOperations: convertedKeyserverStoreOperations,
+ communityStoreOperations: convertedCommunityStoreOperations,
+ integrityStoreOperations: convertedIntegrityStoreOperations,
+ syncedMetadataStoreOperations: convertedSyncedMetadataStoreOperations,
+ auxUserStoreOperations: convertedAuxUserStoreOperations,
+ threadActivityStoreOperations: convertedThreadActivityStoreOperations,
+ outboundP2PMessages,
+ entryStoreOperations: convertedEntryStoreOperations,
+ messageSearchStoreOperations,
+ };
+ if (values(dbOps).some(ops => ops && ops.length > 0)) {
+ promises.push(commCoreModule.processDBStoreOperations(dbOps));
+ }
+ await Promise.all(promises);
+ } catch (e) {
+ if (isTaskCancelledError(e)) {
+ return;
+ }
+ // this code will make an entry in SecureStore and cause re-creating
+ // database when user will open app again
+ commCoreModule.reportDBOperationsFailure();
+ commCoreModule.terminate();
+ }
+ },
};
export { sqliteAPI };
diff --git a/native/redux/redux-utils.js b/native/redux/redux-utils.js
--- a/native/redux/redux-utils.js
+++ b/native/redux/redux-utils.js
@@ -2,26 +2,7 @@
import { useSelector as reactReduxUseSelector } from 'react-redux';
-import { auxUserStoreOpsHandlers } from 'lib/ops/aux-user-store-ops.js';
-import { communityStoreOpsHandlers } from 'lib/ops/community-store-ops.js';
-import { entryStoreOpsHandlers } from 'lib/ops/entries-store-ops.js';
-import { integrityStoreOpsHandlers } from 'lib/ops/integrity-store-ops.js';
-import {
- keyserverStoreOpsHandlers,
- getKeyserversToRemoveFromNotifsStore,
-} from 'lib/ops/keyserver-store-ops.js';
-import { messageStoreOpsHandlers } from 'lib/ops/message-store-ops.js';
-import { reportStoreOpsHandlers } from 'lib/ops/report-store-ops.js';
-import { syncedMetadataStoreOpsHandlers } from 'lib/ops/synced-metadata-store-ops.js';
-import { threadActivityStoreOpsHandlers } from 'lib/ops/thread-activity-store-ops.js';
-import { threadStoreOpsHandlers } from 'lib/ops/thread-store-ops.js';
-import { userStoreOpsHandlers } from 'lib/ops/user-store-ops.js';
-import type { StoreOperations } from 'lib/types/store-ops-types.js';
-import { values } from 'lib/utils/objects.js';
-
import type { AppState } from './state-types.js';
-import { commCoreModule } from '../native-modules.js';
-import { isTaskCancelledError } from '../utils/error-handling.js';
function useSelector<SS>(
selector: (state: AppState) => SS,
@@ -30,94 +11,4 @@
return reactReduxUseSelector(selector, equalityFn);
}
-async function processDBStoreOperations(
- storeOperations: StoreOperations,
-): Promise<void> {
- const {
- draftStoreOperations,
- threadStoreOperations,
- messageStoreOperations,
- reportStoreOperations,
- userStoreOperations,
- keyserverStoreOperations,
- integrityStoreOperations,
- communityStoreOperations,
- syncedMetadataStoreOperations,
- auxUserStoreOperations,
- threadActivityStoreOperations,
- outboundP2PMessages,
- entryStoreOperations,
- messageSearchStoreOperations,
- } = storeOperations;
-
- const convertedThreadStoreOperations =
- threadStoreOpsHandlers.convertOpsToClientDBOps(threadStoreOperations);
- const convertedMessageStoreOperations =
- messageStoreOpsHandlers.convertOpsToClientDBOps(messageStoreOperations);
- const convertedReportStoreOperations =
- reportStoreOpsHandlers.convertOpsToClientDBOps(reportStoreOperations);
- const convertedUserStoreOperations =
- userStoreOpsHandlers.convertOpsToClientDBOps(userStoreOperations);
- const convertedKeyserverStoreOperations =
- keyserverStoreOpsHandlers.convertOpsToClientDBOps(keyserverStoreOperations);
- const convertedCommunityStoreOperations =
- communityStoreOpsHandlers.convertOpsToClientDBOps(communityStoreOperations);
- const convertedSyncedMetadataStoreOperations =
- syncedMetadataStoreOpsHandlers.convertOpsToClientDBOps(
- syncedMetadataStoreOperations,
- );
- const keyserversToRemoveFromNotifsStore =
- getKeyserversToRemoveFromNotifsStore(keyserverStoreOperations ?? []);
- const convertedIntegrityStoreOperations =
- integrityStoreOpsHandlers.convertOpsToClientDBOps(integrityStoreOperations);
- const convertedAuxUserStoreOperations =
- auxUserStoreOpsHandlers.convertOpsToClientDBOps(auxUserStoreOperations);
- const convertedThreadActivityStoreOperations =
- threadActivityStoreOpsHandlers.convertOpsToClientDBOps(
- threadActivityStoreOperations,
- );
- const convertedEntryStoreOperations =
- entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
-
- try {
- const promises = [];
- if (keyserversToRemoveFromNotifsStore.length > 0) {
- promises.push(
- commCoreModule.removeKeyserverDataFromNotifStorage(
- keyserversToRemoveFromNotifsStore,
- ),
- );
- }
-
- const dbOps = {
- draftStoreOperations,
- threadStoreOperations: convertedThreadStoreOperations,
- messageStoreOperations: convertedMessageStoreOperations,
- reportStoreOperations: convertedReportStoreOperations,
- userStoreOperations: convertedUserStoreOperations,
- keyserverStoreOperations: convertedKeyserverStoreOperations,
- communityStoreOperations: convertedCommunityStoreOperations,
- integrityStoreOperations: convertedIntegrityStoreOperations,
- syncedMetadataStoreOperations: convertedSyncedMetadataStoreOperations,
- auxUserStoreOperations: convertedAuxUserStoreOperations,
- threadActivityStoreOperations: convertedThreadActivityStoreOperations,
- outboundP2PMessages,
- entryStoreOperations: convertedEntryStoreOperations,
- messageSearchStoreOperations,
- };
- if (values(dbOps).some(ops => ops && ops.length > 0)) {
- promises.push(commCoreModule.processDBStoreOperations(dbOps));
- }
- await Promise.all(promises);
- } catch (e) {
- if (isTaskCancelledError(e)) {
- return;
- }
- // this code will make an entry in SecureStore and cause re-creating
- // database when user will open app again
- commCoreModule.reportDBOperationsFailure();
- commCoreModule.terminate();
- }
-}
-
-export { useSelector, processDBStoreOperations };
+export { useSelector };
diff --git a/web/database/sqlite-api.js b/web/database/sqlite-api.js
--- a/web/database/sqlite-api.js
+++ b/web/database/sqlite-api.js
@@ -1,14 +1,26 @@
// @flow
+import { auxUserStoreOpsHandlers } from 'lib/ops/aux-user-store-ops.js';
+import { communityStoreOpsHandlers } from 'lib/ops/community-store-ops.js';
+import { entryStoreOpsHandlers } from 'lib/ops/entries-store-ops.js';
+import { integrityStoreOpsHandlers } from 'lib/ops/integrity-store-ops.js';
+import { keyserverStoreOpsHandlers } from 'lib/ops/keyserver-store-ops.js';
+import { messageStoreOpsHandlers } from 'lib/ops/message-store-ops.js';
+import { reportStoreOpsHandlers } from 'lib/ops/report-store-ops.js';
+import { syncedMetadataStoreOpsHandlers } from 'lib/ops/synced-metadata-store-ops.js';
+import { threadActivityStoreOpsHandlers } from 'lib/ops/thread-activity-store-ops.js';
+import { threadStoreOpsHandlers } from 'lib/ops/thread-store-ops.js';
+import { userStoreOpsHandlers } from 'lib/ops/user-store-ops.js';
import type { ClientDBMessageInfo } from 'lib/types/message-types.js';
import type {
SQLiteAPI,
InboundP2PMessage,
OutboundP2PMessage,
} from 'lib/types/sqlite-types.js';
+import type { StoreOperations } from 'lib/types/store-ops-types.js';
+import { entries } from 'lib/utils/objects.js';
import { getCommSharedWorker } from '../shared-worker/shared-worker-provider.js';
-import { processDBStoreOperations } from '../shared-worker/utils/store.js';
import { workerRequestMessageTypes } from '../types/worker-types.js';
const sqliteAPI: SQLiteAPI = {
@@ -128,7 +140,117 @@
});
},
- processDBStoreOperations,
+ async processDBStoreOperations(
+ storeOperations: StoreOperations,
+ ): Promise<void> {
+ const {
+ draftStoreOperations,
+ threadStoreOperations,
+ reportStoreOperations,
+ keyserverStoreOperations,
+ communityStoreOperations,
+ integrityStoreOperations,
+ syncedMetadataStoreOperations,
+ auxUserStoreOperations,
+ userStoreOperations,
+ messageStoreOperations,
+ threadActivityStoreOperations,
+ outboundP2PMessages,
+ entryStoreOperations,
+ messageSearchStoreOperations,
+ } = storeOperations;
+
+ const convertedThreadStoreOperations =
+ threadStoreOpsHandlers.convertOpsToClientDBOps(threadStoreOperations);
+ const convertedReportStoreOperations =
+ reportStoreOpsHandlers.convertOpsToClientDBOps(reportStoreOperations);
+ const convertedKeyserverStoreOperations =
+ keyserverStoreOpsHandlers.convertOpsToClientDBOps(
+ keyserverStoreOperations,
+ );
+ const convertedCommunityStoreOperations =
+ communityStoreOpsHandlers.convertOpsToClientDBOps(
+ communityStoreOperations,
+ );
+ const convertedIntegrityStoreOperations =
+ integrityStoreOpsHandlers.convertOpsToClientDBOps(
+ integrityStoreOperations,
+ );
+ const convertedSyncedMetadataStoreOperations =
+ syncedMetadataStoreOpsHandlers.convertOpsToClientDBOps(
+ syncedMetadataStoreOperations,
+ );
+ const convertedAuxUserStoreOperations =
+ auxUserStoreOpsHandlers.convertOpsToClientDBOps(auxUserStoreOperations);
+ const convertedUserStoreOperations =
+ userStoreOpsHandlers.convertOpsToClientDBOps(userStoreOperations);
+ const convertedMessageStoreOperations =
+ messageStoreOpsHandlers.convertOpsToClientDBOps(messageStoreOperations);
+ const convertedThreadActivityStoreOperations =
+ threadActivityStoreOpsHandlers.convertOpsToClientDBOps(
+ threadActivityStoreOperations,
+ );
+ const convertedEntryStoreOperations =
+ entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
+
+ if (
+ convertedThreadStoreOperations.length === 0 &&
+ convertedReportStoreOperations.length === 0 &&
+ (!draftStoreOperations || draftStoreOperations.length === 0) &&
+ convertedKeyserverStoreOperations.length === 0 &&
+ convertedCommunityStoreOperations.length === 0 &&
+ convertedIntegrityStoreOperations.length === 0 &&
+ convertedSyncedMetadataStoreOperations.length === 0 &&
+ convertedAuxUserStoreOperations.length === 0 &&
+ convertedUserStoreOperations.length === 0 &&
+ convertedMessageStoreOperations.length === 0 &&
+ convertedThreadActivityStoreOperations.length === 0 &&
+ convertedEntryStoreOperations.length === 0 &&
+ outboundP2PMessages?.length === 0
+ ) {
+ return;
+ }
+
+ const sharedWorker = await getCommSharedWorker();
+ const isSupported = await sharedWorker.isSupported();
+ if (!isSupported) {
+ return;
+ }
+ try {
+ await sharedWorker.schedule({
+ type: workerRequestMessageTypes.PROCESS_STORE_OPERATIONS,
+ storeOperations: {
+ draftStoreOperations,
+ reportStoreOperations: convertedReportStoreOperations,
+ threadStoreOperations: convertedThreadStoreOperations,
+ keyserverStoreOperations: convertedKeyserverStoreOperations,
+ communityStoreOperations: convertedCommunityStoreOperations,
+ integrityStoreOperations: convertedIntegrityStoreOperations,
+ syncedMetadataStoreOperations: convertedSyncedMetadataStoreOperations,
+ auxUserStoreOperations: convertedAuxUserStoreOperations,
+ userStoreOperations: convertedUserStoreOperations,
+ messageStoreOperations: convertedMessageStoreOperations,
+ threadActivityStoreOperations: convertedThreadActivityStoreOperations,
+ outboundP2PMessages,
+ entryStoreOperations: convertedEntryStoreOperations,
+ messageSearchStoreOperations,
+ },
+ });
+ } catch (e) {
+ console.log(e);
+ if (
+ entries(storeOperations).some(
+ ([key, ops]) =>
+ key !== 'draftStoreOperations' &&
+ key !== 'reportStoreOperations' &&
+ ops.length > 0,
+ )
+ ) {
+ await sharedWorker.init({ clearDatabase: true, markAsCorrupted: true });
+ location.reload();
+ }
+ }
+ },
};
export { sqliteAPI };
diff --git a/web/redux/initial-state-gate.js b/web/redux/initial-state-gate.js
--- a/web/redux/initial-state-gate.js
+++ b/web/redux/initial-state-gate.js
@@ -12,6 +12,7 @@
import { getMessageSearchStoreOps } from 'lib/reducers/db-ops-reducer.js';
import { allUpdatesCurrentAsOfSelector } from 'lib/selectors/keyserver-selectors.js';
import type { RawThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js';
+import { getConfig } from 'lib/utils/config.js';
import { convertIDToNewSchema } from 'lib/utils/migration-utils.js';
import { entries, values } from 'lib/utils/objects.js';
import { useDispatch } from 'lib/utils/redux-utils.js';
@@ -24,10 +25,7 @@
import { useSelector } from './redux-utils.js';
import { authoritativeKeyserverID } from '../authoritative-keyserver.js';
import Loading from '../loading.react.js';
-import {
- getClientDBStore,
- processDBStoreOperations,
-} from '../shared-worker/utils/store.js';
+import { getClientDBStore } from '../shared-worker/utils/store.js';
import type { InitialReduxStateActionPayload } from '../types/redux-types.js';
type Props = {
@@ -166,7 +164,8 @@
const messageSearchStoreOperations = getMessageSearchStoreOps(
messageStoreOperations,
);
- await processDBStoreOperations({
+ const { sqliteAPI } = getConfig();
+ await sqliteAPI.processDBStoreOperations({
threadStoreOperations,
draftStoreOperations: [],
messageStoreOperations,
diff --git a/web/shared-worker/utils/store.js b/web/shared-worker/utils/store.js
--- a/web/shared-worker/utils/store.js
+++ b/web/shared-worker/utils/store.js
@@ -5,18 +5,13 @@
import { entryStoreOpsHandlers } from 'lib/ops/entries-store-ops.js';
import { integrityStoreOpsHandlers } from 'lib/ops/integrity-store-ops.js';
import { keyserverStoreOpsHandlers } from 'lib/ops/keyserver-store-ops.js';
-import { messageStoreOpsHandlers } from 'lib/ops/message-store-ops.js';
import { reportStoreOpsHandlers } from 'lib/ops/report-store-ops.js';
import { syncedMetadataStoreOpsHandlers } from 'lib/ops/synced-metadata-store-ops.js';
import { threadActivityStoreOpsHandlers } from 'lib/ops/thread-activity-store-ops.js';
import { threadStoreOpsHandlers } from 'lib/ops/thread-store-ops.js';
import { userStoreOpsHandlers } from 'lib/ops/user-store-ops.js';
-import type {
- ClientStore,
- StoreOperations,
-} from 'lib/types/store-ops-types.js';
+import type { ClientStore } from 'lib/types/store-ops-types.js';
import { translateClientDBLocalMessageInfos } from 'lib/utils/message-ops-utils.js';
-import { entries } from 'lib/utils/objects.js';
import { defaultWebState } from '../../redux/default-state.js';
import { workerRequestMessageTypes } from '../../types/worker-types.js';
@@ -160,110 +155,4 @@
return result;
}
-async function processDBStoreOperations(
- storeOperations: StoreOperations,
-): Promise<void> {
- const {
- draftStoreOperations,
- threadStoreOperations,
- reportStoreOperations,
- keyserverStoreOperations,
- communityStoreOperations,
- integrityStoreOperations,
- syncedMetadataStoreOperations,
- auxUserStoreOperations,
- userStoreOperations,
- messageStoreOperations,
- threadActivityStoreOperations,
- outboundP2PMessages,
- entryStoreOperations,
- messageSearchStoreOperations,
- } = storeOperations;
-
- const convertedThreadStoreOperations =
- threadStoreOpsHandlers.convertOpsToClientDBOps(threadStoreOperations);
- const convertedReportStoreOperations =
- reportStoreOpsHandlers.convertOpsToClientDBOps(reportStoreOperations);
- const convertedKeyserverStoreOperations =
- keyserverStoreOpsHandlers.convertOpsToClientDBOps(keyserverStoreOperations);
- const convertedCommunityStoreOperations =
- communityStoreOpsHandlers.convertOpsToClientDBOps(communityStoreOperations);
- const convertedIntegrityStoreOperations =
- integrityStoreOpsHandlers.convertOpsToClientDBOps(integrityStoreOperations);
- const convertedSyncedMetadataStoreOperations =
- syncedMetadataStoreOpsHandlers.convertOpsToClientDBOps(
- syncedMetadataStoreOperations,
- );
- const convertedAuxUserStoreOperations =
- auxUserStoreOpsHandlers.convertOpsToClientDBOps(auxUserStoreOperations);
- const convertedUserStoreOperations =
- userStoreOpsHandlers.convertOpsToClientDBOps(userStoreOperations);
- const convertedMessageStoreOperations =
- messageStoreOpsHandlers.convertOpsToClientDBOps(messageStoreOperations);
- const convertedThreadActivityStoreOperations =
- threadActivityStoreOpsHandlers.convertOpsToClientDBOps(
- threadActivityStoreOperations,
- );
- const convertedEntryStoreOperations =
- entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
-
- if (
- convertedThreadStoreOperations.length === 0 &&
- convertedReportStoreOperations.length === 0 &&
- (!draftStoreOperations || draftStoreOperations.length === 0) &&
- convertedKeyserverStoreOperations.length === 0 &&
- convertedCommunityStoreOperations.length === 0 &&
- convertedIntegrityStoreOperations.length === 0 &&
- convertedSyncedMetadataStoreOperations.length === 0 &&
- convertedAuxUserStoreOperations.length === 0 &&
- convertedUserStoreOperations.length === 0 &&
- convertedMessageStoreOperations.length === 0 &&
- convertedThreadActivityStoreOperations.length === 0 &&
- convertedEntryStoreOperations.length === 0 &&
- outboundP2PMessages?.length === 0
- ) {
- return;
- }
-
- const sharedWorker = await getCommSharedWorker();
- const isSupported = await sharedWorker.isSupported();
- if (!isSupported) {
- return;
- }
- try {
- await sharedWorker.schedule({
- type: workerRequestMessageTypes.PROCESS_STORE_OPERATIONS,
- storeOperations: {
- draftStoreOperations,
- reportStoreOperations: convertedReportStoreOperations,
- threadStoreOperations: convertedThreadStoreOperations,
- keyserverStoreOperations: convertedKeyserverStoreOperations,
- communityStoreOperations: convertedCommunityStoreOperations,
- integrityStoreOperations: convertedIntegrityStoreOperations,
- syncedMetadataStoreOperations: convertedSyncedMetadataStoreOperations,
- auxUserStoreOperations: convertedAuxUserStoreOperations,
- userStoreOperations: convertedUserStoreOperations,
- messageStoreOperations: convertedMessageStoreOperations,
- threadActivityStoreOperations: convertedThreadActivityStoreOperations,
- outboundP2PMessages,
- entryStoreOperations: convertedEntryStoreOperations,
- messageSearchStoreOperations,
- },
- });
- } catch (e) {
- console.log(e);
- if (
- entries(storeOperations).some(
- ([key, ops]) =>
- key !== 'draftStoreOperations' &&
- key !== 'reportStoreOperations' &&
- ops.length > 0,
- )
- ) {
- await sharedWorker.init({ clearDatabase: true, markAsCorrupted: true });
- location.reload();
- }
- }
-}
-
-export { getClientDBStore, processDBStoreOperations };
+export { getClientDBStore };

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 30, 1:19 PM (21 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2204873
Default Alt Text
D13110.id43495.diff (23 KB)

Event Timeline