Skip to content

feat(gui): bottom-left update popup + CI platform-key fix (v0.2.2)#22

Merged
GregTheGreek merged 1 commit into
mainfrom
feat/update-popup
May 14, 2026
Merged

feat(gui): bottom-left update popup + CI platform-key fix (v0.2.2)#22
GregTheGreek merged 1 commit into
mainfrom
feat/update-popup

Conversation

@GregTheGreek
Copy link
Copy Markdown
Owner

Summary

Two related changes shipped as v0.2.2:

UI - update popup

  • Notification moves from a top banner to a fixed bottom-left card.
  • Buttons: Install now (downloads + relaunches) and Later (hides the popup for the current process; reappears on next launch if there is still an update).
  • Downloading + "restarting" states reuse the same card shell.

CI - latest.json platform keys

While testing v0.2.0 -> v0.2.1, the installed v0.2.0 app silently saw no update because the manifest only had darwin-universal. Tauri's updater matches platforms against the running target triple (darwin-aarch64 on Apple Silicon, darwin-x86_64 on Intel) - the universal key alone does not satisfy that lookup, so check() returned null. v0.2.1's manifest was hand-patched after the fact to confirm.

This change emits all three platform keys (same .app.tar.gz + signature) so future tagged releases produce a manifest that real Macs can actually resolve.

Files

  • crates/rompatch-gui/ui/src/lib/updater.ts - add dismiss()
  • crates/rompatch-gui/ui/src/components/UpdateBanner.tsx - bottom-left card layout
  • .github/workflows/ci.yml - manifest now emits darwin-aarch64 + darwin-x86_64 + darwin-universal
  • Version bumps 0.2.1 -> 0.2.2 (Cargo.toml, the two explicit rompatch-core pins, ui/package.json, Cargo.lock)

Test plan

  • cargo check --workspace --exclude rompatch-gui clean
  • pnpm typecheck + pnpm build clean
  • Merge + tag v0.2.2, confirm latest.json contains all three platform keys, confirm installed v0.2.1 sees the popup on next launch
  • Click "Later" -> popup hides; relaunch app -> popup returns
  • Click "Install now" -> downloads, replaces, relaunches

UI:
* Update notification moves from a top banner to a bottom-left floating
  card so it stays out of the way of the main panel content.
* Two buttons: "Install now" (downloads + relaunches) and "Later"
  (hides the popup for this process lifetime; reappears next launch
  if an update is still available - the check only runs on mount).
* Downloading and "installed - restarting" states reuse the same card
  shell.

CI:
* The latest.json manifest emitted by the gui job now includes
  darwin-aarch64 + darwin-x86_64 alongside darwin-universal. Tauri's
  updater matches the manifest's `platforms` map against the running
  process's target triple, not against "darwin-universal" alone, so
  the previous manifest silently missed on real Macs and check()
  returned null. v0.2.1's manifest had to be patched in place; this
  ensures future tags ship correct manifests out of the box.

Version: 0.2.1 -> 0.2.2.

Co-Authored-By: Claude
@GregTheGreek GregTheGreek marked this pull request as ready for review May 14, 2026 17:16
@GregTheGreek GregTheGreek merged commit ac539a2 into main May 14, 2026
7 checks passed
@GregTheGreek GregTheGreek deleted the feat/update-popup branch May 14, 2026 17:18
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