BetterFrame/server/src/plugins
Mitchell R 16ab165b06 feat: live updates via WebSocket — server pushes, kiosk reloads
Server side:
- service-coordinator-ws: full WS implementation using ws package
- Auth via ?token=<kiosk_key> query param
- Coordinator registry for cross-plugin notification
- Admin mutations call notifyKiosks() → server pushes reload-bundle
- 30s ping/pong heartbeat

Kiosk side:
- Rust ws_client with tokio runtime + tokio-tungstenite
- Auto-reconnect with exponential backoff (1s → 60s cap)
- On reload-bundle: re-fetches bundle, re-renders layout
- Pong replies to server pings

Also fix: auto-suffix kiosk name on UNIQUE collision (re-pair with
same hostname no longer fails).
2026-05-10 22:15:58 +02:00
..
service-admin-http feat: live updates via WebSocket — server pushes, kiosk reloads 2026-05-10 22:15:58 +02:00
service-api-http feat: implement kiosk API, pairing flow, and bundle generation 2026-05-10 03:12:07 +02:00
service-coordinator-ws feat: live updates via WebSocket — server pushes, kiosk reloads 2026-05-10 22:15:58 +02:00
service-store fix: drop legacy layouts.template_id/display_id columns via table rebuild 2026-05-10 22:03:32 +02:00