File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# TestPilot AI 开发备忘录
22
3- > 最后更新:2026-04-01(✅ v1.5.5 修复三大Bug:重复注入/停止命令/Playwright浏览器 )
3+ > 最后更新:2026-04-02(修复并发下载EBUSY + 断开引擎后自动重连 )
44> 项目结构详见 README.md,此处不重复。
55
66---
77
8+ ## ✅ v1.5.5 补丁修复(2026-04-02)
9+
10+ ### 问题4:首次安装 spawn EBUSY
11+
12+ ** 现象** :引擎下载完成后启动报 ` spawn EBUSY ` 。日志出现两次"开始下载"。
13+
14+ ** 根因** :插件激活时自动调用 ` ensureRunning() ` + 用户点按钮也调用,两个并发下载写同一个文件,
15+ 下载完 Windows Defender 扫描锁住文件导致 spawn 失败。
16+
17+ ** 修复** (` engineManager.ts ` ):
18+ - 加 ` _ensureRunningPromise ` 互斥锁,第二次调用复用第一次 Promise
19+ - rename 前先 unlink 旧文件
20+ - spawn 遇 EBUSY 时等 3 秒重试最多 3 次
21+
22+ ### 问题5:断开引擎后又自动连接
23+
24+ ** 现象** :点"断开引擎"后,状态立刻变回"已连接"。
25+
26+ ** 根因** :` dispose() ` 只杀 ` this._engineProc ` (跨 reload 后引用丢失变 null),
27+ sidebar 每 5 秒轮询 health 发现引擎还活着就显示已连接。
28+
29+ ** 修复** :
30+ - ` engineManager.ts ` :dispose 增加 ` _killExistingEngine() ` 通过端口杀外部进程
31+ - ` sidebarProvider.ts ` :加 ` _userStopped ` 标记,stopEngine 时设置,轮询时跳过检测
32+ - ` extension.ts ` :stopEngine 设 ` setUserStopped(true) ` ,launchEngine 时清除
33+
34+ ---
35+
836## ✅ v1.5.5 修复三大用户体验Bug(2026-04-01)
937
1038### 问题1:规则每次打开都重复注入
You can’t perform that action at this time.
0 commit comments