Skip to content

Commit 5864b2a

Browse files
authored
Make "connected to" log show up after every join, not just after fresh connections (#1873)
1 parent ff7a5e9 commit 5864b2a

3 files changed

Lines changed: 34 additions & 25 deletions

File tree

.changeset/spotty-pumas-jog.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+
Moves "connected to Livekit Server" log within RTCEngine.join so it shows up for reconnects as well as connects

src/room/RTCEngine.ts

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {
2626
RoomMovedResponse,
2727
RpcAck,
2828
RpcResponse,
29+
ServerInfo,
2930
SessionDescription,
3031
SignalTarget,
3132
SpeakerInfo,
@@ -298,7 +299,7 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
298299
abortSignal?: AbortSignal,
299300
/** setting this to true results in dual peer connection mode being used */
300301
useV0Path: boolean = false,
301-
): Promise<JoinResponse> {
302+
): Promise<{ joinResponse: JoinResponse; serverInfo: Partial<ServerInfo> }> {
302303
this._isNewlyCreated = false;
303304
this.url = url;
304305
this.token = token;
@@ -353,7 +354,23 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
353354
this.registerOnLineListener();
354355
this.clientConfiguration = joinResponse.clientConfiguration;
355356
this.emit(EngineEvent.SignalConnected, joinResponse);
356-
return joinResponse;
357+
358+
let serverInfo: Partial<ServerInfo> | undefined = joinResponse.serverInfo;
359+
if (!serverInfo) {
360+
serverInfo = { version: joinResponse.serverVersion, region: joinResponse.serverRegion };
361+
}
362+
this.log.debug(
363+
`connected to Livekit Server ${Object.entries(serverInfo)
364+
.map(([key, value]) => `${key}: ${value}`)
365+
.join(', ')}`,
366+
{
367+
room: joinResponse.room?.name,
368+
roomSid: joinResponse.room?.sid,
369+
identity: joinResponse.participant?.identity,
370+
},
371+
);
372+
373+
return { joinResponse, serverInfo };
357374
} catch (e) {
358375
if (e instanceof ConnectionError) {
359376
if (e.reason === ConnectionErrorReason.ServerUnreachable) {
@@ -1212,13 +1229,15 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
12121229
throw new SignalReconnectError();
12131230
}
12141231
// in case a regionUrl is passed, the region URL takes precedence
1215-
joinResponse = await this.join(
1216-
regionUrl ?? this.url,
1217-
this.token,
1218-
this.signalOpts,
1219-
undefined,
1220-
!this.options.singlePeerConnection,
1221-
);
1232+
joinResponse = (
1233+
await this.join(
1234+
regionUrl ?? this.url,
1235+
this.token,
1236+
this.signalOpts,
1237+
undefined,
1238+
!this.options.singlePeerConnection,
1239+
)
1240+
).joinResponse;
12221241
} catch (e) {
12231242
if (e instanceof ConnectionError && e.reason === ConnectionErrorReason.NotAllowed) {
12241243
throw new UnexpectedConnectionState('could not reconnect, token might be expired');

src/room/Room.ts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
895895
roomOptions: InternalRoomOptions,
896896
abortController: AbortController,
897897
): Promise<JoinResponse> => {
898-
const joinResponse = await engine.join(
898+
const { joinResponse, serverInfo } = await engine.join(
899899
url,
900900
token,
901901
{
@@ -910,23 +910,8 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
910910
!roomOptions.singlePeerConnection,
911911
);
912912

913-
let serverInfo: Partial<ServerInfo> | undefined = joinResponse.serverInfo;
914-
if (!serverInfo) {
915-
serverInfo = { version: joinResponse.serverVersion, region: joinResponse.serverRegion };
916-
}
917913
this.serverInfo = serverInfo;
918914

919-
this.log.debug(
920-
`connected to Livekit Server ${Object.entries(serverInfo)
921-
.map(([key, value]) => `${key}: ${value}`)
922-
.join(', ')}`,
923-
{
924-
room: joinResponse.room?.name,
925-
roomSid: joinResponse.room?.sid,
926-
identity: joinResponse.participant?.identity,
927-
},
928-
);
929-
930915
if (!serverInfo.version) {
931916
throw new UnsupportedServer('unknown server version');
932917
}

0 commit comments

Comments
 (0)