furao
|
0aaa1abff8
|
[router] 修复: 同项目双实例不再两个都改名,startedAt 最新者保 base 名
同 projectPath 双实例(spawn 竞态僵尸)进普通撞名改名会被改成
<base>-<路径末段>/-2,没人保住 base 名,<base>__* 前缀路由全部失配
(2026-06-11 forest 96802/26426 事故)。改为组内 startedAt 最新者
作代表参与命名,其余改名 <base>-dup<pid> 并打告警。
|
2026-06-11 15:56:48 +08:00 |
|
furao
|
2526bc3beb
|
[mcp] 修复: restart-package 对任意扩展生效(disable/enable 须传注册路径)
Editor.Package.disable/enable 的参数是扩展绝对路径不是 name(typings:
enable(path)/disable(path, options)), 传 name 会 disable 静默不生效 +
enable 报 "[Package] Unknown and unable to start", 旧实例(含其 http
server 等资源)永久泄漏。改为 getPackages 按 name 反查 path 再调用;
传入已是路径则直接用。实测 guide-editor 按名 reload 后 unload→load
完整执行, 8099 监听 socket 换新
|
2026-06-11 14:37:24 +08:00 |
|
furao
|
b180bd290b
|
[router] 修复: editor spawn/restart 加跨进程锁与调试现场保护
- spawn 锁: 注册目录 per-projectPath lockfile (wx 原子创建, 死持有者可夺锁),
串行化 kill→spawn→ready, 防多 agent 并发重启造成同项目双开
- restart 在旧进程 SIGKILL 后仍存活时中止, 不再带病 spawn
- spawn 幂等检查加 ps 抓 --project 兜注册表盲区 (已拉起未注册的启动中实例)
- restart/kill 前数预览端口 ESTABLISHED 连接, 有调试现场默认拒绝, force:true 强制
|
2026-06-11 14:20:17 +08:00 |
|
furao
|
a0f71ce8f9
|
[router] 修复: editor 慢启动后激活的工具不推送给 claude
discover 周期重扫已有,但两个 bug 让 claude 永远停在初次 tools/list 旧快照:
1. 已缓存 editor 不 re-probe(146 行 continue)——大项目 editor 慢启动(builder
worker 没就绪)首次只 probe 到部分工具,asset-db 就绪后工具激活也不刷新
2. 声明 capabilities.tools.listChanged=true 却从不真发 notifications/tools/list_changed
修复:每周期 re-probe(probe 失败保留旧缓存)+ 工具签名变化时发 list_changed
(clientInitialized 后)。spawn router 实测 tools/list 正确暴露 33 工具(25 forest__ + 8 router)。
|
2026-06-11 11:39:30 +08:00 |
|
furao
|
ef642031e6
|
[mcp] 修复: 支持 CLI 打开项目和资源转发
|
2026-06-08 15:57:34 +08:00 |
|