优化: 清理无意义注释(走查编号前缀/过时历史标注/死代码注释)
This commit is contained in:
@@ -29,7 +29,7 @@ import { nextMsgId, startApprovalTimer, clearApprovalTimer, clearAllApprovalTime
|
||||
/// 待发送队列上限(超过抛错提示用户)
|
||||
const QUEUE_LIMIT = 10
|
||||
|
||||
/// 排队超时阈值(ms) — 超过后弹 confirm 让用户选择"强制发送"或继续等(B-260616-02)
|
||||
/// 排队超时阈值(ms) — 超过后弹 confirm 让用户选择"强制发送"或继续等
|
||||
const QUEUE_TIMEOUT_MS = 30_000
|
||||
|
||||
/**
|
||||
@@ -134,7 +134,7 @@ async function doSend(text: string, skill?: string, force = false, parts?: Conte
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新生成最后一条 AI 回复(UX-02)。
|
||||
* 重新生成最后一条 AI 回复。
|
||||
*
|
||||
* 与 doSend 的区别:
|
||||
* - 不 push 新 user 消息(触发它的 user 消息已在历史末尾)
|
||||
@@ -190,7 +190,7 @@ async function regenerate() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑最后一条 user 消息并重新生成(UX-09)。
|
||||
* 编辑最后一条 user 消息并重新生成。
|
||||
*
|
||||
* 与 regenerate 的区别:
|
||||
* - regenerate:末条须是 assistant,pop 旧 AI 回复后重跑
|
||||
@@ -497,7 +497,7 @@ async function sendQueuedNow(index: number) {
|
||||
/** 停止当前生成:本地先复位 streaming,再发停止信号。
|
||||
* 不依赖后端 AiCompleted 收尾——审批态看门狗已 clear(useAiEvents),若 AiCompleted 竞态丢失则 streaming 永久 true 卡死,故本地兜底。
|
||||
*
|
||||
* UX-260617-19: stop IPC 失败时的兜底。本地已先置 streaming=false,但若 stop 信号未送达后端,
|
||||
* stop IPC 失败时的兜底。本地已先置 streaming=false,但若 stop 信号未送达后端,
|
||||
* 后端会继续生成并发回 delta/Completed 事件,与用户已感知的「已停止」语义冲突;更坏情况是
|
||||
* 后端 hang 既不收尾也不发事件(stop_flag 未置位、无 watchdog 兜底则无恢复路径)。
|
||||
* 故 stop 失败时不 clearStreamWatchdog,反而重启看门狗:后端若继续生成,活跃 delta 会不断重置它
|
||||
@@ -551,7 +551,7 @@ export function useAiSend() {
|
||||
}
|
||||
}
|
||||
|
||||
// ARC-06: 模块级监听 ai-drain-queue 事件(由 useAiEvents AiCompleted case 发射)
|
||||
// 模块级监听 ai-drain-queue 事件(由 useAiEvents AiCompleted case 发射)
|
||||
// 打破 useAiEvents ↔ useAiSend 循环依赖:events 不再直接 import 调用 drainQueue
|
||||
let _drainUnlisten: (() => void) | null = null
|
||||
export async function initDrainQueueListener(): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user