Skip to content

feat(updater): add auto-update check and install banner#3

Merged
anbturki merged 2 commits into
mainfrom
feat/auto-updater-banner
May 23, 2026
Merged

feat(updater): add auto-update check and install banner#3
anbturki merged 2 commits into
mainfrom
feat/auto-updater-banner

Conversation

@anbturki

Copy link
Copy Markdown
Owner

Summary

  • Adds useUpdater hook that polls the updater endpoint 5 seconds after launch and every 6 hours while the app is running. Per-version dismissals persist in tauri-plugin-store.
  • Adds UpdateBanner component below the header: shows version, download progress, install-and-relaunch button, and a dismiss button. Styling matches ExternalChangeBanner (sticky, themed).
  • Adds tauri-plugin-process (JS + Rust) so the install flow can relaunch() after downloadAndInstall() completes.
  • Adds process:default permission to the default capability.

Why

The updater plugin and signed-artifact pipeline have been configured since v0.4 but nothing consumed them. Existing users only find out about new releases by manually checking GitHub. This is the missing fast-follow before v0.6 ships, so v0.5.0 users actually get pinged when v0.6 lands.

Validation

  • bun run build clean
  • cargo check clean
  • Banner styling reviewed in dev via a temporary mock

anbturki added 2 commits May 24, 2026 04:13
The updater install flow requires a process restart on macOS/Linux,
which is provided by tauri-plugin-process. Wire it on both the JS
side (@tauri-apps/plugin-process 2.3.1) and the Rust side, and grant
the default capability the process:default permission set.
Existing v0.5.0 users have no in-app notification path for new
releases; they only find out by manually checking GitHub. The
plugin-updater and minisign endpoint were already configured but
nothing consumed them.

useUpdater polls check() 5 seconds after launch and every 6 hours
while the app is running, persisting per-version dismissals in
tauri-plugin-store so 'X' on the banner stays sticky across reloads
until a newer version arrives.

UpdateBanner renders below the header with download progress, an
'Install and relaunch' button that calls downloadAndInstall() then
relaunch(), and a dismiss button. Styling matches ExternalChangeBanner
(sticky, themed, no layout shift).
@anbturki anbturki merged commit 457a720 into main May 23, 2026
2 checks passed
@anbturki anbturki deleted the feat/auto-updater-banner branch May 23, 2026 20:21
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