@@ -96,6 +96,9 @@ export class Room extends (EventEmitter as new () => TypedEmitter<RoomCallbacks>
9696
9797 private preConnectEvents : FfiEvent [ ] = [ ] ;
9898
99+ private _token ?: string ;
100+ private _serverUrl ?: string ;
101+
99102 e2eeManager ?: E2EEManager ;
100103 connectionState : ConnectionState = ConnectionState . CONN_DISCONNECTED ;
101104
@@ -118,6 +121,16 @@ export class Room extends (EventEmitter as new () => TypedEmitter<RoomCallbacks>
118121 return this . ffiHandle != undefined && this . connectionState != ConnectionState . CONN_DISCONNECTED ;
119122 }
120123
124+ /** @internal */
125+ get token ( ) : string | undefined {
126+ return this . _token ;
127+ }
128+
129+ /** @internal */
130+ get serverUrl ( ) : string | undefined {
131+ return this . _serverUrl ;
132+ }
133+
121134 /**
122135 * Gets the room's server ID. This ID is assigned by the LiveKit server
123136 * and is unique for each room session.
@@ -224,6 +237,8 @@ export class Room extends (EventEmitter as new () => TypedEmitter<RoomCallbacks>
224237 this . ffiHandle = new FfiHandle ( cb . message . value . room ! . handle ! . id ! ) ;
225238 this . e2eeManager = e2eeEnabled && new E2EEManager ( this . ffiHandle . handle , e2eeOptions ) ;
226239
240+ this . _token = token ;
241+ this . _serverUrl = url ;
227242 this . info = cb . message . value . room ! . info ;
228243 this . connectionState = ConnectionState . CONN_CONNECTED ;
229244 this . localParticipant = new LocalParticipant (
@@ -621,6 +636,9 @@ export class Room extends (EventEmitter as new () => TypedEmitter<RoomCallbacks>
621636 } catch ( e : unknown ) {
622637 log . warn ( `RoomEvent.ParticipantEncryptionStatusChanged: ${ ( e as Error ) . message } ` ) ;
623638 }
639+ } else if ( ev . case === 'tokenRefreshed' ) {
640+ this . _token = ev . value . token ;
641+ this . emit ( 'tokenRefreshed' ) ;
624642 }
625643 } ;
626644
@@ -842,6 +860,7 @@ export type RoomCallbacks = {
842860 roomSidChanged : ( sid : string ) => void ;
843861 roomUpdated : ( ) => void ;
844862 moved : ( ) => void ;
863+ tokenRefreshed : ( ) => void ;
845864} ;
846865
847866export enum RoomEvent {
@@ -876,4 +895,5 @@ export enum RoomEvent {
876895 Reconnected = 'reconnected' ,
877896 RoomUpdated = 'roomUpdated' ,
878897 Moved = 'moved' ,
898+ TokenRefreshed = 'tokenRefreshed' ,
879899}
0 commit comments