fix(desktop): mirror signed releases to public repo for the updater
The updater endpoint pointed at mca/parking_solution's own Gitea "latest release" redirect, but that repo is private and field appliances have no Gitea credentials — every update check was silently failing. release.yml now mirrors signed installers to mca/public_releases (public, installers only) under a fixed desktop-latest tag; tauri.conf.json points there. Rejected embedding a read token in the app instead, given the booth-operator threat model. Also: make the appliance-provisioning root_directory gotcha impossible to skim past (boxed callout + explicit next-step pointers), after it caused a second missed step on the park-2 install.
This commit is contained in:
+15
@@ -2725,3 +2725,18 @@ re-running the same installer with unchanged `--connect-as` is config-preserving
|
||||
skips rewriting an existing config) and safe; verified dry-run on `art-docker-station` (lab) then
|
||||
applied to `park-buzi` (live booth) with no disruption to the running app containers. Full detail
|
||||
+ exact commands on [[appliance-provisioning]].
|
||||
|
||||
## [2026-09-03] fix | Desktop updater endpoint was unreachable — pointed at a private repo
|
||||
|
||||
The Tauri auto-updater ([[desktop-shell-tauri]]) was fully implemented — signed builds, keypair,
|
||||
`latest.json`, `release.yml` — but its endpoint pointed at `mca/parking_solution`'s own Gitea
|
||||
"latest release" redirect, and that repo is **private**. Field appliances have no Gitea
|
||||
credentials, so every update check was silently failing (caught by a `try/catch`); this was never
|
||||
actually field-verified end to end. Fix: signed installers now mirror to a new public,
|
||||
installers-only repo `mca/public_releases` (org-shared, not parking-specific), published to a fixed
|
||||
`desktop-latest` tag so other apps releasing there later can't shadow ours. Considered and rejected
|
||||
embedding a `read:repository` token in the app instead — ruled out given the appliance's own threat
|
||||
model (booth operator as primary adversary) makes an extractable, hard-to-rotate credential in every
|
||||
deployed binary worse than just publishing installers publicly. `release.yml`,
|
||||
`apps/desktop/src-tauri/tauri.conf.json`, `apps/desktop/README.md` updated; full detail on
|
||||
[[desktop-shell-tauri]].
|
||||
|
||||
Reference in New Issue
Block a user