v0.2.3 — Per-channel sync visibility & controls
·
153 commits
to master
since this release
A follow-up to the Live Channels release (v0.2.2) that fills in the per-channel visibility and control the original plan called for.
Added
- Per-channel "last synced" badge on the Channels page (e.g. "synced 2h ago" / "never"), backed by a new cosmetic
data/recipe_state.json. It's UI-only — the change-detection diff still reads live Tunarr — and lives in its own file so it never races withchannels.jsonedits or deploys. - "Save & Sync now" in the channel editor (live channels): saves the channel and immediately runs a cycle scoped to just that channel, applying the recipe in place without leaving the editor.
- "Next run" on the Dashboard Auto-Updates card (e.g. "next ~in 11h").
Changed
/api/recipes/statusnow returnsnext_run_secondsand a per-channelchannelsmap;/api/recipes/runacceptsonly=Nto scope a cycle to one channel. The scheduler's last-run timestamp moved to wall-clock time.
Notes
- Source/target agnosticism (Jellyfin source, ErsatzTV target) is captured as an explicit future goal with the in-place-update contract documented — intentionally not built yet (no second source/target to validate an adapter against).
Full notes in CHANGELOG.md.