feat(hobbs-organizer): v1.4.0 per-TV morning routine (admin TVs tab) + photo app 1.2.1

- Admin TVs tab: wake time/days, YouTube Music playlist, Shield volume per TV,
  pushed via 5-min TV check-ins (/api/tv/config, /api/tv/report, LAN-only)
- com.dayline.photos 1.2.1: MorningActivity (screen on, volume, playlist),
  calendar alarm at wake time, Doze-safe chained check-ins
- Both TVs configured for 06:30 daily with the family playlist

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E9NnVEico3WvFxLyjy1iW3
This commit is contained in:
2026-11-04 22:48:50 -06:00
parent 2d16ded0c1
commit 6e94a0c998
22 changed files with 1083 additions and 18 deletions
@@ -1,3 +1,22 @@
# 1.4.0 (2026-11-04)
- Admin **TVs** tab: a morning routine for each TV.
- Wake time and days of the week.
- A YouTube Music playlist (paste any playlist link; the `si=` tracking part is dropped).
- The Shield's volume (0–100%).
- Settings are pushed to each TV on its next check-in (every 5 minutes). Each TV card shows when the TV has applied them and how its last morning routine went.
- TV endpoints, direct LAN only and refused through a proxy:
- `GET /api/tv/config?device=…` returns that TV's settings and records the check-in.
- `POST /api/tv/report` records the outcome of the morning routine.
- Check-in status lives in `/data/tv-status.json`, kept separate from the settings history.
- TVs that check in without being configured show up under "TVs found on the network" with an **Add** button.
- Settings history Restore leaves TV settings unchanged.
- Shield photo app `com.dayline.photos` 1.2.1 (versionCode 4) runs the routine:
- At the wake time minus 30 s, it turns the screen on (the TV follows over HDMI-CEC). After 5 s it sets the volume and starts the playlist in YouTube Music.
- At the wake time, a second alarm opens the calendar app (`com.dayline.tv`) on top while the music keeps playing (needs YouTube Music Premium).
- With music off, it opens the calendar straight away.
- It needs two one-time grants over ADB: `appops set com.dayline.photos SYSTEM_ALERT_WINDOW allow`, so it can open other apps from the background, and `dumpsys deviceidle whitelist +com.dayline.photos`, so check-ins keep network access while the Shield is in Doze.
# 1.3.0 (2026-11-04)
- `/photo/gallery`: a remote-driven photo grid for the Shield photo app's launcher tile.