From 5d5f10b2d8d8f040a3ff01fed52b0a51c4e9bea2 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Tue, 28 Apr 2026 23:34:46 -0400 Subject: [PATCH] fix(chat): preserve messages array during chat update Object.assign was overwriting the existing messages array before the ternary fallback could reference it. Capture the reference beforehand. --- frontend/src/components/chatManager.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/chatManager.ts b/frontend/src/components/chatManager.ts index 32048f5..ac6a6a3 100644 --- a/frontend/src/components/chatManager.ts +++ b/frontend/src/components/chatManager.ts @@ -152,10 +152,13 @@ Alpine.data('chatManager', () => ({ chat = { ...chunk.chat, messages: chunk.chat.messages || [] }; this.chats.unshift(chat); } else { + // Preserve Messages - Object.assign would overwrite the existing + // messages array before we can check whether the chunk has any. + const existingMessages = chat.messages; Object.assign(chat, chunk.chat); chat.messages = chunk.chat.messages?.length ? chunk.chat.messages - : chat.messages; + : existingMessages; } this.selectedChatID = chunk.chat.id; this.updateHash(chunk.chat.id);