Page MenuHomePhabricator

D13107.id43450.diff
No OneTemporary

D13107.id43450.diff

diff --git a/lib/shared/redux/client-db-utils.js b/lib/shared/redux/client-db-utils.js
--- a/lib/shared/redux/client-db-utils.js
+++ b/lib/shared/redux/client-db-utils.js
@@ -2,7 +2,22 @@
import _keyBy from 'lodash/fp/keyBy.js';
+import { auxUserStoreOpsHandlers } from '../../ops/aux-user-store-ops.js';
+import { communityStoreOpsHandlers } from '../../ops/community-store-ops.js';
+import { entryStoreOpsHandlers } from '../../ops/entries-store-ops.js';
+import { integrityStoreOpsHandlers } from '../../ops/integrity-store-ops.js';
+import { keyserverStoreOpsHandlers } from '../../ops/keyserver-store-ops.js';
+import { messageStoreOpsHandlers } from '../../ops/message-store-ops.js';
+import { reportStoreOpsHandlers } from '../../ops/report-store-ops.js';
+import { syncedMetadataStoreOpsHandlers } from '../../ops/synced-metadata-store-ops.js';
+import { threadActivityStoreOpsHandlers } from '../../ops/thread-activity-store-ops.js';
import type { ClientDBThreadStoreOperation } from '../../ops/thread-store-ops.js';
+import { threadStoreOpsHandlers } from '../../ops/thread-store-ops.js';
+import { userStoreOpsHandlers } from '../../ops/user-store-ops.js';
+import type {
+ ClientDBStoreOperations,
+ StoreOperations,
+} from '../../types/store-ops-types.js';
import type {
RawThreadInfos,
ClientDBThreadInfo,
@@ -46,4 +61,72 @@
return [{ type: 'remove_all' }, ...replaceThreadOperations];
}
-export { createUpdateDBOpsForThreadStoreThreadInfos };
+function convertStoreOperationsToClientDBStoreOperations(
+ storeOperations: StoreOperations,
+): ClientDBStoreOperations {
+ 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 convertedIntegrityStoreOperations =
+ integrityStoreOpsHandlers.convertOpsToClientDBOps(integrityStoreOperations);
+ const convertedAuxUserStoreOperations =
+ auxUserStoreOpsHandlers.convertOpsToClientDBOps(auxUserStoreOperations);
+ const convertedThreadActivityStoreOperations =
+ threadActivityStoreOpsHandlers.convertOpsToClientDBOps(
+ threadActivityStoreOperations,
+ );
+ const convertedEntryStoreOperations =
+ entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
+
+ return {
+ draftStoreOperations: 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,
+ };
+}
+
+export {
+ createUpdateDBOpsForThreadStoreThreadInfos,
+ convertStoreOperationsToClientDBStoreOperations,
+};
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,19 +1,7 @@
// @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 { getKeyserversToRemoveFromNotifsStore } from 'lib/ops/keyserver-store-ops.js';
+import { convertStoreOperationsToClientDBStoreOperations } from 'lib/shared/redux/client-db-utils.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';
@@ -40,57 +28,10 @@
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,
+ getKeyserversToRemoveFromNotifsStore(
+ storeOperations.keyserverStoreOperations ?? [],
);
- const convertedEntryStoreOperations =
- entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations);
try {
const promises = [];
@@ -102,22 +43,8 @@
);
}
- 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,
- };
+ const dbOps =
+ convertStoreOperationsToClientDBStoreOperations(storeOperations);
if (values(dbOps).some(ops => ops && ops.length > 0)) {
promises.push(commCoreModule.processDBStoreOperations(dbOps));
}
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,16 +1,6 @@
// @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 { convertStoreOperationsToClientDBStoreOperations } from 'lib/shared/redux/client-db-utils.js';
import type { ClientDBMessageInfo } from 'lib/types/message-types.js';
import type {
SQLiteAPI,
@@ -18,7 +8,7 @@
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 { entries, values } from 'lib/utils/objects.js';
import { getCommSharedWorker } from '../shared-worker/shared-worker-provider.js';
import { workerRequestMessageTypes } from '../types/worker-types.js';
@@ -143,71 +133,10 @@
async processDBStoreOperations(
storeOperations: StoreOperations,
): Promise<void> {
- const {
- draftStoreOperations,
- threadStoreOperations,
- reportStoreOperations,
- keyserverStoreOperations,
- communityStoreOperations,
- integrityStoreOperations,
- syncedMetadataStoreOperations,
- auxUserStoreOperations,
- userStoreOperations,
- messageStoreOperations,
- threadActivityStoreOperations,
- outboundP2PMessages,
- entryStoreOperations,
- messageSearchStoreOperations,
- } = storeOperations;
+ const dbOps =
+ convertStoreOperationsToClientDBStoreOperations(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
- ) {
+ if (!values(dbOps).some(ops => ops && ops.length > 0)) {
return;
}
@@ -219,22 +148,7 @@
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,
- },
+ storeOperations: dbOps,
});
} catch (e) {
console.log(e);

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 30, 1:29 PM (22 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2205036
Default Alt Text
D13107.id43450.diff (14 KB)

Event Timeline