Skip to content

Commit e5ba2ea

Browse files
committed
fix: use CorsWorker from @twilio
1 parent ddf5c37 commit e5ba2ea

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/helpers/livekit/ConnectLivekit.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ import {
2828
MediaServerConnInfo,
2929
} from 'plugnmeet-protocol-js';
3030
import { toast } from 'react-toastify';
31+
import { CorsWorker } from '@twilio/video-processors/es5/utils/CorsWorker';
3132
// @ts-expect-error not an error
32-
import LkWorker from 'livekit-client/e2ee-worker?worker';
33+
import LkWorkerUrl from 'livekit-client/e2ee-worker?url';
3334

3435
import { store } from '../../store';
3536
import {
@@ -76,7 +77,7 @@ export default class ConnectLivekit
7677
private readonly encryptionKey: string | undefined = '';
7778

7879
private readonly handleMediaTracks: HandleMediaTracks;
79-
private readonly _room: Room;
80+
private _room!: Room;
8081
private readonly _e2eeKeyProvider: ExternalE2EEKeyProvider;
8182
private toastIdConnecting: number | string | undefined = undefined;
8283
private wasNormalDisconnected: boolean = false;
@@ -103,9 +104,7 @@ export default class ConnectLivekit
103104
this.encryptionKey = encryptionKey;
104105
}
105106
this.handleMediaTracks = new HandleMediaTracks(this);
106-
107-
// configure room
108-
this._room = this.configureRoom();
107+
this.configureRoom().then();
109108
}
110109

111110
public get videoSubscribersMap() {
@@ -214,7 +213,7 @@ export default class ConnectLivekit
214213
}
215214
};
216215

217-
private configureRoom() {
216+
private async configureRoom() {
218217
let videoCodec = getConfigValue<VideoCodec>(
219218
'videoCodec',
220219
'vp8',
@@ -263,9 +262,11 @@ export default class ConnectLivekit
263262
};
264263

265264
if (this.enabledE2EE && isE2EESupported()) {
265+
const corsWorker = new CorsWorker(LkWorkerUrl);
266+
const LkWorker = await corsWorker.workerPromise;
266267
roomOptions.encryption = {
267268
keyProvider: this._e2eeKeyProvider,
268-
worker: new LkWorker(),
269+
worker: LkWorker,
269270
};
270271
}
271272

@@ -326,7 +327,7 @@ export default class ConnectLivekit
326327
this.localUserConnectionQualityChanged,
327328
);
328329

329-
return room;
330+
this._room = room;
330331
}
331332

332333
private async initiateParticipants() {

src/helpers/nats/HandleParticipants.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,9 @@ export default class HandleParticipants {
483483
);
484484

485485
const mediaConn = getMediaServerConn();
486+
if (!mediaConn.room) {
487+
return;
488+
}
486489
const participant = mediaConn.room.getParticipantByIdentity(
487490
toLiveKitUserId(userId),
488491
);

0 commit comments

Comments
 (0)