Skip to content

feat: add desktop auto-update polling, pill status button, manual check for updates, move updater to AppShell#1235

Open
hazre wants to merge 2 commits into
hazre/feat/add-mise-supportfrom
hazre/feat/desktop-update-pill
Open

feat: add desktop auto-update polling, pill status button, manual check for updates, move updater to AppShell#1235
hazre wants to merge 2 commits into
hazre/feat/add-mise-supportfrom
hazre/feat/desktop-update-pill

Conversation

@hazre

@hazre hazre commented Jul 23, 2026

Copy link
Copy Markdown
Member

Description

  • Adds a pill button on tauri desktop app that uses custom titlebar, I made SyncConnectionStatus.tsx component more generic, so it can be reused and so im using the same styling as SyncStatus pill.
  • Adds auto-update polling (every 5 minutes), previously only updates were checked at startup.
  • Updates are now auto downloaded in the background (in-memory), to be more instant.
  • Added a manual check for updates button in Settings > About > Check for Updates
  • Moved DesktopUpdater, WebUpdater and GlobalBannerRenderer all into Appshell.tsx so it runs and shows up on all pages, including auth. To avoid deadlocks if we break anything on some of the pages. previously if we broke auth for example, you could not push a update to auto updating apps to patch it. Now you can.
  • update.body is now shown in the update Banner, it would be good for changelogs and such, depends if we populate it in the manifest.

Current auto-update flow is now:

  • Custom Titlebar: Check for update on startup or via polling > show pill update downloading > show pill update available > click on pill > show update banner
  • Native: Check for update on startup or via polling > show update banner
  • Manual check: Click on check button > show no update available with timestamp of last checked OR show update banner if update available

Screenshots

Cap.2026-07-23.at.07.57.07.mp4

Old video, pill has been updated to look like below

Cap 2026-07-23 at 09 26 32

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

AI disclosure:

  • Partially AI assisted (clarify which code was AI assisted and briefly explain what it does).
  • Fully AI generated (explain what all the generated code does in moderate detail).

@hazre
hazre requested a review from 7w1 as a code owner July 23, 2026 07:52
@hazre

hazre commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

Oh forgot to mention MacOS Titlebar is untested as I dont have an apple machine. so I think it should be good? but I'm not sure, the offset was a guess.

@eleboucher

Copy link
Copy Markdown
Contributor

Oh forgot to mention MacOS Titlebar is untested as I dont have an apple machine. so I think it should be good? but I'm not sure, the offset was a guess.

yes i tested on my macbook

@hazre
hazre force-pushed the hazre/feat/desktop-update-pill branch 2 times, most recently from fc8a248 to 6f89caf Compare July 23, 2026 10:11
@hazre
hazre changed the base branch from dev to hazre/feat/add-mise-support July 23, 2026 10:16
hazre added 2 commits July 23, 2026 12:21
Signed-off-by: hazre <mail@haz.re>
@hazre
hazre force-pushed the hazre/feat/desktop-update-pill branch from 6f89caf to 30296c3 Compare July 23, 2026 10:21
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Missing changeset

This pull request does not include a changeset. Please add one before requesting review so the change is properly documented and included in the release notes.

How to add a changeset:

  1. Run pnpm run document-change (interactive) and commit the generated file, or
  2. Manually create .changeset/<descriptive-name>.md:
---
default: patch
---

Short user-facing summary of the change.

Replace patch with major, minor, patch, docs, or note as appropriate.

📖 Read more in CONTRIBUTING.md.

If this PR is internal/maintenance with no user-facing impact, a maintainer can add the internal label to skip this check.

@github-actions

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

Status Preview URL Commit Alias Updated (UTC)
✅ Deployment successful! https://pr-1235-sable.raspy-dream-bb1d.workers.dev 30296c3 pr-1235 Thu, 23 Jul 2026 10:23:46 GMT

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