From 088bae44e801d72b29ebade263880a6e2e63ac3a Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Sun, 21 Nov 2021 21:39:31 +0530 Subject: [PATCH] fix: correctly map left group notification --- src/Socket/messages-recv.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index 0bb090c..97d7b12 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -311,7 +311,18 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { case 'leave': const stubType = `GROUP_PARTICIPANT_${child.tag!.toUpperCase()}` result.messageStubType = WAMessageStubType[stubType] - result.messageStubParameters = getBinaryNodeChildren(child, 'participant').map(p => p.attrs.jid) + + const participants = getBinaryNodeChildren(child, 'participant').map(p => p.attrs.jid) + if( + participants.length === 1 && + // if recv. "remove" message and sender removed themselves + // mark as left + areJidsSameUser(participants[0], node.attrs.participant) && + child.tag === 'remove' + ) { + result.messageStubType = WAMessageStubType.GROUP_PARTICIPANT_LEAVE + } + result.messageStubParameters = participants break case 'subject': result.messageStubType = WAMessageStubType.GROUP_CHANGE_SUBJECT