From 85160c2d29b171e6f628f5ca94cefbf1e51ebd4f Mon Sep 17 00:00:00 2001 From: "ruichao.hu" Date: Tue, 11 Mar 2025 15:58:27 +0800 Subject: [PATCH] fix(sendMessage): optimize message slicing logic - prevents empty context when message ID isn't found in history array --- src/renderer/src/store/messages.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/store/messages.ts b/src/renderer/src/store/messages.ts index d95837c7..8d60814f 100644 --- a/src/renderer/src/store/messages.ts +++ b/src/renderer/src/store/messages.ts @@ -334,14 +334,12 @@ export const sendMessage = // 节流 const throttledDispatch = throttle(handleResponseMessageUpdate, 100, { trailing: true }) // 100ms的节流时间应足够平衡用户体验和性能 + const messageIndex = messages.findIndex((m) => m.id === assistantMessage.id) await fetchChatCompletion({ message: { ...assistantMessage }, messages: messages .filter((m) => !m.status?.includes('ing')) - .slice( - 0, - messages.findIndex((m) => m.id === assistantMessage.id) - ), + .slice(0, messageIndex !== -1 ? messageIndex : undefined), assistant: assistantWithModel, onResponse: async (msg) => { // 允许在回调外维护一个最新的消息状态,每次都更新这个对象,但只通过节流函数分发到Redux