ambitious-magician-50109
11/25/2025, 5:54 PMbackendpy | 2025-11-19 15:59:37,560 - livekit.agents - DEBUG - waiting for the remote participant
backendpy | 2025-11-19 15:59:37,560 - livekit.agents - DEBUG - remote participant ready
backendpy | 2025-11-19 15:59:38,000 - livekit.agents - DEBUG - shutting down job task
backendpy | 2025-11-19 15:59:38,004 - livekit - DEBUG - tungstenite::protocol:666:tungstenite::protocol - Received close frame: Some(CloseFrame { code: Normal, reason: "" })
backendpy | 2025-11-19 15:59:38,005 - livekit - DEBUG - tungstenite::protocol:683:tungstenite::protocol - Replying to close with Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Control(Close), mask: None }, payload: [3, 232] }
backendpy | 2025-11-19 15:59:38,011 - livekit - WARNING - livekit::rtc_engine:453:livekit::rtc_engine - received session close: "signal client closed: \"stream closed\"" UnknownReason Resume
backendpy | 2025-11-19 15:59:38,008 - livekit.agents - INFO - process exiting
Here is another instance showing the side effects (WebSocket errors) caused by this abrupt disconnection:
backendpy | 2025-11-19 15:50:20,532 - livekit.agents - DEBUG - waiting for the remote participant
backendpy | 2025-11-19 15:50:23,002 - livekit.agents - DEBUG - shutting down job task
backendpy | 2025-11-19 15:50:23,003 - livekit - DEBUG - tungstenite::protocol:666:tungstenite::protocol - Received close frame: Some(CloseFrame { code: Normal, reason: "" })
backendpy | 2025-11-19 15:50:23,004 - livekit.agents - INFO - process exiting
backendpy | {"message": "process exiting", "level": "INFO", "name": "livekit.agents", "reason": "room disconnected", "pid": 73, "job_id": "AJ_LzkFJiyL2C3x", "timestamp": "2025-11-19T15:50:23.004822+00:00"}
backendpy | 2025-11-19 15:50:23,006 - livekit - DEBUG - tokio_tungstenite:355:tokio_tungstenite - websocket start_send error: WebSocket protocol error: Sending after closing is not allowed
backendpy | 2025-11-19 15:50:23,009 - livekit - INFO - livekit::room:1388:livekit::room - disconnected from room with reason: RoomClosed
My main question:
Can you clarify if the error
signal client closed: "stream closed"
is originating from a server-side timeout or some infrastructure instability? This behavior is intermittent, so it’s difficult to pinpoint.
Any insights from the LiveKit team or others who have experienced this would be greatly appreciated.salmon-book-76481
11/26/2025, 10:07 PM[livekit] could not get connected server address TypeError: null: type 'Null' is not a subtype of type 'String'
Here is the log leading up to the error:
[livekit] prepareConnection to <wss://demo-eukecq5l.livekit.cloud>
[livekit] ping config timeout: 15, interval: 5ambitious-magician-50109
11/27/2025, 3:10 PMsignal client closed: "stream closed" error.
📊 Key Logs:
2025-11-19 15:59:37,560 - livekit.agents - DEBUG - remote participant ready
2025-11-19 15:59:38,000 - livekit.agents - DEBUG - shutting down job task
2025-11-19 15:59:38,004 - livekit - DEBUG - Received close frame: Some(CloseFrame { code: Normal, reason: "" })
2025-11-19 15:59:38,011 - livekit - WARNING - received session close: "signal client closed: \"stream closed\"" UnknownReason Resume
❓ Main Questions:
1. Is signal client closed: "stream closed" a server-side timeout or infrastructure issue?
2. Why would the session close immediately after participant ready?
3. Is this a known issue with the Hedra + LiveKit integration?
💰 We're Open to Paid Consulting: If anyone has experience solving this or similar issues with LiveKit Agents, we're happy to discuss paid consulting rates. Please DM me or respond here.
Additional Context:
• Behavior is intermittent (not every session)
• Happens during the critical handoff between participant ready and agent start
• Full logs available upon request
Any guidance would be immensely appreciated. Time-sensitive project.
Thanks in advance! 🙏proud-microphone-82200
11/29/2025, 2:58 AMbroad-agency-36763
12/09/2025, 7:11 PMbig-author-39928
12/10/2025, 4:01 PMrefined-dinner-4989
12/11/2025, 11:00 AMhallowed-cpu-18192
12/13/2025, 3:51 PMmany-printer-46539
12/16/2025, 12:56 PMimportant-psychiatrist-73895
12/16/2025, 11:23 PMstrong-cricket-130
12/18/2025, 8:44 AMadventurous-iron-64735
12/19/2025, 9:54 AMyield return connect; in Android builds
Description: I am experiencing a connection issue with the LiveKit Unity SDK specifically on the Android platform. While the connection logic works perfectly in the Unity Editor and Windows standalone builds, it fails to complete the connection process when running on an Android APK.
Current Behavior: The execution hangs indefinitely at yield return connect;. The code never proceeds to the next line, and surprisingly, no error messages or exceptions are generated in the logs.
Environment:
• Unity Version: 6000.0.60f1
• LiveKit Unity SDK: Latest version
• Target Platform: Android (APK)
Steps Taken:
1. Verified that the URL and Token are correct (works on Desktop).
2. Ensured the device has an active internet connection.
3. The connection state remains stuck at "Connecting" without timing out or crashing.fast-thailand-41521
12/21/2025, 1:03 PMcrooked-cat-49161
12/22/2025, 6:47 AMfuture-beard-52446
12/26/2025, 2:13 AMgifted-football-22847
12/26/2025, 10:15 AMquick-cricket-70531
12/29/2025, 1:21 PMShortArray. We do not want to use the device microphone.
In @livekit/react-native, is there an official/supported API to:
override WebRTC’s audio capture via a custom AudioDeviceModule, or
• push raw PCM frames into the capture path (e.g., for LocalAudioTrack)?
LiveKitReactNative.setup() appears to set the ADM internally—can it be replaced, and if yes, how?thousands-lock-99694
12/29/2025, 5:41 PMpublishDtmf method:
https://github.com/livekit/client-sdk-android/blob/main/livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt#L1022C17-L1022C28
Am I missing something? Thank you!stale-microphone-76591
12/30/2025, 8:38 AMpublishData(). Below is the function we’re using:
suspend fun sendText(text: String, topic: String = "lk.chat"): Boolean {
Log.d("LiveKitManager", "canPublishData=" + room?.localParticipant?.permissions?.canPublishData)
return try {
val payload = text.toByteArray(Charsets.UTF_8)
val res = room?.localParticipant?.publishData(
data = payload,
reliability = DataPublishReliability.RELIABLE,
topic = "chat"
)
Log.d("LiveKitManager","The res is $res")
res?.onFailure { Log.e("LiveKitManager", "publishData failed", it) }
res?.isSuccess == true
} catch (e: Exception) {
false
}
}
Observations
1. canPublishData is true for the local participant.
publishData() returns a success result (no exception thrown).
However, the data is not received on the remote participant side.
The topic parameter passed to the function ("lk.chat") seems to be ignored, and the SDK examples/documentation often show "lk.chat" as a default topic.
1. Changing the topic value (e.g., "chat", "custom") does not appear to affect delivery behavior.
Environment
• Platform: Android
• LiveKit Android SDK (latest stable)
• Room is successfully connected
• Permissions verified on server side
Would mean a lot if someone can guide us along in this.handsome-winter-80038
01/01/2026, 6:08 AMcool-businessperson-7526
01/02/2026, 12:09 PMcool-businessperson-7526
01/02/2026, 2:52 PMsteep-fireman-8880
02/16/2026, 8:02 PMwooden-actor-49036
02/16/2026, 8:31 PMwooden-actor-49036
02/17/2026, 6:21 PMwooden-actor-49036
02/17/2026, 6:22 PMlively-winter-88668
02/20/2026, 10:21 AMHi everyone, please be aware that we have a new community forum at community.livekit.io and the plan is to move support for this channel into that new forum. Please see full details here. The Slack community will remain, but we will do housekeeping of the technical channels after that date.
steep-balloon-41261
05/11/2026, 8:50 AMorange-activity-56584
05/18/2026, 11:56 AMlively-winter-88668
05/27/2026, 8:48 AM