BetterFrame/kiosk
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
Cargo.lock refactor(kiosk): migrate all bundle IDs to String for UUIDv7 + ONVIF image proxy 2026-05-26 13:09:32 +02:00
Cargo.toml refactor(kiosk): migrate all bundle IDs to String for UUIDv7 + ONVIF image proxy 2026-05-26 13:09:32 +02:00
prototype.sh fix(deploy): require proxied local services 2026-05-11 09:51:00 +02:00