diff --git a/.changeset/fix-signal-client-volatile.md b/.changeset/fix-signal-client-volatile.md new file mode 100644 index 00000000..983f3399 --- /dev/null +++ b/.changeset/fix-signal-client-volatile.md @@ -0,0 +1,5 @@ +--- +"client-sdk-android": patch +--- + +Fix thread visibility issues in SignalClient that could cause messages to be silently dropped. \ No newline at end of file diff --git a/livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt b/livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt index c1a472da..9a844c8b 100644 --- a/livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt +++ b/livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt @@ -79,9 +79,14 @@ constructor( private val ioDispatcher: CoroutineDispatcher, private val networkInfo: NetworkInfo, ) : WebSocketListener() { + @Volatile var isConnected = false private set + + @Volatile private var currentWs: WebSocket? = null + + @Volatile private var isReconnecting: Boolean = false var listener: Listener? = null internal var serverVersion: Semver? = null