用户于 2026-10-07 提出:打开 Chrome 时若调试端口被占用,顺位尝试下一个端口,避免仅因其他浏览器占用而弹窗失败。
scanFreePort 已可跳过占用端口;但 EnsureBrowser 随后的循环只要发现端口范围内另一个 CDP 浏览器,就无条件报错,未区分它是否使用本项目专属 Profile。
scanFreePort
EnsureBrowser
进程归属无法确认时停止启动,避免同一 Profile 双开;端口竞争或不可用时报告错误,不连接其他浏览器。可回退本次提交。
前置依赖:无。
实施完成,待用户验收。
--user-data-dir
go test ./... -count=1
python -m unittest discover -s tests -q
check --strict
sync --check
Troubleshooting
bb5e884ffc4c08b7b1872b251239268358a5f4ff
docs/06-troubleshooting.md
badb0dd
main
go.mod
go.sum
No dependencies set.
The note is not visible to the blocked user.
来源与目标
用户于 2026-10-07 提出:打开 Chrome 时若调试端口被占用,顺位尝试下一个端口,避免仅因其他浏览器占用而弹窗失败。
现状与根因
scanFreePort已可跳过占用端口;但EnsureBrowser随后的循环只要发现端口范围内另一个 CDP 浏览器,就无条件报错,未区分它是否使用本项目专属 Profile。范围与方案
风险与回退
进程归属无法确认时停止启动,避免同一 Profile 双开;端口竞争或不可用时报告错误,不连接其他浏览器。可回退本次提交。
验收
前置依赖:无。
实施完成,待用户验收。
scanFreePort后的旧校验把范围内任意 CDP 浏览器都视为专属 Profile 冲突。--user-data-dir;仅同一 Profile 且运行状态不可复用时拒绝双开。其他程序/其他 Profile 占用端口时继续使用范围内首个空闲端口;进程归属无法读取或范围全占满时明确失败。go test ./... -count=1全通过;python -m unittest discover -s tests -q55 项通过;Wails 构建通过;check --strict与sync --check通过;当前 Windows 上 62 个 Chrome 进程的命令行均可读取。未在真实 Chrome 启动过程中人为制造端口竞争,待使用者从界面验收。Troubleshooting已回读 revisionbb5e884ffc4c08b7b1872b251239268358a5f4ff,核心镜像docs/06-troubleshooting.md已同步并校验。badb0dd已推送main。本地既有go.mod、go.sum改动和未跟踪文件未纳入提交。[进行中] Chrome 调试端口被其他实例占用时顺位尝试to [待验收] Chrome 调试端口被其他实例占用时顺位尝试