docs: define cancellable path search task

This commit is contained in:
QiuSW
2026-07-22 15:49:55 +08:00
parent e4dd261abe
commit a3b766f276
3 changed files with 40 additions and 1 deletions
+1
View File
@@ -28,6 +28,7 @@
| T-203 | CLI 合约和本地事件推送 | T-103 | DONE | | T-203 | CLI 合约和本地事件推送 | T-103 | DONE |
| T-204 | UI 全状态验收与 Windows 打包 smoke | T-201,T-202,T-203 | DONE | | T-204 | UI 全状态验收与 Windows 打包 smoke | T-201,T-202,T-203 | DONE |
| T-205 | 设置路径字段增加 Label、选择和搜索操作 | T-201 | DONE | | T-205 | 设置路径字段增加 Label、选择和搜索操作 | T-201 | DONE |
| T-206 | 左侧导航、可取消路径搜索与新建实例表单语义 | T-205 | TODO |
## Backlog ## Backlog
+1 -1
View File
@@ -7,7 +7,7 @@
- 代码:已建立 Go module `chub`、`cmd/chub` 入口、logging 测试基座、浏览器 domain/application 合约、Chrome/Edge 参数/发现模块、启动 registry、Windows 身份/占用检查、优雅关闭、Job Object、真实 Chrome/Edge smoke、JSON 配置存储、启动恢复、CLI JSON 合约、应用内事件总线、UI 状态测试和 Windows smoke 脚本,T-001 至 T-003、T-101 至 T-104、T-201 至 T-205 已完成 - 代码:已建立 Go module `chub`、`cmd/chub` 入口、logging 测试基座、浏览器 domain/application 合约、Chrome/Edge 参数/发现模块、启动 registry、Windows 身份/占用检查、优雅关闭、Job Object、真实 Chrome/Edge smoke、JSON 配置存储、启动恢复、CLI JSON 合约、应用内事件总线、UI 状态测试和 Windows smoke 脚本,T-001 至 T-003、T-101 至 T-104、T-201 至 T-205 已完成
- UI:已接入 Gio v0.10.1 双页桌面壳;设置页四个路径字段均有 Label、输入框、选择按钮和搜索按钮,并提供操作反馈;CLI `list/events` 已可用,`start/stop/restart` 等待 BrowserManager adapter - UI:已接入 Gio v0.10.1 双页桌面壳;设置页四个路径字段均有 Label、输入框、选择按钮和搜索按钮,并提供操作反馈;CLI `list/events` 已可用,`start/stop/restart` 等待 BrowserManager adapter
- 浏览器核心:设计参考来自 `D:\OPC\shop_helm\internal\platform\chrome`,尚未复制或接入本项目 - 浏览器核心:设计参考来自 `D:\OPC\shop_helm\internal\platform\chrome`,尚未复制或接入本项目
- blocker:无;下一步可进入 BrowserManager application adapter 和真实 UI 交互接线。 - blocker:无;下一个任务为 T-206(左侧导航、可取消路径搜索与新建实例表单语义)。
## 当前目录 ## 当前目录
+38
View File
@@ -0,0 +1,38 @@
---
id: T-206
title: 左侧导航、可取消路径搜索与新建实例表单语义
phase: 2
deps: [T-205]
status: TODO
created: 2026-07-22
owner: codex
---
## 需求与背景
用户要求把顶级“实例/设置”导航移到窗口左侧,移除“Chub 浏览器管理”顶栏文字;设置路径的搜索必须可取消,并且切换页面后保留输入和搜索状态。新建实例表单需要明确 Label、目录选择入口和互斥浏览器选择。
## 方案与边界
- 使用稳定 page ID 和同一 `Shell` 保存设置输入、搜索任务状态、创建表单输入和当前页面;切换实例/设置不重建这些状态。
- 每个路径字段拥有独立的搜索任务 ID、`context.CancelFunc` 和结果通道。运行中按钮显示“取消”;再次点击取消任务并忽略迟到结果。
- 浏览器可执行文件搜索使用已有标准安装位置发现器;目录搜索仅验证当前输入路径,避免默认全盘扫描。所有搜索在 goroutine 中运行,结果回到 UI 帧处理。
- 左侧导航只有“实例”和“设置”,页面内容区保留自身标题。窄窗口时导航与内容可重排,但不丢失页面状态。
- 新建实例表单增加“实例名称”“User Data Dir”“启动 URL(可选,仅支持 http/https)”Label;User Data Dir 有选择按钮;浏览器种类使用 RadioButton 单选组。
- 原生 Windows 文件/目录选择器不在本任务引入;选择按钮提供明确的待接入反馈,后续通过异步 platform adapter 接入。
## 验收要点
- 搜索点击后对应按钮显示“取消”,再次点击取消该字段任务;其他字段不受影响。
- 搜索完成、失败或取消均显示文字反馈,旧任务结果不能覆盖新任务或取消后的值。
- 切换到实例页再返回设置页,路径文本、搜索状态和反馈仍保留。
- 左侧导航不显示“Chub 浏览器管理”;新建实例使用 Label、路径选择和 RadioButton。
- `go test ./...`、`go vet ./...`、`go build -o build/chub.exe ./cmd/chub` 通过。
## 执行记录
- 状态:TODO
- 变更:已建立任务与交互/异步状态契约。
- 验证:待实现。
- 阻塞:无。
- 残余风险:真实原生文件夹选择器需要后续 Windows platform adapter。