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);