2.8 KiB
2.8 KiB
id, title, phase, deps, status, created, owner
| id | title | phase | deps | status | created | owner | |||
|---|---|---|---|---|---|---|---|---|---|
| T-405 | 设置浏览器 executable 选择与可感知搜索反馈 | 4 |
|
DOING | 2026-07-27 | codex |
需求与背景
设置页的 Chrome 与 Edge executable 路径已经展示“选择”和“搜索”操作,但 Chrome/Edge 的“选择”点击后只写入一条全局提示,没有调用任何文件选择器。标准安装路径搜索能够在后台发现本机浏览器,不过默认路径通常已预填为相同值,成功提示又位于需要滚动才可见的页面下方,用户会误以为两个操作都没有反应。
方案与边界
- 在
internal/platform/files新增ExecutablePicker,Windows 实现使用原生OpenFileDialog,只允许已有的绝对.exe结果;非 Windows 实现返回明确的不支持错误。它不发现、启动、检查、接管或关闭浏览器进程。 - Gio shell 通过后台
ExecutableChooseradapter 调用选择器,并按 Chrome/EdgePathField、请求代次和取消上下文收取结果;UI frame 与点击回调不得执行系统 I/O。选择成功才覆盖相应 editor;取消、失败或非法结果保留原输入。 - Chrome 与 Edge 路径各自维护选择/搜索状态与字段级反馈。搜索开始、取消、更新、未找到和失败均在发起字段旁显示;搜索结果与当前值一致时明确显示“已确认当前路径可用”。页面底部的运行行为反馈不再承担路径操作的唯一可见反馈。
- 这是已确认 Gio 页面局部行为修复,不改变导航、布局信息架构或视觉组件体系;按
windows-ui-ux评审无需新 HTML 原型。仍需在真实 Windows GUI 中验证文件对话框、取消和同路径搜索反馈。
验收要点
- 自动化:为 Windows executable picker、无效/取消结果、Shell 选择结果及同路径搜索反馈新增单元测试;
go test ./...、go test -race ./cmd/chub ./internal/ui ./internal/platform/files、go vet ./...、go build -o build/chub.exe ./cmd/chub通过。 - Windows smoke:设置页 Chrome 与 Edge 的“选择”均打开原生文件选择器;选取
.exe后仅更新对应字段;取消、错误与非.exe结果保留字段输入。搜索标准安装路径时按钮短暂显示“取消”,命中默认路径也会在该字段旁显示确认文字;切换到实例页再返回后输入和反馈仍在。 - 安全与交互:不做全盘扫描,不记录完整路径以外的系统诊断,不进行浏览器进程枚举、启动、停止或接管;同字段重复点击不能并发打开多个对话框,迟到结果不能覆盖较新的同字段操作。
执行记录
- 状态:DOING
- 变更:已完成根因分析和需求、架构、API、用户故事、交互清单、原型验收说明的更新;待文档提交后实现。
- 验证:待执行。
- 阻塞:无。