Skip to content

feat(update): toggle experimental vs production update channel#341

Merged
tomassasovsky merged 2 commits into
masterfrom
feat/update-channel-toggle
Jul 26, 2026
Merged

feat(update): toggle experimental vs production update channel#341
tomassasovsky merged 2 commits into
masterfrom
feat/update-channel-toggle

Conversation

@tomassasovsky

Copy link
Copy Markdown
Owner

Summary

  • Settings → Updates gets an Experimental channel toggle.
  • Choice is persisted and written to /data/loopy/update-channel (survives A/B OS updates).
  • loopy-update-ctl / loopy-ota-check prefer that override over /etc/loopy/update-channel.
  • Switching clears any prior offer and re-runs the availability check.

Closes #340.

Test plan

  • Unit/widget tests for channel override, cubit toggle, settings persistence, UI switch
  • On Pi (after this lands in an image): enable Experimental channel → Check now → see experimental build
  • Disable toggle → Check now → production only

Note

The image currently on the Pi still follows baked production. Until this PR is in a published bundle, use a one-time manual experimental install (or wait for the in-flight appliance-release, then SSH/rauc install once). After that, the toggle works for future updates.

Devices were stuck on the baked production channel marker, so experimental
OTA builds never showed up. Persist a channel preference, write a durable
/data override the shell helpers also honor, and re-check after switching.
@tomassasovsky tomassasovsky added dart Pull requests that update dart code stage:in-review Pipeline: PR open, CI + code-review iterating autonomy:merge-gate I build + go green; you click merge review:pending code-review skill not yet run / has findings labels Jul 26, 2026
Experimental images were shipping with the static "production" marker, so
Settings showed the wrong channel and checked an empty tree. Pass
LOOPY_UPDATE_CHANNEL from CI into the bundle recipe.
@tomassasovsky tomassasovsky added ci:green CI checks passing review:clean code-review skill came back empty ready-to-merge CI green AND review clean and removed review:pending code-review skill not yet run / has findings labels Jul 26, 2026
@tomassasovsky
tomassasovsky merged commit 2e56e8a into master Jul 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autonomy:merge-gate I build + go green; you click merge ci:green CI checks passing dart Pull requests that update dart code ready-to-merge CI green AND review clean review:clean code-review skill came back empty stage:in-review Pipeline: PR open, CI + code-review iterating

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(update): toggle experimental vs production update channel in Settings

1 participant