Repository navigation
修复
turn/start 前台打断后台复盘时,agents.create 收到的父 signal 会在 dsh 内部留下一条未接管的 promise 链,以同一个 AbortError reject 后成为进程级 unhandledRejection,被宿主当 fatal load failure 直接 exit(1)(表现为整页跳安全模式)。
agents.create不再传父 signal:abort 改由 create 后登记的onAbort → agent.cancel({kind:'parent'})传导;abort 落在 create 期间(issue 的一两秒窗口)由signal.aborted检查当场补 cancel,复盘安静让位,对外行为不变。被打断的 create 会完整跑完(约 1s),换宿主进程不被带崩。notifySourceSession挂住session.append的异步 rejection:dsh 的Session.append返回 promise,会话句柄已关闭时原同步 try/catch 接不住,走同一条致命路径;现在降级为 warn。
回归测试
- create 期间 abort 的时序(断言不传 signal、agent 被当场 cancel、零 unhandledRejection canary)
session.append异步 reject 降级为 warn(零 unhandledRejection canary)
node --test:100 passed / 0 failed。
Full Changelog: v0.3.1...v0.3.2