feat: Tauri auto-updater + pnpm update-all + UX polish#30
Merged
Conversation
Per code review: trap restores /Applications/Origin.app from backup if cp fails after mv. Drop `|| echo` that swallowed brew failures. Print restart hint if daemon detected on :7878.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two issues caught in code review:
- Without delay, dialog could appear before the main window paints,
leaving "what app is this?" UX confusion. 3s sleep at the start of
check_and_prompt covers the typical app-ready event window.
- Without persistence, "Later" suppressed only the current run.
Persist {version, dismissed_at} to app_data_dir/updater-dismissed.json
and skip re-prompts for the same version within 24h.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wires up the Tauri auto-updater plugin so end users get an in-app prompt when a new release lands, plus a developer convenience script.
Tauri auto-updater (Phase 5 of the auto-update plan)
@tauri-apps/plugin-updater@^2.0.0andtauri-plugin-updater = "2"plugins.updaterintauri.conf.json(GitHub releases manifest URL + minisign pubkey)app/src/lib.rs)app/src/updater.rs: on startup (after a 3s window-paint delay), checks for updates; if found and not dismissed in the last 24h, shows a dialog with "Install" / "Later". On Install: downloads (with progress notifications), then second notification + 800ms pause +app.restart(). On Later: persists{version, dismissed_at}so we don't re-nag for the same version within 24h.github/workflows/release.ymlgetsTAURI_SIGNING_PRIVATE_KEY+TAURI_SIGNING_PRIVATE_KEY_PASSWORDenv vars on the tauri-action step (secrets configured in repo)Developer convenience
pnpm update-allscript: pulls every Origin repo, upgrades brew origin-mcp, rebuilds .app, replaces/Applications/Origin.app. ERR trap to restore backup if cp fails. Prints daemon-restart hint if :7878 is in usePre-merge gate (IMPORTANT)
The signed update flow has not been exercised end-to-end yet. Per adversarial review:
After merge:
v0.1.5-beta.1tag → wait for CI →curl .../latest.json | jq .→ confirmsignaturefield populatedv0.1.5-beta.2→ confirm beta.1 → beta.2 update flowTest plan
🤖 Generated with Claude Code