oudecheng
c749df4e0a
fix(web): WebSocket 断连时清理流式状态,防止重连后消息串流
流式优化引入的回归风险:当 WebSocket 在流式输出中途断连时,
streamingRef(contentChunks/index)不会被重置。重连后新消息的
delta 会通过 s.index >= 0 分支追加到旧消息的错误位置。
修复链路:useWebSocket 的 onDisconnect 回调 → useChat 的
finishStreaming → useMessages 的 finishStreaming(重置 ref +
flush pending chunks)。
- useMessages.ts: 在 UseMessagesReturn 接口和 return 对象暴露
finishStreaming(原为内部函数)
- useChat.ts: 在返回对象透传 finishStreaming
- App.tsx: useWebSocket 调用新增 onDisconnect 回调触发 finishStreaming
- useChat.test.ts: 新增用例 17 验证断连后新 delta 不污染旧消息
2026-08-07 08:33:48 +08:00
..
2026-06-08 14:43:47 +08:00
2026-08-07 08:33:48 +08:00
2026-05-26 17:43:15 +08:00
2026-08-03 23:24:02 +08:00
2026-08-03 23:24:02 +08:00
2026-08-03 23:24:02 +08:00
2026-06-08 14:43:47 +08:00
2026-08-03 23:24:02 +08:00
2026-08-03 23:24:02 +08:00
2026-05-26 17:43:15 +08:00
2026-05-26 17:43:15 +08:00
2026-05-26 17:43:15 +08:00
2026-05-26 17:43:15 +08:00
2026-06-15 17:22:32 +08:00
2026-07-08 11:24:10 +08:00