Files

2.4 KiB
Raw Permalink Blame History

id, title, phase, deps, status, created, owner
id title phase deps status created owner
T-301 接入 GUI 启动操作与实例删除确认 3
T-204
T-208
DONE 2026-07-22 codex

需求与背景

实例列表的启动图标当前只显示“等待 BrowserManager 接入”的反馈,未调用浏览器启动器;删除图标会立即移除记录,用户无法确认操作对象和影响。

方案与边界

  • Gio Shell 定义异步实例启动回调,点击后将该行置为“启动中”,结果回到 UI 线程后显示“运行中”或“启动失败”;重复点击同一行不重复发起启动。
  • 组合根(cmd/chub)使用已验证的 browser.NewOSLauncher、浏览器发现器和当前设置中的可执行文件构造 LaunchSpec;UI 不直接执行 I/O 或 exec。
  • 启动 URL 保持可选:为空时不附加 URL 参数,让浏览器打开默认页。
  • 删除先显示窗口级确认弹层,明确实例名称和“不会删除 User Data Dir”;取消不改变记录,确认后才移除并持久化实例配置。
  • 本任务只接入启动与实例配置删除,不实现关闭、重启、外部进程接管或 CLI BrowserManager adapter。

验收要点

  • 启动 Chrome/Edge 时浏览器进程实际被启动,UI 显示启动中、运行中或可恢复的失败信息。
  • 同一实例启动中再次点击不会创建第二个启动请求。
  • 删除弹层提供“取消”和“删除”;取消保留记录,确认后只删除 Chub 实例配置,保留 User Data Dir。
  • 新建和删除实例都会同步到本地配置。
  • go test ./...、go vet ./...、Windows build/smoke 通过。

执行记录

  • 状态:DONE
  • 变更:Gio Shell 新增异步启动命令、行级“启动中/运行中/启动失败”状态和重复提交防护;删除图标改为窗口级确认弹层。组合根将启动命令接到 browser.NewOSLauncher 与浏览器发现器;新建/删除实例同步保存配置,保留已有 profile、代理和额外参数。空 URL 现在表示不传 URL 参数,浏览器打开默认页。
  • 验证:gofmt、go test ./...、go vet ./...、scripts/smoke-browser.ps1(真实 Chrome/Edge)和 scripts/smoke-windows.ps1 均通过。
  • 阻塞:无。
  • 残余风险:实际浏览器启动仍受本机可执行文件、目录权限和 profile 占用状态影响;关闭、重启、退出状态回传和 CLI BrowserManager adapter 尚未接入。