Skip to content

feat: Tauri 2 desktop distribution and automatic download matrix - #16

Merged
LIghtJUNction merged 2 commits into
mainfrom
feat/tauri-desktop-distribution
Oct 22, 2026
Merged

LIghtJUNction merged 2 commits into
mainfrom
feat/tauri-desktop-distribution

Conversation

@LIghtJUNction

@LIghtJUNction LIghtJUNction commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

问题与目标

HireFerry 需要独立的 Tauri 2 桌面客户端,并与现有用户 CLI 一起提供可核验的多平台安装包和自动维护的下载矩阵。

本次实现

  • 新增独立桌面 workspace:Tauri 2 本地连接启动器、官方/自托管站点、中文/英文与深色外观、SVG 船形图案、原生菜单和安全的外部链接处理。远程工作台不获得本地 Tauri 命令能力。
  • Windows、macOS、Linux 均覆盖 x64/ARM64。完整桌面发布要求 15 个桌面包 + 6 个用户 CLI 包;Linux 提供 deb、rpm、AppImage、Flatpak,CLI 使用静态 musl 包。
  • 将 npm/Cargo 锁文件提交到仓库,构建使用锁定依赖;Windows 静态链接 C runtime。
  • 由 release/targets.json 统一驱动 CI、必需包集合、Markdown、JSON 与 SVG。严格拒绝缺包、多余包、重名包和校验失败。
  • desktop-v* 标签生成完整发行包;cli-v* 保留独立发布通道。先上传草稿 Release,完整后公开;桌面发布保留现有 CLI latest 安装通道。
  • 桌面和独立 CLI 发版后都自动更新下载文档。按产品比较稳定版本,保留原始标签、链接、校验值、来源提交及冻结的目标快照;旧版本不会覆盖较新的产品条目。文档写回任务排队执行。
  • 补齐真实 CI 中发现的 Flatpak 宿主 SVG loader 依赖,以及关闭连接设置后无法重开的窗口生命周期问题。

发布矩阵

系统 架构 桌面包 CLI
Windows x64 NSIS exe、MSI zip
Windows ARM64 NSIS exe zip
macOS Intel x64、Apple Silicon ARM64 dmg、app.tar.gz tar.gz
Linux x64、ARM64 deb、rpm、AppImage、Flatpak 静态 musl tar.gz

下载矩阵 · 安装及发版说明

验证

最终提交:4bd3963c295e68960b00d7df51e878c000a2baea。

  • 多平台打包 CI:通过。6 个原生桌面目标、6 个 CLI 目标、2 个 Flatpak 目标全部成功,最终汇总验证 21 个软件包。
  • 常规 Rust/浏览器资产 CI:通过。
  • Linux 原生客户端和 Flatpak 均在 x64/ARM64 实际启动 WebKit 窗口;Flatpak 还检查实际 Platform 运行时中的动态库与版本。
  • 发布生成器 20 项测试、原有 CLI 脚本 11 项测试通过,生成文件同步检查、Rust 格式和工作流 shell 语法检查通过。
  • 本地启动器已检查中文/英文、深色模式、窄窗口布局和连接交互。
  • 完整 CI 构建产物 包含 21 个软件包及下载清单、SVG 和 SHA256SUMS。

当前边界与发版方式

桌面版连接在线或自托管服务,不内置服务器/数据库。邮箱验证码可在应用内登录;Google 登录在系统浏览器继续,浏览器会话不会自动回传桌面。Windows 包未配置代码签名,macOS 未配置 Developer ID/公证;桌面壳通过下载安装新包升级。

Linux 文档列明各发行版系列的选包建议与依赖条件,当前发布架构为 x64/ARM64,未把未运行的发行版或历史版本标记为实测通过。Flatpak 附件不代表上架 Flathub。

合并后推送与桌面版本一致的 desktop-v0.1.0 标签即可触发正式 Release;独立 CLI 继续使用对应版本的 cli-v<版本> 标签。本 PR 的验证运行生成 CI 产物,正式发布步骤按预期跳过。

@LIghtJUNction
LIghtJUNction marked this pull request as ready for review October 22, 2026 06:57
Copilot AI balanced review requested due to automatic review settings October 22, 2026 06:57
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ⚠️ Failed 2026-10-22T06:57:46.417156Z
We couldn’t complete this review. Comment @codex security review to try again.
4bd3963 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@LIghtJUNction
LIghtJUNction merged commit 93dac3c into main Oct 22, 2026
27 checks passed
@LIghtJUNction
LIghtJUNction deleted the feat/tauri-desktop-distribution branch October 22, 2026 07:06
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.

2 participants