diff --git a/src/Store/make-in-memory-store.ts b/src/Store/make-in-memory-store.ts index f8d7a6b..477be1d 100644 --- a/src/Store/make-in-memory-store.ts +++ b/src/Store/make-in-memory-store.ts @@ -167,7 +167,16 @@ export default ( }) ev.on('messages.update', updates => { for(const { update, key } of updates) { - const list = assertMessageList(key.remoteJid!) + const list = assertMessageList(jidNormalizedUser(key.remoteJid!)) + if(update?.status) { + const listStatus = list.get(key.id!)?.status + if(listStatus && update?.status <= listStatus) { + logger.debug({ update, storedStatus: listStatus }, 'status stored newer then update') + delete update.status + logger.debug({ update }, 'new update object') + } + } + const result = list.updateAssign(key.id!, update) if(!result) { logger.debug({ update }, 'got update for non-existent message')