Skip to content

fix(update): make pi-kit's own update work, ask first and show release notes - #7

Merged
wolfmanfx merged 3 commits into
mainfrom
fix/app-update-feed
Nov 1, 2026
Merged

wolfmanfx merged 3 commits into
mainfrom
fix/app-update-feed

Conversation

@wolfmanfx

Copy link
Copy Markdown
Collaborator

Summary

Installed pi-kit never found an update. Release builds fell back to the private wolfmanfx/pi-kit as their feed, so every check got a 404 and showed "App updates are unavailable".

  • Feed: CI builds for the repository it publishes to; the publish job refuses a release whose app-update.yml names another one.
  • Offer: a newer pi-kit is offered in a toast with GitHub's notes of every release since the installed one. Download → progress → "Restart to update"; otherwise it installs on the next quit.
  • Auto-download (opt-in): "Download updates automatically" in Settings › Versions or the toast's box. One try per version per backend run.
  • Copies that cannot update themselves (Windows portable, Linux not running as the AppImage) say so instead of installing a second copy or claiming to be current.
  • Deadlines: requests to Electron main no longer time out (a download over 30 min was marked failed while it kept going); the browser's page limits are one 60 s limit.

Evidence

  • The published v0.8.9 mac zip's app-update.yml says owner: wolfmanfx; that repository is private.
  • The publish guard, run against fake zips, passes for Soverius-AI/pi-kit and fails for wolfmanfx/pi-kit and for a missing zip.
  • Each new test fails with its guard removed: portable and non-AppImage copies, a download nobody allowed, the retry loop.
  • Backend (1508) and desktop (183) tests pass; renderer build, lint, i18n and the OpenAPI check are clean.
  • Not run in a packaged app yet: that needs two releases built with the fixed feed.

Merge Danger

Door: two-way

Blast Radius: medium

Copies already installed (v0.8.7–v0.8.9) keep looking at wolfmanfx/pi-kit; their users download the next release by hand once. Tag releases publish without a draft, so the feed guard is the last check before users see one. Release notes are GitHub's generated ones: a release of direct commits shows only the "Full Changelog" link.

Builds fell back to the private wolfmanfx/pi-kit, so every copy since
v0.8.7 reports updates as unavailable. CI now builds for the repository
it publishes to and refuses a release whose feed names another.

Portable Windows and non-AppImage Linux copies report updates as
unavailable instead of installing beside themselves or claiming to be
current.
A newer pi-kit is offered in a toast with the notes of every release
since the installed one. "Download updates automatically" skips the
question; the update installs on the next quit.
A pi-kit download over 30 minutes was marked failed while it kept
going. The browser's page limits are one 60 s limit now.
@wolfmanfx
wolfmanfx merged commit bfd4842 into main Nov 1, 2026
1 of 2 checks passed
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