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 => {