diff --git a/livekit-rtc/livekit/rtc/room.py b/livekit-rtc/livekit/rtc/room.py index 8a919ee4..bb1491b5 100644 --- a/livekit-rtc/livekit/rtc/room.py +++ b/livekit-rtc/livekit/rtc/room.py @@ -75,6 +75,7 @@ "reconnected", "room_updated", "moved", + "token_refreshed", ] @@ -168,6 +169,9 @@ def __init__( self._text_stream_handlers: Dict[str, TextStreamHandler] = {} self._byte_stream_handlers: Dict[str, ByteStreamHandler] = {} + self._token: str | None = None + self._server_url: str | None = None + def __del__(self) -> None: if self._ffi_handle is not None: FfiClient.instance.queue.unsubscribe(self._ffi_queue) @@ -416,6 +420,8 @@ def on_participant_connected(participant): await room.connect("ws://localhost:7880", "your_token") ``` """ + self._server_url = url + self._token = token req = proto_ffi.FfiRequest() req.connect.url = url req.connect.token = token @@ -886,6 +892,10 @@ def _on_room_event(self, event: proto_room.RoomEvent): if participant: participant._info = info + elif which == "token_refreshed": + self._token = event.token_refreshed.token + self.emit("token_refreshed") + def _handle_stream_header( self, header: proto_room.DataStream.Header, participant_identity: str ):