From 48a58cbea81c63d85ad39704c16a471aef0f2d8d Mon Sep 17 00:00:00 2001 From: Philipp Zerelles <66033561+pzerelles@users.noreply.github.com> Date: Wed, 1 Oct 2025 16:15:02 +0200 Subject: [PATCH] fix: delay processing of localTrackPublished event because of race conditions --- packages/livekit-rtc/src/room.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/livekit-rtc/src/room.ts b/packages/livekit-rtc/src/room.ts index a9721b26..de7ab915 100644 --- a/packages/livekit-rtc/src/room.ts +++ b/packages/livekit-rtc/src/room.ts @@ -334,8 +334,10 @@ export class Room extends (EventEmitter as new () => TypedEmitter participant!.info.disconnectReason = ev.value.disconnectReason; this.emit(RoomEvent.ParticipantDisconnected, participant!); } else if (ev.case == 'localTrackPublished') { - const publication = this.localParticipant!.trackPublications.get(ev.value.trackSid!); - this.emit(RoomEvent.LocalTrackPublished, publication!, this.localParticipant!); + setImmediate(() => { + const publication = this.localParticipant!.trackPublications.get(ev.value.trackSid!); + this.emit(RoomEvent.LocalTrackPublished, publication!, this.localParticipant!); + }); } else if (ev.case == 'localTrackUnpublished') { const publication = this.localParticipant!.trackPublications.get(ev.value.publicationSid!); this.localParticipant!.trackPublications.delete(ev.value.publicationSid!);