Skip to content

Commit fb132fb

Browse files
authored
Ensure that if the signal layer is disconnected, signalling messages aren't sent in another place (#1601)
1 parent ab92468 commit fb132fb

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

.changeset/rare-nails-share.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'livekit-client': patch
3+
---
4+
5+
skip errant signal layer leave message when already disconnected

src/api/SignalClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,12 @@ export class SignalClient {
669669
if (this.signalLatency) {
670670
await sleep(this.signalLatency);
671671
}
672+
if (this.isDisconnected) {
673+
// Skip requests if the signal layer is disconnected
674+
// This can happen if an event is sent in the mist of room.connect() initializing
675+
this.log.debug(`skipping signal request (type: ${message.case}) - SignalClient disconnected`);
676+
return;
677+
}
672678
if (!this.ws || this.ws.readyState !== this.ws.OPEN) {
673679
this.log.error(
674680
`cannot send signal request before connected, type: ${message?.case}`,

0 commit comments

Comments
 (0)