0
代码介绍
代码
Issues
Pull Requests
流水线
Actions
讨论
Wiki
项目成员
分析
项目设置
0
  1. atomcode
  2. /
  3. webui
  4. /
  5. src
  6. /
  7. lib
saulcysaulcyfix(webui): 连续审批时第二个审批卡片不弹出导致任务卡死
0e23e515创建于 4 天前历史提交
文件最后提交记录最后更新时间
pendingPermission.ts
fix(webui): 连续审批时第二个审批卡片不弹出导致任务卡死 审批为「发了即返回」的 POST,后端收到决定后才跑工具、再在同一条 SSE 流上 推下一个 permission_request。当被批准的工具是瞬时的(如 Read_file 0.00s), 下一个请求会在决定 POST 仍在 await 时到达并占用唯一的 pending 槽位,而卡片 的 onDone 无条件 setPending(null),把这个它从未处理过的新请求清掉——第二个 工具永远停在「等待批准…」、卡片不再弹出,任务卡死。 修复:抽出纯函数 resolvePendingAfterDecision,仅当槽位仍是本卡片刚决定的 请求(按 call_id 匹配)时才清空;若已被更新的请求替换则保留它。实时(/live) 与非 sync(/chat) 两条路径同改,消除重复的同款缺陷。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> 4 天前