Skip to content

feat: GitHub update checker (manual + daily startup check)#22

Merged
DGINXREAL merged 10 commits into
mainfrom
feat/update-check
Jun 16, 2026
Merged

feat: GitHub update checker (manual + daily startup check)#22
DGINXREAL merged 10 commits into
mainfrom
feat/update-check

Conversation

@noidee-dev

Copy link
Copy Markdown
Contributor

Summary

  • Adds a cross-platform update checker that compares the running version against the latest GitHub release (no native auto-updater — Electron's Squirrel updater doesn't cover Linux and needs macOS signing; this works everywhere with no new dependency).
  • Settings → "Check for updates" button with status (up-to-date / version available + Download link) and a "Check on startup" toggle.
  • Startup auto-check throttled to at most once per 24h (persisted via lastUpdateCheckAt); shows an informational toast when an update is available, silent on errors/offline.

How it works

  • Main: pure checkForUpdate({fetchImpl, currentVersion})Result<UpdateInfo> hitting releases/latest; exposed via IPC channel app:checkForUpdate (handler defaults fetchImpl to globalThis.fetch).
  • Settings schema gains autoCheckUpdates (default true) + lastUpdateCheckAt.
  • Renderer: shouldAutoCheck 24h throttle, useUpdateCheck mutation (records the check time), Settings UI, and a render-null StartupUpdateCheck mounted inside ToastProvider.
  • i18n added in all 6 locales.

Design: docs/superpowers/specs/2026-06-13-update-check-design.md · Plan: docs/superpowers/plans/2026-06-13-update-check.md

Test Plan

  • npm test — 480 passing (incl. new unit/UI/integration tests for version compare, throttle, IPC handler, Settings UI, startup toast)
  • npx tsc --noEmit clean · npm run lint 0 errors
  • Manual: launched npm start; Settings → "Check for updates" reports "up to date" against the matching v1.2.1 release
  • Reviewer: verify the "update available" path (toast + Download) e.g. by checking against a newer release tag

🤖 Generated with Claude Code

noidee-dev and others added 10 commits June 16, 2026 08:22
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…k toggle

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@noidee-dev noidee-dev requested a review from DGINXREAL June 16, 2026 07:02
@DGINXREAL DGINXREAL merged commit 8536127 into main Jun 16, 2026
1 check passed
@DGINXREAL DGINXREAL deleted the feat/update-check branch June 16, 2026 07:07
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