-
Notifications
You must be signed in to change notification settings - Fork 0
Issue 12
clean edited this page Sep 17, 2026
·
3 revisions
Issue #12 · PR #14 / PR #17 · 实现方案与验收记录
2026-09-16 从 Issue 迁入的需求与方案快照,保留原始验收勾选状态;当前进度以关联 Issue / PR 为准。实现细节、验收证据和未验证项见上方记录。
- 发布基线:
v0.2.0,对应提交eafe99b。 - 开发基线:
development@7d9aace。dev指development;当前分支相对 tag 新增 3 个提交,见差异。 - 本项状态:已关闭 / TODO Done;PR #14 已合并(
fffcdf5),实现已在 development,尚未包含于 v0.2.0。正式 RemoteGit 发布包与跨平台升级验收仍有未完成项,见下文。
桌面端获取新版本后,用户希望直接在应用内完成安装并重启,避免手动重新安装。发布基线 v0.2.0 的 macOS 流程仍需打开 DMG、退出并手动替换;Windows / Linux 已有“重启安装”。当前 development 已通过 PR #14 补齐 macOS 实现并更新 README,但尚未发布包含该改动的新 tag。
更新包下载并校验完成后,用户点击“重启安装”即可安装新版本并重新打开应用,无需手动下载、打开安装包或替换应用。
- 在“设置 → 版本更新”提供清晰的“重启安装”入口及安装中状态,重点补齐 macOS 的安装与重启体验。
- 用户主动触发后,妥善关闭 SSH 连接、数据库及本地服务,再执行安装并重启;普通退出保持现有行为。
- 更新后保留已配置的连接、仓库与应用设置。
- 安装失败或安装位置不支持更新时提供明确反馈和可执行的恢复方式。
当前实现位于 update-service.cjs、mac-updater.cjs、mac-installer.cjs、main.cjs 与 UpdatePanel.tsx。安装前重新校验、目录权限检查、服务关闭、旧进程退出后的替换/重启及失败恢复已实现;正式发布包验收范围见下文。
- 更新包下载并通过校验后,显示可用的“重启安装”操作。
- 点击后自动安装并重新启动到新版本,正常流程不要求用户手动重新安装。
- 重启后显示新版本号,原有连接、仓库和设置仍然可用。
- 下载或校验未完成时不能安装;安装失败时能查看原因并恢复使用或重试。
- Windows / Linux 现有更新流程无回归,文档与实际支持范围一致。
使用两个递增版本的正式安装包验证下载、校验、安装、自动重启及数据保留;覆盖 macOS arm64 / x64,并回归 Windows NSIS 与 Linux AppImage。补充安装失败场景,记录实际验证的平台和未验证项。
实现已检查 macOS 安装目录权限、应用标识、版本与二进制架构,并在替换或启动命令失败时尝试恢复旧应用。Developer ID 签名/公证、不同架构与平台的正式安装包升级、公开 Release 下载后的完整流程仍需发布验收。系统 open 已成功受理后发生的应用内部崩溃不在自动恢复范围内。
- 实现 PR:#14,已合并到
development(fffcdf5);Issue 已关闭、TODO 为 Done。此状态表示实现已合并,正式发布包验收仍按上方未勾选项跟踪。 - 已实现 macOS 下载校验后的“重启安装”入口、安装前重新校验及目录检查、服务关闭、旧进程退出后替换和自动打开,以及替换/启动命令失败时的恢复处理。
- 已通过 35 项自动化检查、macOS arm64 原生 DMG 集成测试(隔离测试应用 1.0.0 → 1.1.0)和实际 Electron 打包应用的界面、IPC、活跃连接关闭与持久化回归。
- 正式 RemoteGit 安装包从公开 Release 下载后的完整升级,以及 macOS x64、Windows NSIS、Linux AppImage 实机升级验收仍待完成。原生集成测试使用小型测试应用,桌面界面测试使用模拟安装器,不能替代正式安装包验收。
- 最新发布 tag 仍为 v0.2.0(
eafe99b),不含本次实现。旧版仍需先手动安装包含此功能的后续版本,再验证后续“重启安装”;不能以当前源码版本字段仍为 0.2.0 推断公开 v0.2.0 安装包已具备此能力。 - 验证记录、前后截图与已知限制。