JianFeeeee
1692c615c6
fix(dsh): session_update 在插件重启后仍能定位活会话(权限热更新不再静默失效)
sessionMap 是纯内存表,插件重启后为空。而 session_update(人在 WebUI 改权限
档位)原来只查这张表 —— 于是「插件刚重启 + 那条会话还没收到新邮件」时,
那条更新被静默忽略:人在界面上把 full 改回 workspace,DSH 运行时仍按 full 执行。
人以为自己收紧了权限,实际上没有。
邮件新建的会话 id 是确定性的(mail-<邮件会话 id>,模型降级重试时带 -r<i>),
所以重启后可以按前缀在活会话里定位,并顺手把 sessionMap/reverseMap 补回去
—— 不补的话这条会话后续的自动转发也会一起失效。
- lib/mail-session-id.js(dsh 专用,9 例测试):id 派生与匹配的纯函数。
放宽成前缀匹配会把 mail-abcdef 误判成 mail-abc 的会话;非数字后缀
(-retry / -rx)也不匹配,避免误改别的会话的档位。
- 接管会话(adopted)仍是例外:其 DSH 会话 id 由平台生成、推不出来,
重启后无法热更新 —— 已知取舍;下次投递会按邮件里的 permission_mode 重设。
- tsconfig 清理:allowJs 原先写在根层(无效位置),移入 compilerOptions 后
会让 lib/*.js 进入 TS 程序并违反 rootDir;这些模块已有 .d.ts 提供类型,
该选项本就不需要,直接移除。
测试:dsh 358(新增 9)/ opencode 316 / pi 405 全绿。
2026-09-11 10:47:30 +08:00
..
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-04 11:14:44 +08:00
2026-09-04 11:14:44 +08:00
2026-09-06 15:18:06 +08:00
2026-09-06 15:18:06 +08:00
2026-09-06 15:18:06 +08:00
2026-09-02 22:47:31 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-11 10:47:30 +08:00
2026-09-11 10:47:30 +08:00
2026-09-02 20:05:51 +08:00
2026-09-02 20:05:51 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 21:10:48 +08:00
2026-09-03 21:10:48 +08:00
2026-09-06 15:16:49 +08:00
2026-09-06 15:16:49 +08:00
2026-09-06 15:18:06 +08:00
2026-09-06 15:18:06 +08:00
2026-09-06 15:16:34 +08:00
2026-09-06 15:16:34 +08:00
2026-09-04 23:52:52 +08:00
2026-09-04 23:52:52 +08:00
2026-09-03 15:01:52 +08:00
2026-09-08 19:16:35 +08:00
2026-09-03 12:09:12 +08:00
2026-09-03 12:09:12 +08:00
2026-09-11 10:27:41 +08:00
2026-09-11 10:27:41 +08:00
2026-09-11 10:44:18 +08:00
2026-09-11 10:44:18 +08:00
2026-09-02 20:28:19 +08:00
2026-09-02 20:28:19 +08:00