From aac613094cecd40b3fe53894351cf3f7c83d4b14 Mon Sep 17 00:00:00 2001 From: Adhiraj Date: Tue, 25 Aug 2020 17:54:52 +0530 Subject: [PATCH] load message bug fix --- src/Tests/Tests.Misc.ts | 8 ++++++++ src/WAConnection/7.MessagesExtra.ts | 11 ++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Tests/Tests.Misc.ts b/src/Tests/Tests.Misc.ts index d0bc10f..bf06015 100644 --- a/src/Tests/Tests.Misc.ts +++ b/src/Tests/Tests.Misc.ts @@ -116,6 +116,14 @@ WAConnectionTest('Misc', (conn) => { assert.ok (response.messages.length >= 0) } }) + it('should load a single message', async () => { + const {messages} = await conn.loadMessages (testJid, 10) + for (var message of messages) { + const loaded = await conn.loadMessage (testJid, message.key.id) + assert.equal (loaded.key.id, message.key.id) + await delay (1000) + } + }) it('should update presence', async () => { const presences = Object.values(Presence) diff --git a/src/WAConnection/7.MessagesExtra.ts b/src/WAConnection/7.MessagesExtra.ts index 7749134..7643dab 100644 --- a/src/WAConnection/7.MessagesExtra.ts +++ b/src/WAConnection/7.MessagesExtra.ts @@ -73,7 +73,7 @@ export class WAConnection extends Base { async loadMessages ( jid: string, count: number, - before: { id?: string; fromMe?: boolean } = null, + before?: { id?: string; fromMe?: boolean }, mostRecentFirst = true ) { jid = whatsappID(jid) @@ -149,14 +149,11 @@ export class WAConnection extends Base { async loadMessage (jid: string, messageID: string) { let messages: WAMessage[] try { - messages = (await this.loadMessages (jid, 1, {id: messageID, fromMe: true}, false)).messages + messages = (await this.loadMessages (jid, 1, {id: messageID, fromMe: true})).messages } catch { - messages = (await this.loadMessages (jid, 1, {id: messageID, fromMe: false}, false)).messages + messages = (await this.loadMessages (jid, 1, {id: messageID, fromMe: false})).messages } - var index = null - if (messages.length > 0) index = messages[0].key - - const actual = await this.loadMessages (jid, 1, index) + const actual = await this.loadMessages (jid, 1, messages[0] && messages[0].key, false) return actual.messages[0] } /** Query a string to check if it has a url, if it does, return required extended text message */