Skip to content

fix(integration-builds): 修复 Linux 更新目录别名与安装验收误判 - #67

Merged
Fartown merged 3 commits into
fork/integrationfrom
feat/integration-linux-update-paths
Oct 23, 2026
Merged

Fartown merged 3 commits into
fork/integrationfrom
feat/integration-linux-update-paths

Conversation

@Fartown

@Fartown Fartown commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

ELI5

修复通过符号链接路径启动的 Linux Orca 服务被错误判为“不支持自动更新”的问题。同一数据目录使用真实路径或符号链接时,均可沿用现有更新器完成升级。

What Changed

  • 在功能自有模块中复用已有目录身份比较,检查固定 handoff 文件名;文件尚未创建时也能识别目录别名,其他配置目录仍被拒绝。
  • 新增 Linux/macOS 接管回归,覆盖目录别名、原路径、错误目录、错误文件名及父进程断开处理。
  • 增加可测试的安装验收器:检查实际运行版本、受监督自动更新状态和原标签、PTY、已有 provider session、daemon 是否保留;PTY 同时核对执行主机发布的 incarnationId,同 ID 重建或缺少生命周期证据均拒绝。初始化未完成或 automatic:false 不再误报成功。
  • 更新 REQ-414、TC-415、方案和 Journal。修复测试使用独立 HOME、配置、缓存、端口及显示器。

Why

原实现用 resolve() 比较路径字符串,无法识别 /home 和 /data00/home 指向同一目录。原本地验收脚本还检查了不存在的顶层 unsupportedReason,漏掉 support.automatic:false。

Linked Issue

关联 #64;仓库需求 REQ-414,测试用例 TC-415。

Visual Proof

N/A:没有新增或修改界面组件;修复的是后台接管与验收判断。现有更新界面的本地和 SSH 隔离实机升级均通过;详见隔离验证记录。

Testing

  • 原代码下目录别名回归在 Linux/macOS 两个分支失败,修复后通过。
  • 出包及更新相关 21 文件:189 通过、3 项平台跳过。
  • 原生 updater 相关 5 文件:92 通过、3 项平台跳过。
  • 注册 CI 合同:98 通过;移动端集成更新:21 通过。
  • pnpm tc;架构、fork 功能、fork 文档、三项本地化门禁。
  • 按 PR 实际基线检查的改动代码质量与格式检查。
  • 正常 build:release 和 integration electron-builder 生成两份隔离 AppImage。
  • 带符号链接 profile 的本地及 SSH Ubuntu 20.04 / glibc 2.31:真实包 preview.9011→9012 升级通过;前后 automatic:true,同一终端 identity,shell PID 分别为 1388189→1388189、1879→1879。
  • 审查前提交 560338b 的完整单元与门禁、多平台出包和 Headless Node server 均已通过。
  • 审查补丁新增 3 项回归:同 ID 重建终端拒绝、已有 PTY 身份证据缺失拒绝、无 PTY 标签正常通过;前两项在原验收器下失败。相关 308 项测试及完整类型检查、文档/架构/功能/本地化/代码质量门禁通过。
  • 新提交 128fce6 的远端 CI 已全部通过:完整单元与门禁、多平台出包、Headless Node。此前实机 AppImage 的产品代码提交不变。

AI Disclosure

由 Codex 辅助实现和验证。

Review

已完成本轮代码自审,覆盖全部改动、主进程与 CLI 接管调用链、目录隔离、RPC 字段与实机验证脚本断言。发现并修复 1 项 P2:原验收器遗漏 PTY incarnationId,会把同 ID 的重建终端误判为原终端保留;采集及校验已补齐。未发现其他阻塞项。

请用户继续审查本 PR。未启用自动合并,未合入集成分支;本轮没有启动生产实例或安装测试包。

Agent skill upstream boundary

  • Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

@Fartown
Fartown marked this pull request as ready for review October 23, 2026 09:42
@Fartown
Fartown merged commit cd5b6fc into fork/integration Oct 23, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant