Page MenuHomePhabricator

D13010.diff
No OneTemporary

D13010.diff

diff --git a/lib/reducers/db-ops-reducer.js b/lib/reducers/db-ops-reducer.js
--- a/lib/reducers/db-ops-reducer.js
+++ b/lib/reducers/db-ops-reducer.js
@@ -6,6 +6,7 @@
import type { MessageStoreOperation } from '../ops/message-store-ops.js';
import type { DBOpsStore } from '../types/db-ops-types.js';
import { messageTypes } from '../types/message-types-enum.js';
+import type { NotificationsCreationData } from '../types/notif-types.js';
import type { BaseAction, DispatchMetadata } from '../types/redux-types.js';
import type { StoreOperations } from '../types/store-ops-types.js';
import { values } from '../utils/objects.js';
@@ -18,7 +19,6 @@
queuedOps: rest,
};
}
-
return store;
}
@@ -69,6 +69,7 @@
store: DBOpsStore,
dispatchMetadata: ?DispatchMetadata,
inputOps: StoreOperations,
+ notificationsCreationData: ?NotificationsCreationData,
): DBOpsStore {
const areNewOpsPresent = values(inputOps).some(
opsArray => opsArray.length > 0,
@@ -85,19 +86,23 @@
messageSearchStoreOperations,
};
- if (dispatchMetadata && areNewOpsPresent) {
+ if (dispatchMetadata && areNewOpsPresent && notificationsCreationData) {
newEntry = {
dispatchMetadata,
ops,
+ notificationsCreationData,
};
- } else if (areNewOpsPresent) {
+ } else if (dispatchMetadata && areNewOpsPresent) {
newEntry = {
+ dispatchMetadata,
ops,
};
- } else if (dispatchMetadata) {
+ } else if (areNewOpsPresent) {
newEntry = {
- dispatchMetadata,
+ ops,
};
+ } else if (dispatchMetadata) {
+ newEntry = { dispatchMetadata };
}
if (!newEntry) {
diff --git a/lib/types/db-ops-types.js b/lib/types/db-ops-types.js
--- a/lib/types/db-ops-types.js
+++ b/lib/types/db-ops-types.js
@@ -1,5 +1,6 @@
// @flow
+import type { NotificationsCreationData } from './notif-types.js';
import { type DispatchMetadata } from './redux-types.js';
import type { StoreOperations } from './store-ops-types.js';
@@ -7,6 +8,7 @@
| {
+dispatchMetadata: DispatchMetadata,
+ops?: ?StoreOperations,
+ +notificationsCreationData?: NotificationsCreationData,
}
| {
+ops: StoreOperations,
diff --git a/lib/types/dm-ops.js b/lib/types/dm-ops.js
--- a/lib/types/dm-ops.js
+++ b/lib/types/dm-ops.js
@@ -4,6 +4,7 @@
import { clientAvatarValidator, type ClientAvatar } from './avatar-types.js';
import type { RawMessageInfo } from './message-types.js';
+import type { NotificationsCreationData } from './notif-types.js';
import type { OutboundP2PMessage } from './sqlite-types.js';
import {
type NonSidebarThickThreadType,
@@ -363,6 +364,7 @@
// with `outboundP2PMessages` to keep track of whether all P2P messages
// were queued on Tunnelbroker.
+messageIDWithoutAutoRetry: ?string,
+ +notificationsCreationData: ?NotificationsCreationData,
};
export const queueDMOpsActionType = 'QUEUE_DM_OPS';
diff --git a/native/redux/redux-setup.js b/native/redux/redux-setup.js
--- a/native/redux/redux-setup.js
+++ b/native/redux/redux-setup.js
@@ -28,6 +28,7 @@
identityInvalidSessionDowngrade,
} from 'lib/shared/session-utils.js';
import { isStaff } from 'lib/shared/staff-utils.js';
+import { processDMOpsActionType } from 'lib/types/dm-ops.js';
import type { Dispatch, BaseAction } from 'lib/types/redux-types.js';
import { rehydrateActionType } from 'lib/types/redux-types.js';
import type { SetSessionPayload } from 'lib/types/session-types.js';
@@ -312,9 +313,20 @@
...storeOperations,
threadStoreOperations: threadStoreOperationsWithUnreadFix,
};
+
+ let notificationsCreationData = null;
+ if (action.type === processDMOpsActionType) {
+ notificationsCreationData = action.payload.notificationsCreationData;
+ }
+
state = {
...state,
- dbOpsStore: queueDBOps(state.dbOpsStore, action.dispatchMetadata, ops),
+ dbOpsStore: queueDBOps(
+ state.dbOpsStore,
+ action.dispatchMetadata,
+ ops,
+ notificationsCreationData,
+ ),
};
return state;
diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js
--- a/web/redux/redux-setup.js
+++ b/web/redux/redux-setup.js
@@ -39,6 +39,7 @@
import type { CommunityStore } from 'lib/types/community-types.js';
import type { DBOpsStore } from 'lib/types/db-ops-types.js';
import type { QueuedDMOperations } from 'lib/types/dm-ops.js';
+import { processDMOpsActionType } from 'lib/types/dm-ops.js';
import type { DraftStore } from 'lib/types/draft-types.js';
import type { EnabledApps } from 'lib/types/enabled-apps.js';
import type { EntryStore } from 'lib/types/entry-types.js';
@@ -539,12 +540,18 @@
return state;
}
+ let notificationsCreationData = null;
+ if (action.type === processDMOpsActionType) {
+ notificationsCreationData = action.payload.notificationsCreationData;
+ }
+
return {
...state,
dbOpsStore: queueDBOps(
state.dbOpsStore,
action.dispatchMetadata,
storeOperations,
+ notificationsCreationData,
),
};
}

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 4:14 AM (21 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2536687
Default Alt Text
D13010.diff (4 KB)

Event Timeline