程序员阿江(Relakkes)
892f5e193a
fix(desktop): restore permission mode after exiting plan mode (#623)
桌面端用 bypassPermissions 进入计划模式、退出后,权限选择器停留在"计划模式",
导致下一个工具调用又弹权限申请。两层根因都修:
- 回传链路断裂:服务端 WS handler 把 CLI 广播的权限模式变化(status:null +
permissionMode)当成 thinking 丢弃,桌面端协议也没有承载权限模式的入站消息,
CLI 恢复后的权限永远同步不到 UI。新增 permission_mode_changed 回传通道,桌面端
据此校正选择器(只更新本地、不回发避免回环;未知模式忽略)。
- 重启抹掉 prePlanMode:bypass→plan 因策略"切换涉及 bypass 就重启"而重启 CLI,
新进程直接以 plan 启动、prePlanMode 为空,ExitPlanMode 只能恢复成 default 而非
bypassPermissions。收窄 needsRestart 为只在"进入 bypass"时重启;从 bypass 切出
保持进程不变、走进程内 transition,CLI 才会栈存 prePlanMode 并在退出 plan 时
正确恢复 bypass,与 TUI 行为一致。
测试:服务端 ws-memory-events 新增权限回传 + 重启策略用例;桌面端 chatStore 新增
回传校正 + 防回环 + 未知模式忽略用例。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 22:29:01 +08:00
..
2026-06-04 20:12:54 +08:00
2026-05-05 20:10:04 +08:00
2026-05-18 13:13:12 +08:00
2026-06-04 20:12:45 +08:00
2026-05-22 19:16:45 +08:00
2026-05-22 19:16:45 +08:00
2026-05-22 19:16:45 +08:00
2026-06-01 22:43:16 +08:00
2026-06-01 22:43:16 +08:00
2026-06-03 19:22:05 +08:00
2026-05-31 17:40:45 +08:00
2026-06-03 15:11:47 +08:00
2026-05-25 16:09:31 +08:00
2026-05-31 17:42:30 +08:00
2026-06-04 20:12:45 +08:00
2026-05-07 00:04:06 +08:00
2026-05-25 16:09:31 +08:00
2026-05-24 01:07:46 +08:00
2026-06-02 22:42:53 +08:00
2026-06-02 22:42:53 +08:00
2026-05-24 01:23:41 +08:00
2026-04-18 17:01:53 +08:00
2026-05-02 17:53:24 +08:00
2026-06-03 19:22:05 +08:00
2026-06-02 21:37:35 +08:00
2026-05-25 20:28:00 +08:00
2026-05-13 18:18:02 +08:00
2026-06-02 21:37:35 +08:00
2026-06-04 20:12:45 +08:00
2026-05-13 18:09:35 +08:00
2026-06-01 00:35:55 +08:00
2026-05-14 22:42:30 +08:00
2026-05-25 17:32:15 +08:00
2026-06-03 10:05:47 +08:00
2026-05-20 00:11:22 +08:00
2026-06-03 10:05:47 +08:00
2026-06-01 22:43:16 +08:00
2026-06-04 22:27:04 +08:00
2026-05-06 11:39:10 +08:00
2026-06-01 00:11:44 +08:00
2026-04-09 16:45:51 +08:00
2026-05-08 09:49:16 +08:00
2026-05-31 17:42:09 +08:00
2026-05-31 17:42:30 +08:00
2026-05-25 17:32:15 +08:00
2026-06-03 19:22:05 +08:00
2026-04-18 20:34:56 +08:00
2026-05-18 13:13:12 +08:00
2026-06-03 11:22:29 +08:00
2026-06-01 22:43:16 +08:00
2026-05-25 23:23:15 +08:00
2026-05-25 16:09:31 +08:00
2026-06-04 22:29:01 +08:00