Repository navigation
What's fixed
v0.10.1's broadcast fallback worked in isolation but stayed offline in the real deployment: the poll loop hands Status a 4s context, and a broadcast-only handshake (scan + 4s unicast timeout + broadcast bind) outlives it. workCtx propagated the deadline expiry as a cancellation, so every poll killed the handshake right at the broadcast bind — the AC never came online.
Change
workCtxnow drops a caller's deadline expiry and only propagates an explicit cancel (parent.Err() == context.Canceled). The client bounds the handshake (12s) and status read (4s) itself.- Regression test: the broadcast-only handshake completes even under a short caller deadline.
- Verified against the real AC with a 500ms caller deadline → online.
Rollout
ghcr.io/khaledez/camonitor:0.10.2 (pinned image bump follows).