diff options
Diffstat (limited to 'src/state/messages/convo.ts')
-rw-r--r-- | src/state/messages/convo.ts | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/src/state/messages/convo.ts b/src/state/messages/convo.ts index fe2095c46..a65e0c486 100644 --- a/src/state/messages/convo.ts +++ b/src/state/messages/convo.ts @@ -710,8 +710,11 @@ export class Convo { getItems(): ConvoItem[] { const items: ConvoItem[] = [] - // `newMessages` is in insertion order, unshift to reverse - this.newMessages.forEach(m => { + this.headerItems.forEach(item => { + items.push(item) + }) + + this.pastMessages.forEach(m => { if (ChatBskyConvoDefs.isMessageView(m)) { items.unshift({ type: 'message', @@ -729,27 +732,7 @@ export class Convo { } }) - // `newMessages` is in insertion order, unshift to reverse - this.pendingMessages.forEach(m => { - items.unshift({ - type: 'pending-message', - key: m.id, - message: { - ...m.message, - id: nanoid(), - rev: '__fake__', - sentAt: new Date().toISOString(), - sender: this.sender, - }, - nextMessage: null, - }) - }) - - this.footerItems.forEach(item => { - items.unshift(item) - }) - - this.pastMessages.forEach(m => { + this.newMessages.forEach(m => { if (ChatBskyConvoDefs.isMessageView(m)) { items.push({ type: 'message', @@ -767,7 +750,22 @@ export class Convo { } }) - this.headerItems.forEach(item => { + this.pendingMessages.forEach(m => { + items.push({ + type: 'pending-message', + key: m.id, + message: { + ...m.message, + id: nanoid(), + rev: '__fake__', + sentAt: new Date().toISOString(), + sender: this.sender, + }, + nextMessage: null, + }) + }) + + this.footerItems.forEach(item => { items.push(item) }) |