简体中文
桌面行为与验收
已实现路径
- MyGo 原生主窗口、设置和添加窗口,macOS 标题栏按钮由系统绘制。
- 左键菜单栏浮出面板和临时右键菜单;Linux 回退为托盘菜单。
- Dock 激活重新打开主窗口;关闭窗口保留会话。
mygo.json注册.torrent与magnet关联,初始化前到达的打开事件先排队。- 第二实例参数复用导入预览;
--config不隔离应用身份。 - 登录注册使用 MyGo
SetOpenAtLogin,打开设置时读取布尔状态;后台登录启动保留会话而不显示窗口。 - 通知使用任务/完成周期 ID,点击定位任务;展示请求成功不等于实际送达。
- 睡眠前保存并停止活动,唤醒后按未改变的持久意图重新协调。
- 退出确认和异步保存也保护更新后的重启。
本地验证
开发 macOS arm64 主机已完成 ad-hoc 签名打包、隔离目录启动、原生空窗口渲染和通过保存协调器退出。MyGo 软件渲染截图覆盖默认/最小尺寸、两种外观、设置、导入和菜单栏,演示任务仅存在于测试中。原生交互还验证了添加下载实际呈现为 macOS sheet、无效磁力不会提交、设置可打开、未配置更新显示不可用,以及 Cmd+Q 正常退出。
发布前仍需验收
| 范围 | 原生检查 |
|---|---|
| 菜单栏 | 多显示器及显示配置变化下的锚定、关闭和右键 |
| 生命周期 | 真实传输中关闭最后窗口、Dock 重开、硬件睡眠/唤醒 |
| 文件关联 | Finder 冷启动、浏览器磁力启动、重复启动事件 |
| 登录启动 | 已签名安装包、启用/拒绝/撤销注册、静默登录 |
| 通知 | 允许/拒绝权限、专注模式、后台点击定位 |
| 辅助功能 | VoiceOver、纯键盘操作、减少动态效果/透明度 |
| 更新 | 签名源、错误架构/签名、替换中断、保存失败后的重启 |
| 存储 | 外置卷替换、磁盘写满、检查点/废纸篓期间的受控强制终止 |
以下验收记录基于当时的 MyGo v0.4.8。其登录观测和通知支持使用布尔值,不能区分全部系统授权状态。Rivu 展示可观测值和原始错误,不推断更细的权限状态;计划中的详细原生状态适配器仍是发布缺口。
发布包面向 macOS、Windows 和 Linux。公开草稿前,分别验证各系统的安装、启动、文件关联、托盘、传输与正常退出;交叉编译无法覆盖这些检查。下方已有的原生验证记录基于 macOS。Windows 当前限制:安全文件归属和剩余空间适配器尚未实现,可能拒绝新下载。发布审查需跟踪该限制,生成安装包不代表传输行为已通过验证。
视觉一致性
即使 AppKit 报告 vibrancy,菜单栏内容也使用设计配色。高度随最多四行预览变化(含已暂停任务),空状态为紧凑的 304 pt。暂停和限速位于底部操作区上方,添加下载、设置与打开主窗口并列。主任务行间距 102 pt,顶部对齐控件为 23 pt,拖放提示位于列表下方。
make snapshots 包括 1280 × 818 对照尺寸、空/有任务菜单栏以及两种外观的原生材质渲染路径。TestTrayLayoutAndMaterial 检查材质不透明度与底部边界。
语言默认跟随系统。通用设置提供简体中文、繁体中文、英语、日语和韩语,保存后生效。TestLocalizedSurfaces 覆盖全部语言的正常和最小窗口,并检查托盘操作边界。make snapshots 输出 i18n-<language>-<surface>.png。词条测试检查覆盖和格式占位符,设置测试覆盖语言迁移与保存。
2026 年 10 月 17 日,本地化迁移到 MyGo v0.5.5 的 ARB 词条、生成的类型化函数和应用语言回调。单元测试、Go vet、竞态、本地 swarm、MyGo vet、词条检查及多语言快照均通过。macOS arm64 应用构建成功,五种语言的打包资源由词条生成。七个隔离原生会话完成启动、截图和退出,覆盖五种语言的主窗口、日语下载设置和繁体中文托盘,截图为 snapshots/native-mygo-i18n-*.png。另一个隔离会话验证英语 → 日语 → 跟随系统的实际保存切换,菜单、窗口标题、已有主窗口及保存结果即时刷新;MYGO_LOCALE 防止测试写入原生语言偏好。
2026 年 10 月 12 日,macOS arm64 本地化构建完成五种显式语言及系统默认的原生启动/捕获/退出检查。通过独立数据目录和 XDG_RUNTIME_DIR 隔离实例套接字,使已安装应用保持运行。当时自动化服务在交互保存切换检查中超时,因此该项保留为验收要求;已有窗口的语言刷新由无界面 UI 测试覆盖。
捕获实际 AppKit 面板时,先退出其他实例并确保 snapshots/ 存在,再运行;进程写入 PNG 后退出:
sh
RIVU_CAPTURE="$PWD/snapshots/native-tray.png" RIVU_CAPTURE_SURFACE=tray \
build/darwin-arm64/Rivu.app/Contents/MacOS/Rivu --data-dir /tmp/rivu-tray-review此命令捕获原生内容;系统绘制的箭头、外部圆角、阴影和多显示器定位仍需交互检查。
10 月 12 日重新检查了原生主窗口和 AppKit 面板内容,单元、竞态、本地 swarm、Go vet 和 MyGo vet 均通过。安装在 /Applications/Rivu.app 的应用与 build/darwin-arm64/ 中的构建相互独立。
后续控件对齐修改以居中的 SVG 替换文本展开符号,统一设置选择器宽度,增加导航悬停/按下反馈;排序改用带选中标记的原生菜单。隔离无传输会话中验证了切换英语、保存后立即刷新设置/主窗口/菜单,以及选择进度排序。TestSortMenuSelection 和 TestSettingsLanguageMenu 覆盖菜单选择与键盘打开。
10 月 13 日升级 MyGo v0.4.8、Torrent d913b30f520e 和 DHT a9c967f9d68b 后,单元、竞态、本地 swarm、Go vet、MyGo vet 和 UI 快照通过;Windows/Linux 交叉编译及 ad-hoc 签名 macOS arm64 构建通过。主窗口和 AppKit 面板捕获使用临时数据和独立套接字,进程正常退出。这些冒烟检查不替代上述发布验收。
10 月 13 日重构验证
重构后的主窗口、下载设置和自动化设置通过实际 AppKit 窗口捕获,分别使用独立临时数据和实例套接字。进程均经保存协调器以 0 退出。产物为 snapshots/native-refactor-main.png、native-refactor-settings-downloads.png、native-refactor-settings-automation.png。这不代表真实传输和硬件项目已验收;功能、本地 swarm 和集合基准见重构报告。
语义本地化键迁移通过单元、Go vet、竞态、本地 swarm、MyGo vet 和本地化快照。五份词条保留 359 个语义键,删除 21 个未使用项。首次打包丢失临时暂存目录,重试后 macOS arm64 应用和 DMG 构建成功。原生捕获包括五种语言主窗口、英语下载设置和简体中文自动化设置;七个进程均正常退出,无缺失键日志。截图为 snapshots/native-semantic-<language>-<surface>.png,不替代交互和硬件检查。
同日侧边栏和空状态调整也通过上述检查及本地化快照,应用和 DMG 构建成功。隔离原生会话验证全屏进入/退出:窗口按钮隐藏后品牌移入顶行,紧凑设置入口保持底部。空列表仅显示一条指引,不展示详情面板,无选择时禁用详情开关。TestDetailsRequireSelection 覆盖正常及窄窗口下按需打开详情与移除选中任务。原生中文截图为 snapshots/native-layout-main.png。