修 Web 终端页面加载不全,以及会话运行时、飞书卡片与 dashboard 的一批稳定性问题。
-
终端页面停在 connecting、报 ERR_INCOMPLETE_CHUNKED_ENCODING:反代在 worker 已结束响应、而浏览器侧仍有待发送字节时提前销毁连接,HTML 尾部和分块结束标记丢失。现在干净 EOF 交给 pipe() 完成发送再关闭,异常关闭仍立即销毁。慢链路,以及 worker 发完即被结束(daemon restart / quiet restart 后唤醒)两类场景都会触发,均已修复 (#1294)
-
宿主内存保护与会话进程树回收加固 (#1229)
-
claude hook:识别开发版平台二进制 (#1277);结构化识别 session-ready hook (#1276)
-
飞书卡片:拒绝 runtime session-id 缺值,避免静默落到错误会话 (#1274)
-
标题截断:避免拆开 Unicode 代理对 (#1275)
-
会话:已关闭行再次 close 仍落地 park 且不刷新 closedAt;钉住 origin-channel 隔离判定,修白板绑定的内存谎报
-
Companion:封闭本机管理协议 (#1271)
-
dashboard:支持宿主按机器人身份更新群名 (#1286)
-
session-manager:sender/mentions 搬进 hook envelope,用户输入只保留正文 (#998)
-
会话行命令统一 apply,CLI 与白板离线写走同一实现
-
CI 补 darwin 编译与签名校验腿
-
修 mojo close_result 的 IPC 竞态间歇失败 (#1290);消除 codex history ownership 用例的时序竞态 (#1293)
✨ 新功能
- session-manager: sender/mentions 搬进 hook envelope,用户输入只剩正文 (#998)
- dashboard: 支持宿主按机器人身份更新群名 (#1286)
- companion: 实现封闭本机管理协议 (#1271)
🐛 修复
- unicode: 避免标题截断拆开代理对 (#1275)
- cli: 阻止 autostart 帮助参数触发系统变更 (#1269)
- autostart: 过滤会话临时 PATH (#1272)
- card: 拒绝 runtime session-id 缺值 (#1274)
- claude-hook: 结构化识别 session-ready hook (#1276)
- runtime: harden host memory and screenshot uploads (#1229)
- claude-hook: 识别开发版平台二进制 (#1277)
- terminal-proxy: 等待响应发送完成后关闭连接 (#1294)
♻️ 重构
- session: 会话行命令统一 apply,CLI 与白板离线写改走同一实现(Stage 2) (#1280)
🔧 其它
- types: 收敛子进程 mock 返回类型 (#1279)
- release: 给 ci.yml 补 darwin 编译与签名校验腿 (8d804eb)
- flake: 修 mojo close_result 的 IPC 竞态间歇失败 (#1290)
- dashboard: 限定 CSS 断言到目标规则 (#1278)
- codex: 消除 history ownership 用例的时序竞态 (#1293)
🙏 感谢贡献者
@LucasIcarus @liuhaoyang @LPX-E5BD8 @leithda @hu5h @Phoobobo @liuyix @kunshanyep-beep
Full Changelog: v3.19.1...v3.19.3