From c0ca27dc2f527f39f981eb91b605a48bcc9a65e1 Mon Sep 17 00:00:00 2001 From: Adhiraj Date: Mon, 5 Oct 2020 22:40:15 +0530 Subject: [PATCH] loadMessages bug fix --- src/Tests/Tests.Messages.ts | 14 ++++++++------ src/WAConnection/7.MessagesExtra.ts | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Tests/Tests.Messages.ts b/src/Tests/Tests.Messages.ts index 4c152de..d58da16 100644 --- a/src/Tests/Tests.Messages.ts +++ b/src/Tests/Tests.Messages.ts @@ -194,15 +194,17 @@ WAConnectionTest('Messages', conn => { for (let i = 0; i < messages.length;i++) { assert.deepEqual (messages[i].key, msgs[i].key, `failed equal at ${i}`) } - - cursor = results[0].messages[2].key + for (let i = 0; i < 3;i++) { + cursor = results[0].messages[i].key - msgs = await conn.fetchMessagesFromWA (testJid, 20, cursor) - messages = (await conn.loadMessages (testJid, 20, cursor)).messages - for (let i = 0; i < messages.length;i++) { - assert.deepEqual (messages[i].key, msgs[i].key, `failed equal at ${i}`) + msgs = await conn.fetchMessagesFromWA (testJid, 20, cursor) + messages = (await conn.loadMessages (testJid, 20, cursor)).messages + for (let i = 0; i < messages.length;i++) { + assert.deepEqual (messages[i].key, msgs[i].key, `failed equal at ${i}`) + } } + }) it('should deliver a message', async () => { const waitForUpdate = diff --git a/src/WAConnection/7.MessagesExtra.ts b/src/WAConnection/7.MessagesExtra.ts index fb21786..9546153 100644 --- a/src/WAConnection/7.MessagesExtra.ts +++ b/src/WAConnection/7.MessagesExtra.ts @@ -117,7 +117,7 @@ export class WAConnection extends Base { messages = messages.slice(-count) // get the last X messages } else if (diff > 0) { let fepoch = (messages[0] && messages[0]['epoch']) || 0 - const extra = await retreive (diff, messages[0]?.key) + const extra = await retreive (diff, messages[0]?.key || cursor) // add to DB for (let i = extra.length-1;i >= 0; i--) { const m = extra[i]