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) || [] return (response[2] as WANode[])?.map(item => item[2] as WAMessage) || []
} }
const chat = this.chats.get (jid) const chat = this.chats.get (jid)
let messages: WAMessage[] let messages: WAMessage[]
if (!before && chat && mostRecentFirst) { if (!before && chat && mostRecentFirst) {
messages = chat.messages messages = chat.messages
if (messages.length < count) { const diff = count - messages.length
const extra = await retreive (count-messages.length, messages[0]?.key) if (diff < 0) {
messages.splice(0, Math.abs(diff));
} else if (diff > 0) {
const extra = await retreive (diff, messages[0]?.key)
messages.unshift (...extra) messages.unshift (...extra)
} }
} else messages = await retreive (count, before) } else messages = await retreive (count, before)