Update checker: notify when a newer release is available (no auto-update) #19
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Users have no way to learn that a newer release exists — they'd have to manually visit the releases page. We ship versioned releases (v1.1.0 now) via the tag-triggered
release.yml, but nothing tells an installed copy it's out of date.Proposed solution
A lightweight update check that notifies only — it does NOT download or replace the binary (deliberate: self-replacing unsigned PyInstaller bundles is a Gatekeeper/file-lock headache we're avoiding).
__version__, and if newer, show a non-blocking notification (banner or dialog) with a link to the release/download page.Design notes / prerequisites
GET /api/v1/repos/the_og/better-claude-config/releases/latest) returns 401 to an anonymous, distributed app. Before this ships, either make the repo (or at least a releases/version manifest) public, or host a small publicversion.json. Do NOT embed a Gitea token in the distributed app. Verify this first — it blocks the feature.bcc_core.pyas a pure, unit-testable function: strip a leadingv, compare numeric tuples (e.g.(1,1,0)), handle pre-release/garbage gracefully. Don't string-compare ("1.10.0" < "1.9.0"lexically is wrong).__version__single source of truth from the About-page issue.Acceptance criteria
vprefix, malformed input) — tested against a stubbed "latest" value, no live network in tests.Filed by the supervisor (Cowork) session at AJ's request.
Prerequisite resolved: the repo is now public (in prep for GitHub sync), so
GET /api/v1/repos/the_og/better-claude-config/releases/latestis anonymously reachable. No publicversion.jsonor token embedding needed — the update check can hit the Gitea (and later GitHub) releases API directly. The "release source must be public" blocker above is cleared.