From bd6be89d57b7898fba5d343aef42ef214109e1fb Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Thu, 16 Jun 2022 15:25:55 +0530 Subject: [PATCH] fix: ack before sending retry receipt --- src/Socket/messages-recv.ts | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index 78144f9..05ac438 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -345,8 +345,6 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { } const handleReceipt = async(node: BinaryNode) => { - let shouldAck = true - const { attrs, content } = node const isNodeFromMe = areJidsSameUser(attrs.participant || attrs.from, authState.creds.me?.id) const remoteJid = !isNodeFromMe || isJidGroup(attrs.from) ? attrs.from : attrs.recipient @@ -399,9 +397,10 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { })) ) } - } + await sendMessageAck(node) + if(attrs.type === 'retry') { // correctly set who is asking for the retry key.participant = key.participant || attrs.from @@ -412,7 +411,6 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { await sendMessagesAgain(key, ids) } catch(error) { logger.error({ key, ids, trace: error.stack }, 'error in sending message again') - shouldAck = false } } else { logger.info({ attrs, key }, 'recv retry for not fromMe message') @@ -421,10 +419,6 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { logger.info({ attrs, key }, 'will not send message again, as sent too many times') } } - - if(shouldAck) { - await sendMessageAck(node) - } } ) }