From cf06327e01933d792efeacb4300d60a8d73606c2 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Thu, 1 Oct 2026 14:16:52 -0400 Subject: [PATCH] perf(messageslist): append a new message without rebuilding the items --- internal/ui/chat/messageslist/model.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/ui/chat/messageslist/model.go b/internal/ui/chat/messageslist/model.go index abc0335..a970224 100644 --- a/internal/ui/chat/messageslist/model.go +++ b/internal/ui/chat/messageslist/model.go @@ -198,8 +198,11 @@ func (ml *Model) setMessages(messages []discord.Message) { } func (ml *Model) AddMessage(message discord.Message) tview.Cmd { + // Appending keeps the items before it as they are, so only the separator of a new day is added rather than all rebuilt. + if ml.cfg.DateSeparator.Enabled && (len(ml.items) == 0 || !sameLocalDate(ml.items[len(ml.items)-1].message.Timestamp, message.Timestamp)) { + ml.items = append(ml.items, messageItem{separator: true, timestamp: message.Timestamp}) + } ml.items = append(ml.items, messageItem{message: message}) - ml.rebuildItems() return ml.loadPreviews() }