00e0cc42cf
- /photo/gallery: D-pad grid, OK opens full screen, arrows browse, Back returns - 400px gallery tiles cached per photo (sync + uploads) - com.dayline.photos 1.1: launcher tile opens the gallery, takes remote input, Back steps through WebView history; screensaver unchanged - slideshow interval 20s -> 15s (live settings) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E9NnVEico3WvFxLyjy1iW3
49 lines
3.3 KiB
Markdown
49 lines
3.3 KiB
Markdown
# 1.3.0 (2026-11-04)
|
|
|
|
- `/photo/gallery`: a remote-driven photo grid for the Shield photo app's launcher tile.
|
|
- Arrows move between tiles, OK opens a photo full screen with a zoom-in, and ◀ ▶ browse while it is open.
|
|
- Back (or OK) returns to the grid, and a **Slideshow** button at the top starts `/photo`.
|
|
- Photos are shown newest first.
|
|
- After 10 minutes without a key press, the slideshow starts on its own. The app keeps the screen on, so the TV screensaver never would.
|
|
- Sync now also caches a 400px gallery tile (`<key>.m.jpg`) per photo. Existing albums backfill on their next sync.
|
|
- Admin uploads send a tile too. Older uploads without one use the full photo in the grid.
|
|
- `/api/photos` entries gain a `tile` field.
|
|
- Shield photo app `com.dayline.photos` 1.1 (versionCode 2):
|
|
- The launcher tile opens the gallery and takes D-pad input.
|
|
- Back steps back through the gallery's history (closing a full-screen photo) before exiting.
|
|
- The screensaver is unchanged (non-interactive slideshow).
|
|
|
|
# 1.2.0 (2026-11-04)
|
|
|
|
- `/photo`: full-screen photo frame with crossfade, a blurred backdrop or fill mode, shuffle, and the date taken.
|
|
- It picks up new settings and photos within about 30 seconds and reloads itself every 12 hours.
|
|
- Admin **Photos** tab:
|
|
- Google Photos shared albums: paste the share link, use **Check**, and **Sync now**. The tab shows sync status, stale warnings and errors.
|
|
- Slideshow options.
|
|
- Photo uploads. Each upload is resized in the browser to 1920px plus a 64px backdrop thumbnail.
|
|
- Albums sync every 6 hours (and 15 seconds after start).
|
|
- Each sync caches up to 500 photos per album at 1920px under `/data/photos`, skips videos, and removes photos deleted from the album.
|
|
- `/api/health/photos` returns 503 when an enabled album has not synced for 48 hours.
|
|
- History and Restore now cover photo settings too. A restore re-syncs any album it brings back.
|
|
- The minimum admin password length is now 6.
|
|
|
|
# 1.1.0 (2026-11-04)
|
|
|
|
- Password-protected, LAN-only `/admin` screen for calendar links (masked, test, history/restore).
|
|
- Calendars are read from `/data/settings.json` (seeded once from the calendar secret).
|
|
- The supervisor drops privileges right after reading secrets. A front proxy on :3000 records the real client IP.
|
|
- `/photo-admin` redirects to `/admin#photos`, a placeholder for the upcoming photo frame.
|
|
|
|
# Release 1.0.0
|
|
|
|
Built and validated on 2026-11-04.
|
|
|
|
- Replaced the hosted Cloudflare/Vinext runtime with a standard production Next.js container.
|
|
- Added runtime-only calendar secrets and optional bearer authentication.
|
|
- Added configurable timezone and weather settings, bounded feed responses, redirect validation, health checks, and hardened Compose settings.
|
|
- Included cross-platform configuration, backup, restore, and migration documentation.
|
|
- Included NVIDIA Shield wrapper v1.4 (`com.dayline.tv`, version code 5) with local URL support, exact-origin enforcement, optional bearer injection, controlled private-LAN HTTP, internal-CA support, and hosted rollback.
|
|
- Preserved the existing app identity, signing certificate, private app data, and per-device schedule flag during in-place upgrades.
|
|
|
|
The current hosted dashboard and installed Shield applications are not changed merely by extracting this package. Follow `MIGRATION.md` when the internal server URL is ready.
|