spaxel/dashboard/js
jedarden c0416fee6c feat(dashboard): anomaly detection & security mode UI with WS consistency fix
- Add security status card with arm/disarm dialog, DISARMED/LEARNING/ARMED/ALERT
  badge, learning progress bar (N of 7 days), and last-anomaly summary line
- Add full-width alert banner with acknowledge button for armed-mode anomalies;
  acknowledged alerts disappear from banner but remain in history
- Add anomaly timeline panel (24h) with severity scores and timeline navigation
- Fix WS broadcast field names to match AnomalyEvent JSON/REST API:
  anomaly_type→type, timestamp_ms→RFC3339 timestamp so JS handles both
  WS pushes and polled history uniformly
- Fix formatTimeAgo() to parse RFC3339 string timestamps in addition to Unix-ms
- Fix fetchAnomalyCount() to use /api/anomalies?since=24h (structured response)
  instead of /api/anomalies/history (returns plain array)
- Add security-card detail area styling to anomaly.css
- Add BlobIdentityProvider wiring in zones API for people resolution in zone responses
- Add linkweather diagnostic engine tests (Rules 1-5 + helpers)

All go test ./... pass; go vet ./... clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 09:03:51 -04:00
..
accuracy.js feat(localization): implement self-improving localization with BLE ground truth 2026-03-29 20:11:22 -04:00
ambient.js feat: implement ambient dashboard mode with Canvas 2D renderer 2026-04-10 23:16:52 -04:00
ambient.test.js feat: implement ambient dashboard mode with Canvas 2D renderer 2026-04-10 23:16:52 -04:00
ambient.test.setup.js feat: implement ambient dashboard mode with Canvas 2D renderer 2026-04-10 23:16:52 -04:00
ambient_briefing.js feat: implement ambient dashboard mode with Canvas 2D renderer 2026-04-10 23:16:52 -04:00
ambient_renderer.js feat: implement ambient dashboard mode with Canvas 2D renderer 2026-04-10 23:16:52 -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
apdetection.js feat: integrate OUI lookup into passive radar AP detection 2026-04-09 06:35:44 -04:00
app.js feat(dashboard): add Fresnel zone debug overlay with shared geometry module 2026-04-25 01:43:51 -04:00
auth.js feat: implement dashboard PIN authentication and session management 2026-04-06 13:16:04 -04:00
automation-builder.js feat: webhook action firing & fault tolerance for automations 2026-04-06 20:29:53 -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
ble-panel.js feat: implement BLE device discovery & registration dashboard panel 2026-04-06 15:21:11 -04:00
briefing.js feat: implement morning briefing feature 2026-04-10 00:25:33 -04:00
command-palette.js feat(dashboard): polish tap-to-jump UX and remove expert-mode gating 2026-04-24 23:16:56 -04:00
command-palette.test.js feat(dashboard): polish tap-to-jump UX and remove expert-mode gating 2026-04-24 23:16:56 -04:00
crowdflow.js feat: complete crowd flow visualization implementation 2026-04-11 07:27:21 -04:00
diurnal-chart.js feat: complete floor plan dashboard UI 2026-04-09 08:37:08 -04:00
esptool-bundle.js refactor: replace esp-web-tools with vendored esptool-js, auto-start flash 2026-04-16 09:54:35 -04:00
explain.js feat(explainability): add explain.js entry point module for right-click/long-press explain mode 2026-04-24 20:05:10 -04:00
explainability.js feat(explainability): detection explainability overlay with per-link contributions, Fresnel zones, and BLE identity 2026-04-24 19:23:55 -04:00
explainability.test.js feat(ui): implement command palette (Component 34) with tests 2026-04-13 19:51:16 -04:00
feedback.js feat: implement post-feedback explanations for false positive detections 2026-04-11 00:18:19 -04:00
fleet-page.js feat(dashboard): polish tap-to-jump UX and remove expert-mode gating 2026-04-24 23:16:56 -04:00
fleet-page.test.js feat(onboarding): harden node onboarding UX with migration window and unpaired flow 2026-04-24 23:16:56 -04:00
fleet.js feat(onboarding): migration window, Unpaired badge, re-provision flow 2026-04-24 18:46:47 -04:00
floorplan-setup.js feat: wire anomaly detection & security mode API endpoints 2026-04-07 14:36:59 -04:00
fresnel.js fix(dashboard): clean up Fresnel toggle sync and fix semi-minor axis formula 2026-04-25 00:25:24 -04:00
fresnel.test.js fix(dashboard): clean up Fresnel toggle sync and fix semi-minor axis formula 2026-04-25 00:25:24 -04:00
fxaa.js feat: use FXAA instead of MSAA on mobile devices 2026-04-11 03:33:29 -04:00
guided-help.js feat: implement spatial quick actions with follow camera 2026-04-09 22:54:36 -04:00
help.js feat(dashboard): polish tap-to-jump UX and remove expert-mode gating 2026-04-24 23:16:56 -04:00
home-cards.js fix(dashboard): improve home-cards.js snapshot caching and alert handling 2026-04-24 13:07:18 -04:00
integrations.js feat: home automation integration (MQTT and webhooks) 2026-04-11 06:29:51 -04:00
layers.js feat(dashboard): add layer management module for toggle controls 2026-04-25 00:15:39 -04:00
linkhealth.js feat(signal): add ambient confidence score and link health monitoring 2026-03-29 01:41:43 -04:00
mobile.test.js test: add mobile responsiveness test suite 2026-04-11 04:06:04 -04:00
notifications.js fix(dashboard): remove ES module export from notifications.js 2026-04-24 17:45:12 -04:00
onboard.js feat(onboarding): harden node onboarding UX with migration window and unpaired flow 2026-04-24 23:16:56 -04:00
onboard.test.js feat(onboarding): harden node onboarding UX with migration window and unpaired flow 2026-04-24 23:16:56 -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 fix: add touch event propagation prevention to modal panels 2026-04-11 03:04:29 -04:00
placement.js feat: complete pre-deployment simulator implementation 2026-04-09 21:30:47 -04:00
portal.js feat: implement room transition portals and zone occupancy 2026-04-10 08:10:12 -04:00
proactive.js feat(dashboard): anomaly detection & security mode UI with WS consistency fix 2026-04-25 09:03:51 -04:00
proactive.test.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:05:52 -04:00
quick-actions.js feat: implement spatial quick actions context menu for 3D scene 2026-04-10 22:56:17 -04:00
quick-actions.test.js feat: implement spatial quick actions context menu for 3D scene 2026-04-10 22:56:17 -04:00
replay.js feat(dashboard): implement tap-to-jump time-travel coordination 2026-04-24 18:14:51 -04:00
replay.test.js fix(dashboard): repair CSS syntax errors and complete token migration 2026-04-24 16:57:32 -04:00
router.js feat(dashboard): polish tap-to-jump UX and remove expert-mode gating 2026-04-24 23:16:56 -04:00
security-panel.js feat(dashboard): anomaly detection & security mode UI with WS consistency fix 2026-04-25 09:03:51 -04:00
settings-panel.js remove(auth): drop PIN-based auth — Google OAuth handles access 2026-04-13 20:44:12 -04:00
sidebar-timeline.js feat(dashboard): tap-to-jump time-travel removes expert mode gating 2026-04-24 21:47:32 -04:00
sidebar-timeline.test.js feat(dashboard): tap-to-jump time-travel removes expert mode gating 2026-04-24 21:47:32 -04:00
simulate.js feat: complete pre-deployment simulator implementation 2026-04-09 21:30:47 -04:00
sleep.js feat(explainability): detection explainability overlay with per-link contributions, Fresnel zones, and BLE identity 2026-04-24 19:23:55 -04:00
state.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
timeline.js chore(dashboard): remove last simple/expert mode remnants 2026-04-24 21:30:28 -04:00
timeline.test.js feat(timeline): tap-to-jump time-travel with correct mode handling 2026-04-24 20:11:44 -04:00
tooltip.js feat: implement guided troubleshooting with proactive contextual help 2026-04-10 04:25:31 -04:00
tooltips.js feat: implement guided troubleshooting with proactive contextual help 2026-04-10 04:25:31 -04:00
troubleshoot.js feat: implement guided troubleshooting with proactive contextual help 2026-04-10 04:25:31 -04:00
troubleshoot.test.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
viz3d.js feat(dashboard): add Fresnel zone debug overlay with shared geometry module 2026-04-25 01:43:51 -04:00
volume-editor.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
websocket.js feat: robust WebSocket reconnection with backoff, extrapolation, and visual states 2026-04-07 12:34:35 -04:00
zone-editor.js feat: implement room transition portals and zone occupancy 2026-04-10 08:10:12 -04:00