From c48ed8c8b37296c2058cf52e4be04a6024d01d30 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 11 May 2026 22:04:22 -0400 Subject: [PATCH] fix: type errors with republished event --- livekit-rtc/livekit/rtc/room.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/livekit-rtc/livekit/rtc/room.py b/livekit-rtc/livekit/rtc/room.py index 574cf493..5bf9e494 100644 --- a/livekit-rtc/livekit/rtc/room.py +++ b/livekit-rtc/livekit/rtc/room.py @@ -740,11 +740,12 @@ def _on_room_event(self, event: proto_room.RoomEvent): # reference continues to see current state, then rekey it # under the new SID in the participant's publications dict. previous_sid = event.local_track_republished.previous_sid - lpublication = self.local_participant._track_publications.pop(previous_sid, None) - if lpublication is not None: - lpublication._info = event.local_track_republished.info - self.local_participant._track_publications[lpublication.sid] = lpublication - self.emit("local_track_republished", lpublication, previous_sid) + republished = self.local_participant._track_publications.get(previous_sid) + if republished is not None: + del self.local_participant._track_publications[previous_sid] + republished._info = event.local_track_republished.info + self.local_participant._track_publications[republished.sid] = republished + self.emit("local_track_republished", republished, previous_sid) elif which == "local_track_subscribed": sid = event.local_track_subscribed.track_sid lpublication = self.local_participant.track_publications[sid]