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 @@ -33,6 +33,7 @@ dmOperationValidator, } from '../../types/dm-ops.js'; import type { RawThreadInfo } from '../../types/minimally-encoded-thread-permissions-types.js'; +import type { NotificationsCreationData } from '../../types/notif-types.js'; import type { DispatchMetadata } from '../../types/redux-types.js'; import type { OutboundP2PMessage } from '../../types/sqlite-types.js'; import type { LegacyRawThreadInfo } from '../../types/thread-types.js'; @@ -202,13 +203,21 @@ } const dmOpSpec = dmOpSpecs[dmOp.type]; - const notificationsCreationDataPromise = (async () => { - return await dmOpSpec.notificationsCreationData?.( - dmOp, - viewerID, - utilities, - ); - })(); + const notificationsCreationDataPromise: Promise = + (async () => { + if ( + dmOperationSpecification.type === + dmOperationSpecificationTypes.INBOUND || + !dmOpSpec.notificationsCreationData + ) { + return null; + } + return await dmOpSpec.notificationsCreationData( + dmOp, + viewerID, + utilities, + ); + })(); const [{ rawMessageInfos, updateInfos }, notificationsCreationData] = await Promise.all([