From c87f06752d0bc45af08db047acbc766d7f319043 Mon Sep 17 00:00:00 2001 From: Adhiraj Date: Thu, 8 Oct 2020 20:07:51 +0530 Subject: [PATCH] Maintain epoch on message-update --- src/WAConnection/4.Events.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/WAConnection/4.Events.ts b/src/WAConnection/4.Events.ts index 7f494da..b982a66 100644 --- a/src/WAConnection/4.Events.ts +++ b/src/WAConnection/4.Events.ts @@ -44,9 +44,17 @@ export class WAConnection extends Base { const chat = this.chats.get(jid) if (!chat) return // reinsert to update - if (chat.messages.delete (message)) chat.messages.insert (message) - - this.emit ('message-update', message) + const oldMessage = chat.messages.get (WA_MESSAGE_ID(message)) + if (oldMessage) { + message['epoch'] = oldMessage['epoch'] + chat.messages.delete (oldMessage) + chat.messages.insert (message) + this.emit ('message-update', message) + } else { + chat.messages.insert (message) + this.emit ('message-new', message) + } + }) // If a user's contact has changed this.registerCallback (['action', null, 'user'], json => {