BetterFrame/server
Mitchell R e1a3cd1d05
fix: ONVIF single-kiosk ownership + rate limiting
Server-side:
- Bundle gen: when camera event_source is "auto", first kiosk to fetch
  bundle claims ownership → writes "kiosk:<id>" to camera row. Other
  kiosks see assigned owner and skip ONVIF subscription.
- Kiosk deletion resets event_source back to "auto" so next kiosk
  takes over.
- repo.getActiveOnvifOwners() for future use.

Kiosk-side:
- Only subscribe when event_source is "auto" or "kiosk:<MY_ID>".
  Skips "kiosk:<other_id>", "server", "none", "disabled".
- Poll interval: 3s → 10s (cameras were getting overwhelmed)
- CreatePullPoint backoff: exponential 30s→60s→120s...→600s max
- Pull errors: exponential 15s→30s→45s...→300s, resubscribe after 5
  consecutive failures instead of immediately.
- load_kiosk_id() helper reads from cached bundle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-27 01:40:44 +02:00
..
src fix: ONVIF single-kiosk ownership + rate limiting 2026-05-27 01:40:44 +02:00
.gitignore build fixes for bsb 2026-05-10 01:46:11 +02:00
bsb-tests.json refactor(db): move service-store from BSB plugin to shared/db library 2026-05-24 02:48:32 +02:00
package.json fix(docker): package name betterframe + copy nodered workspace pkg 2026-05-24 03:17:43 +02:00
tsconfig.json adding initial project 2026-05-10 01:09:13 +02:00