修复: B-32+33 流式收尾清队列+回滚 running toolCall(走查 P0)

- B-32:四路径(onStreamTimeout in useAiStream / AiError case in useAiEvents / stopChat+approveToolCall catch in useAiSend)补 state.queue=[] 清队列——drainQueue 仅 AiCompleted 触发,此前三路径不清致生成中入队消息静默丢失。
- B-33:onStreamTimeout 合并单遍扫描回滚 status===running toolCall→rejected(B-260615-07 残留)——approveToolCall 乐观置 running,后端 hang 时看门狗只复位 streaming 不碰 toolCalls 致卡片永久骨架屏无重审入口,现回滚恢复。
批2 wjg2t6j8d,vue-tsc 0 err
This commit is contained in:
2026-06-15 05:30:06 +08:00
parent 8720b9424d
commit f93b7584ff
3 changed files with 18 additions and 7 deletions

View File

@@ -218,6 +218,7 @@ export function handleEvent(event: AiChatEvent) {
state.streaming = false
state.generatingConvId = null
state.currentText = ''
state.queue = [] // B-32:错误收尾清队列,防生成中入队的消息被静默丢失(drainQueue 仅 AiCompleted 触发)
localStorage.removeItem('df-ai-gen')
localStorage.removeItem('df-ai-text')
state.messages.push({