-
Notifications
You must be signed in to change notification settings - Fork 0
Issue 31 Validation
clean edited this page Sep 17, 2026
·
2 revisions
- 日期:2026-09-16
- Issue:https://github.com/ShaoClean/remote-git/issues/31
- PR:https://github.com/ShaoClean/remote-git/pull/33
- 设计依据:Issue #31 的 7 张浅色高保真稿
- 代码:db0b9c9(基于 development 3fa2ada)
- 环境:macOS arm64;Node.js 25.5.0;Ego Chromium;Electron 44.2.0。
左侧仅保留一个仓库总览入口,仓库树按连接分组并支持搜索。设置与帮助集中到应用菜单;左栏隐藏时,入口移至顶栏。中央展示 Diff,右侧放置改动分组与提交草稿;提交历史仍支持文件列表、元数据与单文件差异,分支、储藏和远程入口继续可用。
顶栏始终提供左右面板开关;不使用右侧面板的分支、储藏和远程视图禁用对应按钮。Diff 的专注阅读按钮同时隐藏两侧,恢复按钮仍在顶栏。默认侧栏宽度为 236px / 320px,顶栏 48px、状态栏 26px。主色继续使用 #2563eb,侧栏 #eef3f9。窄窗口继续采用列表 / Diff 切换。
布局设置新增右侧显隐与默认 Diff 模式。旧偏好会补齐新字段,已保存的宽度和树排序继续保留;没有更改存储版本、SSH API 或 Git 执行逻辑。隐藏面板保留文件选择、筛选、Diff 模式和提交草稿。
| 检查 | 结果 |
|---|---|
| npm run build -w web | 通过;TypeScript 和 Vite 构建成功。保留原有的大 bundle 提示 |
| npm run test -w web | 46 / 46 通过;涵盖旧偏好兼容、所有显隐组合的空间分配、重载 / 恢复默认、草稿隔离、过期差异响应与多 hunk 行号 |
| npm run desktop:build | 通过;5 个构建任务完成,原生 SQLite 重建成功 |
| npm run desktop:test 的单元测试阶段 | 41 / 41 通过 |
| Electron 集成冒烟测试 | 通过;write / restore 两阶段成功,覆盖 AI 设置、Diff / 专注阅读 / 暂存、仓库加载、树排序、布局跨进程恢复、更新设置与既有集成场景 |
| git diff --check | 通过 |
桌面首次在隐藏的 .cindy-worktrees 路径启动时,Express 的静态文件服务拒绝该路径,深链接返回 404。未修改生产静态文件服务;将同一份构建复制到普通临时目录,在隔离数据目录重新执行桌面冒烟脚本。测试使用模拟更新源,不连接 GitHub 更新源或安装真实应用。
所有浏览器截图使用仓库内 workspace fixture 的演示连接、路径与 Git 数据;Git 写操作仅改变内存,不访问用户的真实远程仓库。
| 场景 | 结果 |
|---|---|
| 双侧显示、仅隐藏左侧、仅隐藏右侧、双侧隐藏及恢复 | 通过;中央 Diff 随空间扩大,页面没有横向溢出 |
| 应用菜单只出现一次;隐藏左侧后在顶栏可达 | 通过;设置、布局分类及帮助文档链接均可访问 |
| Cmd+B / Cmd+Shift+B / Cmd+, / Esc | 通过;分别切换左右、打开设置、关闭菜单 / 窄屏导航 |
| 专注阅读隐藏两侧 | 通过;文件选择、提交摘要和描述保留 |
| 面板隐藏后文件筛选保留;按名称筛选仓库 | 通过 |
| 右侧分隔线键盘与指针方向 | 通过;ArrowLeft 从 320 调至 330,向左拖动 50px 调至 380 |
| 重载后恢复宽度与默认分栏模式;恢复默认不改变树设置 | 通过;浏览器回归及状态测试共同覆盖 |
| 统一 / 分栏差异 | 通过;旧 / 新行号随 hunk 更新,分栏长行折行 |
| 1440 / 1280 / 900px 下分栏长行 | 通过;代码单元无截断,Diff 无横向溢出。900px 工具栏自动换行 |
| 768 / 375 / 320px 列表与 Diff、返回列表 | 通过;提交区域可见、无页面横向溢出 |
| 320px 设置页与导航抽屉 | 通过;设置分类可选,Esc 可关闭抽屉 |
| 仓库切换与草稿隔离 | 通过;A / B 仓库各自保存草稿,返回 A 后原文恢复 |
| 暂存 / 取消暂存 | 通过;请求参数正确,当前文件随暂存侧变化并刷新差异 |
| 提交 / 获取 / 拉取 / 推送 | 通过 fixture;提交后清空已提交草稿,反馈和状态更新正确 |
| 提交历史及单文件历史差异 | 通过;提交信息、3 个文件和选中文件的 Diff 均可读取 |
| 分支切换、远程端点、储藏空状态 | 通过 fixture;切换 main、显示 origin 及储藏入口 |


主界面为双侧显示,下列依次为隐藏左侧、隐藏右侧和隐藏双侧。



- 真实 SSH 服务器上的提交、推送、拉取、分支与储藏写操作;上述 UI 操作使用隔离 fixture,桌面测试模拟 GitCommands。
- Windows / Linux 上的实际桌面运行和安装包验收。
- 应用重构保持草稿 PR,Issue 不关闭,待审阅和剩余环境回归。