diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 2703d6578..0c8a49fe5 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -975,20 +975,7 @@ } } - if ($chatId == _chatId) { - if (!$temporaryChatEnabled) { - chat = await updateChatById(localStorage.token, _chatId, { - messages: messages, - history: history, - models: selectedModels, - params: params, - files: chatFiles - }); - - currentChatPage.set(1); - await chats.set(await getChatList(localStorage.token, $currentChatPage)); - } - } + await saveChatHandler(_chatId); } else { if (res !== null) { const error = await res.json(); @@ -1518,7 +1505,23 @@ }); }; - const mergeResponses = async (messageId, responses) => { + const saveChatHandler = async (_chatId) => { + if ($chatId == _chatId) { + if (!$temporaryChatEnabled) { + chat = await updateChatById(localStorage.token, _chatId, { + messages: messages, + history: history, + models: selectedModels, + params: params, + files: chatFiles + }); + + currentChatPage.set(1); + await chats.set(await getChatList(localStorage.token, $currentChatPage)); + } + } + }; + const mergeResponses = async (messageId, responses, _chatId) => { console.log('mergeResponses', messageId, responses); const message = history.messages[messageId]; const mergedResponse = { @@ -1554,6 +1557,8 @@ scrollToBottom(); } } + + await saveChatHandler(_chatId); } else { console.error(res); } diff --git a/src/lib/components/chat/Messages/MultiResponseMessages.svelte b/src/lib/components/chat/Messages/MultiResponseMessages.svelte index 7a760f07a..d127d4f7d 100644 --- a/src/lib/components/chat/Messages/MultiResponseMessages.svelte +++ b/src/lib/components/chat/Messages/MultiResponseMessages.svelte @@ -122,7 +122,7 @@ const { messages } = groupedMessages[modelIdx]; return messages[groupedMessagesIdx[modelIdx]].content; }); - mergeResponses(currentMessageId, responses); + mergeResponses(currentMessageId, responses, chatId); }; onMount(async () => {