Skip to content

release: 合并 v0.1.4(应用内更新与 Release 流水线) - #3

Merged
CodeHourra merged 2 commits into
masterfrom
release/v0.1.4
Mar 25, 2026
Merged

CodeHourra merged 2 commits into
masterfrom
release/v0.1.4

Conversation

@CodeHourra

@CodeHourra CodeHourra commented Mar 25, 2026 •

Copy link
Copy Markdown
Owner

摘要

  • 集成 tauri-plugin-updater,设置内支持检查/安装更新
  • GitHub Actions release.yml 多平台构建并上传安装包与更新元数据
  • 文档:docs/桌面应用-Release与自动更新.md
  • 版本对齐:v0.1.4(package / Cargo / tauri.conf / CHANGELOG / app-changelog)

CI

合并指向 master 的 PR 后将触发 .github/workflows/ci.yml。

Tag

合并本 PR 后将在 master 上打 v0.1.4 并 git push origin v0.1.4,触发 release.yml(需已配置 TAURI_SIGNING_PRIVATE_KEY 等 Secrets)。

Made with Cursor


Note

Medium Risk
Introduces a new auto-update path and significantly changes the release workflow to build/sign/upload binaries across platforms, so misconfiguration (versions, secrets, endpoints) could break releases or update delivery.

Overview
Adds desktop in-app auto-updates via Tauri 2 tauri-plugin-updater, wiring new updater/process plugins, capabilities, and a Settings "检查更新" flow that can download+install then relaunch.

Upgrades the Release pipeline so pushing vX.Y.Z creates/updates the GitHub Release and then runs a macOS (arm64/x64) + Windows build matrix via tauri-action, uploading installers and latest.json; also adds a PR-to-master precheck for changelog sync and enforces presence of TAURI_SIGNING_PRIVATE_KEY.

Bumps version to 0.1.4, adds updater config in tauri.conf.json (pubkey/endpoints, updater artifacts), adds Windows-specific bundling config for the sidecar .exe, improves sidecar binary discovery on Windows, and updates changelogs/docs (including key handling + .gitignore).

Written by Cursor Bugbot for commit 086b7f9. This will update automatically on new commits. Configure here.

stevelliu added 2 commits March 25, 2026 17:20
- 在桌面应用中添加 tauri-plugin-updater,支持检查、下载和安装更新。
- 更新 SettingsModal 组件,增加“检查更新”按钮,提供用户友好的更新体验。
- 配置 tauri.conf.json,设置更新插件的公钥和 endpoints,确保安全性与功能性。
- 更新 GitHub Actions 工作流,支持多平台构建并上传安装包与更新元数据。
- 添加相关文档,指导用户如何配置和使用自动更新功能。
- 桌面端 package / Cargo / tauri.conf 版本升至 0.1.4
- 根目录与 docs 双 CHANGELOG 增加 0.1.4(应用内更新)
- 同步 apps/desktop/src/data/app-changelog.md

Made-with: Cursor
@CodeHourra
CodeHourra merged commit a071e17 into master Mar 25, 2026
5 checks passed

@cursor cursor Bot 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.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

"bundle": {
"resources": {
"../../../packages/sidecar/dist/xunji-sidecar.exe": "xunji-sidecar.exe"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Windows build fails due to resource merge conflict

High Severity

Tauri 2 merges platform configs via RFC 7396 (JSON Merge Patch), which unions object keys rather than replacing the whole object. On Windows the merged bundle.resources will contain both the base config's xunji-sidecar (no .exe) and the Windows override's xunji-sidecar.exe. Since bun --compile on Windows only produces xunji-sidecar.exe, the non-exe path doesn't exist, causing the Windows CI build to fail. The Windows config needs to explicitly null-out the base entry (e.g. "../../../packages/sidecar/dist/xunji-sidecar": null).

Additional Locations (1)
Fix in Cursor Fix in Web

console.error('[updater] check failed', e)
} finally {
updateBusy.value = false
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Update button re-enabled while dialog still open

Medium Severity

When check() finds an update, dialog.warning() opens the confirmation dialog but returns synchronously (Naive UI dialogs are imperative and non-blocking). Execution immediately falls through to the outer finally block, which resets updateBusy to false. This re-enables the "检查更新" button while the dialog is still visible, allowing the user to trigger duplicate check/download operations.

Fix in Cursor Fix in Web

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