BetterFrame/kiosk/src
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
..
at_rest.rs feat(harden): hardware-bound at-rest encryption of kiosk state files 2026-05-21 11:34:29 +02:00
audio.rs feat: audio controls, reboot button, update lock, ONVIF refresh 2026-05-26 16:57:41 +02:00
axiom.rs feat(kiosk): include kiosk_id in Axiom log entries after pairing 2026-05-26 01:24:52 +02:00
bundle.rs fix: md5 crate v0.7 API (compute not Digest) + clone default_layout_id 2026-05-26 15:03:29 +02:00
cec.rs feat(display): report and control power state 2026-05-21 09:10:30 +02:00
firmware.rs feat: audio controls, reboot button, update lock, ONVIF refresh 2026-05-26 16:57:41 +02:00
gpio.rs fix: gpio lines binding must be mut for read_event 2026-05-13 01:23:09 +02:00
hwmon.rs feat: expand BF_DATA on first boot + wire update progress banner + partition reporting 2026-05-26 08:09:20 +02:00
local_server.rs refactor(kiosk): migrate all bundle IDs to String for UUIDv7 + ONVIF image proxy 2026-05-26 13:09:32 +02:00
main.rs feat: audio controls, reboot button, update lock, ONVIF refresh 2026-05-26 16:57:41 +02:00
onvif_events.rs fix: ONVIF single-kiosk ownership + rate limiting 2026-05-27 01:40:44 +02:00
os_update.rs feat: expand BF_DATA on first boot + wire update progress banner + partition reporting 2026-05-26 08:09:20 +02:00
pipeline.rs fix(kiosk): extract RTSP creds as rtspsrc properties for digest auth 2026-05-26 06:23:38 +02:00
remote_debug.rs fix(terminal): plain bash as bfkiosk, no sudo/root + journal via group 2026-05-22 23:35:40 +02:00
server.rs fix: ONVIF single-kiosk ownership + rate limiting 2026-05-27 01:40:44 +02:00
ui.rs feat: audio controls, reboot button, update lock, ONVIF refresh 2026-05-26 16:57:41 +02:00
ws_client.rs feat: audio controls, reboot button, update lock, ONVIF refresh 2026-05-26 16:57:41 +02:00