diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index b8dcfad..dc2abed 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -133,17 +133,18 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { } const sendRetryRequest = async(node: BinaryNode, forceIncludeKeys = false) => { - const msgId = node.attrs.id + const { id: msgId, participant } = node.attrs - let retryCount = msgRetryCache.get(msgId) || 0 + const key = `${msgId}:${participant}` + let retryCount = msgRetryCache.get(key) || 0 if(retryCount >= maxMsgRetryCount) { logger.debug({ retryCount, msgId }, 'reached retry limit, clearing') - msgRetryCache.del(msgId) + msgRetryCache.del(key) return } retryCount += 1 - msgRetryCache.set(msgId, retryCount) + msgRetryCache.set(key, retryCount) const { account, signedPreKey, signedIdentityKey: identityKey } = authState.creds