Skip to content

v0.1.90

Choose a tag to compare

@github-actions github-actions released this 21 Oct 02:29
· 4 commits to main since this release

v0.1.90

  • Instant updates: Settings > General > Updates has a new Mode setting. Instant (download + activate) turns the release button into a single Update now that downloads, verifies, activates and reconnects in one go: the pipeline card walks Download → Activate → Refresh and the page reloads on the new version. The safety steps stay: the manifest/sha256 is verified, running imports/scans get up to 2 minutes to finish (the panel lists them before you click), the database is backed up when the release brings migrations, and a failed health check rolls back. With auto-download on, Instant mode also applies new releases by itself as soon as nothing is importing or scanning. Staged (download, then activate) is still the default and works exactly as before (Activate by hand or via Auto-activate).
  • Fix: auto-activate ("When idle") could restart ShowFlow in the middle of a manual "Update to vX" download. Updates now run one job at a time: activation (auto or manual) waits for any running download/verify to finish, a second download of the same release (the background watcher and a click, or two tabs) shares the one already running instead of fetching the tarball twice, and nothing new starts once an activation is under way. A manual "Update to" also records the release as staged, so the watcher no longer downloads it again, and a release that's already downloaded and verified isn't fetched a second time.
  • Fix: an in-app update no longer shows Download: Failed with SyntaxError: Unexpected token 'S', "Service Unavailable" is not valid JSON (plus a "Couldn't load update status" banner) when it actually succeeded. That was the supervisor's plain-text 503 while it restarted ShowFlow (e.g. auto-activate applying the release mid-"Update to") being parsed as JSON. The supervisor's 503 is now JSON ({ error, restarting: true, phase }, Retry-After: 2), and the Updates panel never blind-parses responses: 502/503/504s and dropped connections during an update show as "restarting, reconnecting" on step 4 and keep polling with backoff. Once ShowFlow is back it checks what happened: running the target version shows success and reloads, a rollback shows the real error, and an in-progress download/activation moves the stepper to that step. The panel also retries quietly instead of showing the error banner if it loads mid-restart. Note: the panel fix applies to updates made from this release onward, and the JSON 503 only arrives with the next container image (the supervisor isn't swapped by in-app updates).
  • Settings search: a "Search settings…" box on Settings (header on desktop, top of the list on phones) finds any setting across every tab by name, description or synonym (e.g. 4k, discord, debounce, colour). Pick a result and it switches to the right tab, scrolls the row in under the sticky bar and briefly highlights it. / or ⌘F/Ctrl+F focuses it (press ⌘F again for the browser's find), ↑/↓ + Enter to pick, Esc clears. The ⌘K palette lists matching settings too. Results come from one registry (settings/registry.ts) with a test that fails if a setting's anchor goes missing.
  • Fix: the sticky section bar on Settings → General (Updates · Grabbing · Libraries · Defaults) now lines up with the cards below instead of overhanging them by a few px each side, sits flush under the header when stuck (cards no longer scroll past in a strip above it) and turns into a glass tray that matches the panels instead of a detached dark slab. The chip for the section in view is highlighted as you scroll, and clicking a chip lands the heading just under the bar. ?section= deep links (e.g. Quality → "Libraries") now work for any section, not just Updates.