diff --git a/lib/push/send-hooks.react.js b/lib/push/send-hooks.react.js --- a/lib/push/send-hooks.react.js +++ b/lib/push/send-hooks.react.js @@ -14,6 +14,7 @@ import { ENSCacheContext } from '../components/ens-cache-provider.react.js'; import { NeynarClientContext } from '../components/neynar-client-provider.react.js'; import { usePeerOlmSessionsCreatorContext } from '../components/peer-olm-session-creator-provider.react.js'; +import { useGetLatestMessageEdit } from '../hooks/latest-message-edit.js'; import { IdentityClientContext } from '../shared/identity-client-context.js'; import type { AuthMetadata } from '../shared/identity-client-context.js'; import { useTunnelbroker } from '../tunnelbroker/tunnelbroker-context.js'; @@ -109,7 +110,7 @@ const client = React.useContext(IdentityClientContext); invariant(client, 'Identity context should be set'); const { getAuthMetadata } = client; - const rawMessageInfos = useSelector(state => state.messageStore.messages); + const getLatestMessageEdit = useGetLatestMessageEdit(); const auxUserInfos = useSelector(state => state.auxUserStore.auxUserInfos); const userInfos = useSelector(state => state.userStore.userInfos); const { getENSNames } = React.useContext(ENSCacheContext); @@ -147,7 +148,7 @@ encryptedNotifUtilsAPI, senderDeviceDescriptor, olmSessionCreator, - messageInfos: rawMessageInfos, + getLatestMessageEdit, notifCreationData: messageDatasWithMessageInfos && thickRawThreadInfos ? { @@ -256,7 +257,7 @@ sendNotif, encryptedNotifUtilsAPI, olmSessionCreator, - rawMessageInfos, + getLatestMessageEdit, auxUserInfos, userInfos, getENSNames, diff --git a/lib/push/send-utils.js b/lib/push/send-utils.js --- a/lib/push/send-utils.js +++ b/lib/push/send-utils.js @@ -111,8 +111,6 @@ } async function getPushUserInfo( - messageInfos: { +[id: string]: RawMessageInfo }, - auxUserInfos: AuxUserInfos, notifCreationData: ?{ +messageDatasWithMessageInfos: $ReadOnlyArray<{ +messageData: MessageData, @@ -120,6 +118,8 @@ }>, +thickRawThreadInfos: ThickRawThreadInfos, }, + auxUserInfos: AuxUserInfos, + getLatestMessageEdit: (messageID: string) => Promise, ): Promise<{ +pushInfos: ?{ +infos: PushInfo, @@ -222,8 +222,7 @@ messageDatas, threadsToMessageIndices, userNotMemberOfSubthreads: new Set(), - fetchMessageInfoByID: (messageID: string) => - (async () => messageInfos[messageID])(), + fetchMessageInfoByID: getLatestMessageEdit, userID, }); @@ -1192,7 +1191,7 @@ userID: string, devices: $ReadOnlyArray, ) => Promise, - +messageInfos: { +[id: string]: RawMessageInfo }, + +getLatestMessageEdit: (messageID: string) => Promise, +auxUserInfos: AuxUserInfos, +notifCreationData: ?{ +messageDatasWithMessageInfos: $ReadOnlyArray<{ @@ -1214,7 +1213,7 @@ senderDeviceDescriptor, olmSessionCreator, notifCreationData, - messageInfos, + getLatestMessageEdit, auxUserInfos, userInfos, getENSNames, @@ -1222,9 +1221,9 @@ } = inputData; const { pushInfos } = await getPushUserInfo( - messageInfos, - auxUserInfos, notifCreationData, + auxUserInfos, + getLatestMessageEdit, ); if (!pushInfos) { diff --git a/lib/push/utils.js b/lib/push/utils.js --- a/lib/push/utils.js +++ b/lib/push/utils.js @@ -97,7 +97,7 @@ +messageDatas: $ReadOnlyArray, +threadsToMessageIndices: $ReadOnlyMap, +userNotMemberOfSubthreads: Set, - +fetchMessageInfoByID: (messageID: string) => Promise, + +fetchMessageInfoByID: (messageID: string) => Promise, +userID: string, }; export type FetchMessageNotifyTypeReturnInstance = {