spaxel/dashboard/js
jedarden e83b54a9ec feat: implement dashboard PIN authentication and session management
Backend (mothership/internal/auth/):
- SQLite auth table with pin_bcrypt and install_secret (singleton row)
- GET /api/auth/status — return {pin_configured: bool}
- POST /api/auth/setup — sets PIN (bcrypt cost 12) on first run only
- POST /api/auth/login — verifies PIN, issues session cookie (7-day expiry)
- POST /api/auth/logout — clears cookie and deletes session from SQLite
- Session middleware: all /api/* and /ws/* require valid session
- Rolling window: extends session by 7 days if within 24h of expiry
- Install secret generation for node token derivation

Dashboard (dashboard/js/auth.js):
- On load: GET /api/auth/status check
- First-run setup page: enter PIN + confirm PIN → POST /api/auth/setup → reload
- Login page: shown on 401; PIN entry → POST /api/auth/login → reload
- Logout button in settings panel → POST /api/auth/logout → redirect

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 13:16:04 -04:00
..
accuracy.js feat(localization): implement self-improving localization with BLE ground truth 2026-03-29 20:11:22 -04:00
anomaly.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
app.js feat: expand dashboard WebSocket feed with events, alerts, BLE, triggers, and system health 2026-04-06 10:18:04 -04:00
auth.js feat: implement dashboard PIN authentication and session management 2026-04-06 13:16:04 -04:00
automations.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
blepanel.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
feedback.js feat(learning): implement detection feedback loop and accuracy tracking 2026-03-29 14:50:36 -04:00
fleet.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
linkhealth.js feat(signal): add ambient confidence score and link health monitoring 2026-03-29 01:41:43 -04:00
onboard.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
onboard.test.js fix(dashboard): fix onboarding wizard test failures 2026-03-28 04:01:20 -04:00
onboard.test.setup.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
ota.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
panels.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
placement.js feat(dashboard): interactive 3D node placement with real-time GDOP coverage overlay 2026-03-28 09:25:44 -04:00
router.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
settings-panel.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
state.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
timeline.js feat: implement dashboard activity timeline view 2026-04-06 12:01:19 -04:00
tooltips.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
troubleshoot.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
troubleshoot.test.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
viz3d.js ci: set VERSION to 0.1.0 for image build 2026-04-06 08:53:25 -04:00