- Electron main now exposes http://127.0.0.1:9990/screenshot that returns
a PNG via CDP Page.captureScreenshot (GNOME Wayland blocks external
capture, and webContents.capturePage() hangs on this compositor). The
endpoint is localhost-only.
- EMAIL_UPLOAD.md documents the n8n IMAP -> Samba share workflow for
Skylight-style email-to-photo-frame uploads.
- Removed ScreenManager idle sleep entirely (constructor no longer starts
the idle monitor, setIdleTimeout is now a no-op, unused fields and the
private startIdleMonitor method removed). Display never sleeps; the
photo frame provides the idle visual instead.
- DashboardContent now uses flex-row: calendar 90% wide, todo 10% wide.
The five-tab nav now includes a Controls tab between Home and Media.
Opens a full-screen overlay with the alarm panel, each configured
thermostat, lights, and locks tiled in a responsive 2-column grid.
- Top nav tabs (Home/Media/Cameras/Settings) replace the right-side button cluster
- Home view now shows calendar 90% / todo 10% vertically; lights, locks,
alarm, thermostats removed from the dashboard since the photo frame now
owns the idle space and the nav covers the remaining sections
- Motion detection deleted: the go2rtc-based Kitchen_Panel poll was only
there to wake the screen before idle timeout, which photo-frame exit on
touch replaces
- After 5 min of no touch/motion, dashboard hides behind a fullscreen
photo slideshow with centered time and date overlay
- Photos loaded from PHOTOS_PATH env var (defaults to ~/Pictures/dashboard)
via IPC + file:// URLs; traversal-guarded, recursive up to 2 levels
- Motion or touch exits idle back to dashboard
- Theme repainted warm cream / sage / stone ink with Nunito font and
rounded cards; dark tokens kept so component classes still resolve
- Adds PHOTO_FRAME.md with Samba cifs mount + systemd env instructions
- Add WebRTC auto-reconnect with exponential backoff when streams
disconnect or fail, preventing permanent freezes in grid view
- Replace hard-coded Front Porch person alert with generic system
that monitors all configured personDetectionEntities
- Map Frigate person_occupancy entities to cameras dynamically
- Show correct camera name and feed in alert overlay
- Bump config version to refresh detection entity defaults