feat: add remote device settings portal and Pi hot reload
- add /settings/device portal page and portal device-config GET endpoint - add portal navigation and client-side device settings editor UI - hot-reload Account/Car display config after local saves and server syncs - document portal workflow and Phase 25.5b completion - add runtime reload tests for account, car, and sync callback Co-authored-by: Copilot <[email protected]>
This commit is contained in:
@@ -55,12 +55,15 @@ Dashboard — mobile (390 px) and desktop (1280 px):
|
||||
Dashcam videos upload in resumable 40MB chunks (works around tunnel body-size limits and keeps
|
||||
the Pi's memory footprint flat regardless of file size); a UI toggle can pause dashcam uploads
|
||||
independently while trip logs keep syncing
|
||||
- 🌐 **Remote web portal** — a full read-only browser portal at the same server URL (Phase 24):
|
||||
login-protected (Flask-Login + bcrypt), trip history with OSM/CARTO live map and route replay,
|
||||
dashcam archive browsing with inline video player and Range-request seeking, overview stats
|
||||
dashboard, and delete buttons for trips and clips. Shared `history.js` code runs on both the
|
||||
Pi and the server — tile source and zoom limits are configured per-deployment via HTML data
|
||||
attributes. Accessible at `https://your-cloudflare-tunnel-url/`
|
||||
- 🌐 **Remote web portal** — a login-protected browser portal at the same server URL (Phase 24+):
|
||||
trip history with OSM/CARTO live map and route replay, dashcam archive browsing with inline
|
||||
video player and Range-request seeking, overview stats dashboard, delete buttons for trips and
|
||||
clips, and a device-settings page for editing the synced owner/car/avatar values that the Pi
|
||||
pulls from the server. When the Pi has **Sync with server** enabled, those identity changes hot-
|
||||
reload into the running local UI on the next successful sync instead of waiting for a manual
|
||||
restart. Shared `history.js` code runs on both the Pi and the server — tile
|
||||
source and zoom limits are configured per-deployment via HTML data attributes. Accessible at
|
||||
`https://your-cloudflare-tunnel-url/`
|
||||
- 📡 **Optional cellular fallback** through the SIM868 for small trip-log uploads when normal
|
||||
WiFi/Ethernet is unavailable (dashcam video stays off cellular)
|
||||
- 🗄️ **Motion-aware local-first SQLite logging** — five-second motion checks without five-second
|
||||
|
||||
Reference in New Issue
Block a user