mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-09-07 15:07:17 +00:00
OnTransportState routed connect/disconnect through applyConnectionStateEvent, which calls ApplyFieldEvent(FieldConnectivity, ...). That unconditionally bumps FieldConnectivity's applied generation, so a transient WebSocket transport blip could invalidate a concurrently-completing, genuinely successful HTTP poll's IsConnected merge -- exactly the kind of cross-mechanism staleness bug the per-field fencing was built to prevent. ObserveEventStreamTransport already derives IsConnected (via applyConnectivityLocked) from the same transport signal, so the extra call was redundant as well as unsafe. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>