spaxel/dashboard
jedarden 757d7240dc feat: implement snapshot-on-connect + incremental update protocol for dashboard WebSocket
- Hub sends full snapshot (type=snapshot) on new client connect before adding
  to broadcast list, preventing race with delta messages
- tickDelta at 10 Hz computes byte-level diffs of cached JSON fields, broadcasts
  only changed fields with no type field
- Dashboard sets awaitingSnapshot on WS open, drops incremental updates until
  snapshot received, rebuilds full state from snapshot
- Fix zone snapshot building (nil→ok check, SizeX fields)
- Remove unused broadcastBLEScan function
- Add drainSnapshot helper and fix TestHub_LinkEvents to account for snapshot
- Add TestHub_SnapshotOnConnect, TestHub_SnapshotBeforeDelta, TestHub_DeltaOmitsTypeField

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 22:00:36 -04:00
..
css feat: webhook action firing & fault tolerance for automations 2026-04-06 20:29:53 -04:00
js feat: implement snapshot-on-connect + incremental update protocol for dashboard WebSocket 2026-04-06 22:00:36 -04:00
index.html feat: webhook action firing & fault tolerance for automations 2026-04-06 20:29:53 -04:00
jest.config.js feat(dashboard): interactive onboarding wizard for ESP32-S3 node provisioning 2026-03-28 02:36:58 -04:00
package-lock.json feat(dashboard): interactive onboarding wizard for ESP32-S3 node provisioning 2026-03-28 02:36:58 -04:00
package.json feat(dashboard): interactive onboarding wizard for ESP32-S3 node provisioning 2026-03-28 02:36:58 -04:00