fix: call loadMessages multiple times

This commit is contained in:
Dayan C. Galiazzi
2020-09-07 13:01:40 -03:00
parent f9f109e134
commit 3d34a0e55c

View File

@@ -125,12 +125,14 @@ export class WAConnection extends Base {
return (response[2] as WANode[])?.map(item => item[2] as WAMessage) || []
}
const chat = this.chats.get (jid)
let messages: WAMessage[]
if (!before && chat && mostRecentFirst) {
messages = chat.messages
if (messages.length < count) {
const extra = await retreive (count-messages.length, messages[0]?.key)
const diff = count - messages.length
if (diff < 0) {
messages.splice(0, Math.abs(diff));
} else if (diff > 0) {
const extra = await retreive (diff, messages[0]?.key)
messages.unshift (...extra)
}
} else messages = await retreive (count, before)