Page MenuHomePhabricator

D13157.id43614.diff
No OneTemporary

D13157.id43614.diff

diff --git a/lib/shared/dm-ops/process-dm-ops.js b/lib/shared/dm-ops/process-dm-ops.js
--- a/lib/shared/dm-ops/process-dm-ops.js
+++ b/lib/shared/dm-ops/process-dm-ops.js
@@ -27,6 +27,7 @@
type SendDMOpsPayload,
} from '../../types/dm-ops.js';
import type { RawThreadInfo } from '../../types/minimally-encoded-thread-permissions-types.js';
+import type { DispatchMetadata } from '../../types/redux-types.js';
import type { OutboundP2PMessage } from '../../types/sqlite-types.js';
import { threadTypes } from '../../types/thread-types-enum.js';
import type { LegacyRawThreadInfo } from '../../types/thread-types.js';
@@ -38,6 +39,7 @@
function useProcessDMOperation(): (
dmOperationSpecification: DMOperationSpecification,
+ dmOpID: ?string,
) => Promise<void> {
const fetchMessage = useGetLatestMessageEdit();
const threadInfos = useSelector(state => state.threadStore.threadInfos);
@@ -57,7 +59,10 @@
const currentUserInfo = useSelector(state => state.currentUserInfo);
return React.useCallback(
- async (dmOperationSpecification: DMOperationSpecification) => {
+ async (
+ dmOperationSpecification: DMOperationSpecification,
+ dmOpID: ?string,
+ ) => {
if (!viewerID) {
console.log('ignored DMOperation because logged out');
return;
@@ -74,7 +79,19 @@
);
}
- const { op: dmOp, metadata } = dmOperationSpecification;
+ let dispatchMetadata: ?DispatchMetadata =
+ dmOperationSpecification.metadata;
+ if (
+ dmOperationSpecification.type ===
+ dmOperationSpecificationTypes.OUTBOUND &&
+ dmOpID
+ ) {
+ dispatchMetadata = {
+ dmOpID,
+ };
+ }
+
+ const { op: dmOp } = dmOperationSpecification;
const processingCheckResult = dmOpSpecs[dmOp.type].canBeProcessed(
dmOp,
viewerID,
@@ -91,7 +108,7 @@
timestamp: Date.now(),
},
},
- metadata,
+ dispatchMetadata,
);
}
return;
@@ -186,7 +203,7 @@
messageIDWithoutAutoRetry,
},
},
- metadata,
+ dispatchMetadata,
);
},
[
@@ -209,8 +226,8 @@
return React.useCallback(
async (dmOperationSpecification: OutboundDMOperationSpecification) => {
- const { promise } = getDMOpsSendingPromise();
- await processDMOps(dmOperationSpecification);
+ const { promise, dmOpID } = getDMOpsSendingPromise();
+ await processDMOps(dmOperationSpecification, dmOpID);
if (
dmOperationSpecification.type ===

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 19, 5:57 PM (17 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2324318
Default Alt Text
D13157.id43614.diff (2 KB)

Event Timeline