fix(sendMessage): optimize message slicing logic

- prevents empty context when message ID isn't found in history array
This commit is contained in:
ruichao.hu 2025-03-11 15:58:27 +08:00 committed by 亢奋猫
parent 4634c88f76
commit 85160c2d29

View File

@ -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