修复: aichat 切换/新建对话缺陷(队列串会话/回切丢消息/审批误终态化/删除复活/切换链路)
This commit is contained in:
@@ -316,3 +316,16 @@ export function clearConvStreamState(convId: string | null | undefined): void {
|
||||
if (!convId) return
|
||||
convStreamStates.delete(convId)
|
||||
}
|
||||
|
||||
// ── 切换中缓冲 ──
|
||||
//
|
||||
// 背景:后台会话(A)生成中,用户点击切换到 A(switchConversation await 往返期间),A 的
|
||||
// AiTextDelta 事件因 `convId !== activeConversationId` 被 handleEvent 的 isCurrent 守卫丢弃 →
|
||||
// 切换完成后回复缺前缀(切换窗口 token 丢失)。
|
||||
//
|
||||
// 本集合标记「正在被 switchConversation 拉取的目标 conv」:useAiEvents.handleEvent 对非当前
|
||||
// 会话的 AiTextDelta 若命中此集合,则累积到该 conv 的 per-conv 流式态(而非 drop);
|
||||
// 切换成功后由 switchConversation 恢复该流式文本续显,失败/过期路径丢弃(防陈旧重复)。
|
||||
//
|
||||
// 普通 Set(仅事件处理器读,无渲染追踪需求);生命周期由 switchConversation 的 finally 管理。
|
||||
export const switchingConvs = new Set<string>()
|
||||
|
||||
Reference in New Issue
Block a user