8715589cbb
- /admin: first-visit password setup (scrypt), signed 30-day session cookie, calendars add/remove/reorder/rename/color/hide, masked URLs, per-feed test, history (20) with restore; /photo-admin -> /admin#photos placeholder - settings in local /data (settings.json + auth.json + history/), seeded once from the calendar secret; dashboard + health read from settings - start.mjs drops privileges after reading secrets and runs a front proxy that stamps the real client IP; admin refuses non-LAN and proxied requests - deploy: HOBBS_DATA_DIR=/var/lib/hobbs-organizer/data, image 1.1.0 (1.0.0 kept) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E9NnVEico3WvFxLyjy1iW3
1.4 KiB
1.4 KiB
1.1.0 (2026-11-04)
- Password-protected, LAN-only
/adminscreen 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-adminredirects 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.