feat: add multi-device provisioning and local remote-config UI
- add multi-device portal device management, key rotation, and sync request APIs - add Pi settings UI for remote server URL, device name, and API key - add local test-connection and sync-now actions - make upload and config sync reuse dynamic shared credentials - add Phase 25.5c migration and docs updates Co-authored-by: Copilot <[email protected]>
This commit is contained in:
@@ -59,11 +59,12 @@ Dashboard — mobile (390 px) and desktop (1280 px):
|
||||
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/`
|
||||
pulls from the server. The portal can register multiple devices, reveal a one-time API key at
|
||||
creation/rotation time, and request a sync for a selected device. 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