Skip to content

Issue 66 Validation

clean edited this page Sep 26, 2026 · 1 revision

Issue #66 验收:多种视图切换

自动检查

命令 结果
npm run build -w @alune/shared 通过
npm run build -w web TypeScript 与 Vite 构建通过;有基线同样存在的 >500kB chunk 提示
npm test -w web 140 项通过,0 失败
git diff --check 通过
GitHub Actions:commitlint、desktop / web / server / ssh-client 单元测试 分支推送与 PR 的 10 个检查均通过;PR 测试运行

新增测试覆盖旧 / 异常偏好按页面回退、两页独立记忆、刷新水合、列表重新加载和布局重置后保留选择;桌面存储测试验证偏好由桥接加载,并将新的两页选择写回桥接。

浏览器验收

所有数据来自 apps/web/tests/collection-views-fixture.mjs,连接主机使用 example.invalid,所有写操作只改变进程内存,不访问真实 SSH 或用户仓库。

复验命令:先运行前端构建,再运行 PORT=4667 node apps/web/tests/collection-views-fixture.mjs,访问本机 http://127.0.0.1:4667/ 和 /repositories。fixture 支持 POST /__fixture/config 设置 long、empty、listError、delay,/__fixture/reset 恢复,/__fixture/actions 可检查请求记录。

场景 实际结果
首次进入两页 默认卡片;切为列表后仓库 6 行、连接 4 行,状态与操作均存在
两页独立记忆 / 刷新 仓库选列表后连接仍为卡片;分别选择后各自刷新正确恢复
搜索与布局切换 搜索 design,在两种布局间切换仍为 1 项且输入值不变
连接筛选 连接列表点开发服务器「查看仓库」,进入 connectionId=dev,展示 3 项;叠加搜索并切换仍保留过滤条件
键盘 用空格触发列表按钮,列表出现且 aria-pressed=true
状态刷新 对指定仓库刷新,加载按钮恢复;状态、时间、游离 HEAD、未知分支及失败原因保持正确展示
测试连接 归档连接「测试连接」后更新为在线;失败连接保留超时说明
打开工作区 仓库列表点 alune「打开工作区」,导航至对应仓库详情,显示其改动内容
取消删除 仓库删除弹窗取消后仍为 6 行
确认删除 确认仓库删除后变为 5 行,记录的 DELETE 指向对应仓库;确认归档连接删除后变为 3 行
刷新失败 已有 6 行继续保留,显示刷新失败提示;切回卡片仍为 6 项
首次加载失败 显示错误信息,不显示「暂无已登记」的空状态
空数据 两页各自显示空状态,切换控件仍可用,列表不产生无意义空表格
延迟加载 1500ms 延迟下显示加载提示;加载期间可切换,完成后按选择展示
超长名称 / 路径 / 主机 / 分支 780px 和 390px 下,两页两种布局均无页面横向溢出;省略文本保留完整 title;表格容器独立滚动
主题与桌面布局 1280px 浅色 / 深色界面完成视觉检查;按钮、文本、状态与错误原因可读
独立设计稿 页面、卡片 / 列表及深浅主题切换通过;字体 / 组件样式与实现一致,图像内嵌,不需要后端

前后对照

截图日期 2026-09-26。改动前截图由基线源码另行构建,使用相同隔离数据;改动后截图来自本次实现。宽窗口为 1280 × 720,窄窗口为 780 × 720。

仓库:改动前

Alune 改动前仅有仓库卡片

仓库:改动后

Alune 改动后可切换仓库列表

连接:改动前

Alune 改动前仅有连接卡片

连接:改动后

Alune 改动后可切换连接列表

深色与窄窗口

Alune 深色仓库列表

Alune 深色连接列表

Alune 窄窗口内的表格滚动区域

未验证与边界

真实 SSH、原生 Electron 重启、Windows / Linux 真机未手工执行。本次变更复用已有接口和桌面存储桥接,桥接的异步加载与保存已通过自动测试。构建使用本机已有依赖;PR CI 已在项目固定环境中通过全部检查。

Clone this wiki locally