livekit-client 2.5.4 → 2.5.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"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"}
@@ -166,6 +166,7 @@ export declare enum RoomEvent {
166
166
  * Participant attributes is an app-specific key value state to be pushed to
167
167
  * all users.
168
168
  * When a participant's attributes changed, this event will be emitted with the changed attributes and the participant
169
+ * args: (changedAttributes: [[Record<string, string]], participant: [[Participant]])
169
170
  */
170
171
  ParticipantAttributesChanged = "participantAttributesChanged",
171
172
  /**
@@ -446,6 +447,7 @@ export declare enum ParticipantEvent {
446
447
  * Participant attributes is an app-specific key value state to be pushed to
447
448
  * all users.
448
449
  * When a participant's attributes changed, this event will be emitted with the changed attributes
450
+ * args: (changedAttributes: [[Record<string, string]])
449
451
  */
450
452
  AttributesChanged = "attributesChanged",
451
453
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/room/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/room/events.ts"],"names":[],"mappings":"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"}
@@ -166,6 +166,7 @@ export declare enum RoomEvent {
166
166
  * Participant attributes is an app-specific key value state to be pushed to
167
167
  * all users.
168
168
  * When a participant's attributes changed, this event will be emitted with the changed attributes and the participant
169
+ * args: (changedAttributes: [[Record<string, string]], participant: [[Participant]])
169
170
  */
170
171
  ParticipantAttributesChanged = "participantAttributesChanged",
171
172
  /**
@@ -446,6 +447,7 @@ export declare enum ParticipantEvent {
446
447
  * Participant attributes is an app-specific key value state to be pushed to
447
448
  * all users.
448
449
  * When a participant's attributes changed, this event will be emitted with the changed attributes
450
+ * args: (changedAttributes: [[Record<string, string]])
449
451
  */
450
452
  AttributesChanged = "attributesChanged",
451
453
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livekit-client",
3
- "version": "2.5.4",
3
+ "version": "2.5.6",
4
4
  "description": "JavaScript/TypeScript client SDK for LiveKit",
5
5
  "main": "./dist/livekit-client.umd.js",
6
6
  "unpkg": "./dist/livekit-client.umd.js",
@@ -115,6 +115,11 @@ export class E2EEManager extends (EventEmitter as new () => TypedEventEmitter<E2
115
115
  break;
116
116
 
117
117
  case 'enable':
118
+ if (data.enabled) {
119
+ this.keyProvider.getKeys().forEach((keyInfo) => {
120
+ this.postKey(keyInfo);
121
+ });
122
+ }
118
123
  if (
119
124
  this.encryptionEnabled !== data.enabled &&
120
125
  data.participantIdentity === this.room?.localParticipant.identity
@@ -134,11 +139,6 @@ export class E2EEManager extends (EventEmitter as new () => TypedEventEmitter<E2
134
139
  }
135
140
  this.emit(EncryptionEvent.ParticipantEncryptionStatusChanged, data.enabled, participant);
136
141
  }
137
- if (this.encryptionEnabled) {
138
- this.keyProvider.getKeys().forEach((keyInfo) => {
139
- this.postKey(keyInfo);
140
- });
141
- }
142
142
  break;
143
143
  case 'ratchetKey':
144
144
  this.keyProvider.emit(KeyProviderEvent.KeyRatcheted, data.material, data.keyIndex);
@@ -196,13 +196,13 @@ export class E2EEManager extends (EventEmitter as new () => TypedEventEmitter<E2
196
196
  if (!this.room) {
197
197
  throw new TypeError(`expected room to be present on signal connect`);
198
198
  }
199
+ keyProvider.getKeys().forEach((keyInfo) => {
200
+ this.postKey(keyInfo);
201
+ });
199
202
  this.setParticipantCryptorEnabled(
200
203
  this.room.localParticipant.isE2EEEnabled,
201
204
  this.room.localParticipant.identity,
202
205
  );
203
- keyProvider.getKeys().forEach((keyInfo) => {
204
- this.postKey(keyInfo);
205
- });
206
206
  });
207
207
  room.localParticipant.on(ParticipantEvent.LocalTrackPublished, async (publication) => {
208
208
  this.setupE2EESender(publication.track!, publication.track!.sender!);
@@ -233,11 +233,17 @@ export class FrameCryptor extends BaseFrameCryptor {
233
233
  }
234
234
  const keySet = this.keys.getKeySet();
235
235
  if (!keySet) {
236
- throw new TypeError(
237
- `key set not found for ${
238
- this.participantIdentity
239
- } at index ${this.keys.getCurrentKeyIndex()}`,
236
+ this.emit(
237
+ CryptorEvent.Error,
238
+ new CryptorError(
239
+ `key set not found for ${
240
+ this.participantIdentity
241
+ } at index ${this.keys.getCurrentKeyIndex()}`,
242
+ CryptorErrorReason.MissingKey,
243
+ this.participantIdentity,
244
+ ),
240
245
  );
246
+ return;
241
247
  }
242
248
  const { encryptionKey } = keySet;
243
249
  const keyIndex = this.keys.getCurrentKeyIndex();
@@ -1,5 +1,6 @@
1
1
  import { workerLogger } from '../../logger';
2
2
  import { VideoCodec } from '../../room/track/options';
3
+ import { AsyncQueue } from '../../utils/AsyncQueue';
3
4
  import { KEY_PROVIDER_DEFAULTS } from '../constants';
4
5
  import { CryptorErrorReason } from '../errors';
5
6
  import { CryptorEvent, KeyHandlerEvent } from '../events';
@@ -17,6 +18,7 @@ import { ParticipantKeyHandler } from './ParticipantKeyHandler';
17
18
  const participantCryptors: FrameCryptor[] = [];
18
19
  const participantKeys: Map<string, ParticipantKeyHandler> = new Map();
19
20
  let sharedKeyHandler: ParticipantKeyHandler | undefined;
21
+ let messageQueue = new AsyncQueue();
20
22
 
21
23
  let isEncryptionEnabled: boolean = false;
22
24
 
@@ -31,85 +33,87 @@ let rtpMap: Map<number, VideoCodec> = new Map();
31
33
  workerLogger.setDefaultLevel('info');
32
34
 
33
35
  onmessage = (ev) => {
34
- const { kind, data }: E2EEWorkerMessage = ev.data;
36
+ messageQueue.run(async () => {
37
+ const { kind, data }: E2EEWorkerMessage = ev.data;
35
38
 
36
- switch (kind) {
37
- case 'init':
38
- workerLogger.setLevel(data.loglevel);
39
- workerLogger.info('worker initialized');
40
- keyProviderOptions = data.keyProviderOptions;
41
- useSharedKey = !!data.keyProviderOptions.sharedKey;
42
- // acknowledge init successful
43
- const ackMsg: InitAck = {
44
- kind: 'initAck',
45
- data: { enabled: isEncryptionEnabled },
46
- };
47
- postMessage(ackMsg);
48
- break;
49
- case 'enable':
50
- setEncryptionEnabled(data.enabled, data.participantIdentity);
51
- workerLogger.info(
52
- `updated e2ee enabled status for ${data.participantIdentity} to ${data.enabled}`,
53
- );
54
- // acknowledge enable call successful
55
- postMessage(ev.data);
56
- break;
57
- case 'decode':
58
- let cryptor = getTrackCryptor(data.participantIdentity, data.trackId);
59
- cryptor.setupTransform(
60
- kind,
61
- data.readableStream,
62
- data.writableStream,
63
- data.trackId,
64
- data.codec,
65
- );
66
- break;
67
- case 'encode':
68
- let pubCryptor = getTrackCryptor(data.participantIdentity, data.trackId);
69
- pubCryptor.setupTransform(
70
- kind,
71
- data.readableStream,
72
- data.writableStream,
73
- data.trackId,
74
- data.codec,
75
- );
76
- break;
77
- case 'setKey':
78
- if (useSharedKey) {
79
- setSharedKey(data.key, data.keyIndex);
80
- } else if (data.participantIdentity) {
39
+ switch (kind) {
40
+ case 'init':
41
+ workerLogger.setLevel(data.loglevel);
42
+ workerLogger.info('worker initialized');
43
+ keyProviderOptions = data.keyProviderOptions;
44
+ useSharedKey = !!data.keyProviderOptions.sharedKey;
45
+ // acknowledge init successful
46
+ const ackMsg: InitAck = {
47
+ kind: 'initAck',
48
+ data: { enabled: isEncryptionEnabled },
49
+ };
50
+ postMessage(ackMsg);
51
+ break;
52
+ case 'enable':
53
+ setEncryptionEnabled(data.enabled, data.participantIdentity);
81
54
  workerLogger.info(
82
- `set participant sender key ${data.participantIdentity} index ${data.keyIndex}`,
55
+ `updated e2ee enabled status for ${data.participantIdentity} to ${data.enabled}`,
83
56
  );
84
- getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex);
85
- } else {
86
- workerLogger.error('no participant Id was provided and shared key usage is disabled');
87
- }
88
- break;
89
- case 'removeTransform':
90
- unsetCryptorParticipant(data.trackId, data.participantIdentity);
91
- break;
92
- case 'updateCodec':
93
- getTrackCryptor(data.participantIdentity, data.trackId).setVideoCodec(data.codec);
94
- break;
95
- case 'setRTPMap':
96
- // this is only used for the local participant
97
- rtpMap = data.map;
98
- participantCryptors.forEach((cr) => {
99
- if (cr.getParticipantIdentity() === data.participantIdentity) {
100
- cr.setRtpMap(data.map);
57
+ // acknowledge enable call successful
58
+ postMessage(ev.data);
59
+ break;
60
+ case 'decode':
61
+ let cryptor = getTrackCryptor(data.participantIdentity, data.trackId);
62
+ cryptor.setupTransform(
63
+ kind,
64
+ data.readableStream,
65
+ data.writableStream,
66
+ data.trackId,
67
+ data.codec,
68
+ );
69
+ break;
70
+ case 'encode':
71
+ let pubCryptor = getTrackCryptor(data.participantIdentity, data.trackId);
72
+ pubCryptor.setupTransform(
73
+ kind,
74
+ data.readableStream,
75
+ data.writableStream,
76
+ data.trackId,
77
+ data.codec,
78
+ );
79
+ break;
80
+ case 'setKey':
81
+ if (useSharedKey) {
82
+ await setSharedKey(data.key, data.keyIndex);
83
+ } else if (data.participantIdentity) {
84
+ workerLogger.info(
85
+ `set participant sender key ${data.participantIdentity} index ${data.keyIndex}`,
86
+ );
87
+ await getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex);
88
+ } else {
89
+ workerLogger.error('no participant Id was provided and shared key usage is disabled');
101
90
  }
102
- });
103
- break;
104
- case 'ratchetRequest':
105
- handleRatchetRequest(data);
106
- break;
107
- case 'setSifTrailer':
108
- handleSifTrailer(data.trailer);
109
- break;
110
- default:
111
- break;
112
- }
91
+ break;
92
+ case 'removeTransform':
93
+ unsetCryptorParticipant(data.trackId, data.participantIdentity);
94
+ break;
95
+ case 'updateCodec':
96
+ getTrackCryptor(data.participantIdentity, data.trackId).setVideoCodec(data.codec);
97
+ break;
98
+ case 'setRTPMap':
99
+ // this is only used for the local participant
100
+ rtpMap = data.map;
101
+ participantCryptors.forEach((cr) => {
102
+ if (cr.getParticipantIdentity() === data.participantIdentity) {
103
+ cr.setRtpMap(data.map);
104
+ }
105
+ });
106
+ break;
107
+ case 'ratchetRequest':
108
+ handleRatchetRequest(data);
109
+ break;
110
+ case 'setSifTrailer':
111
+ handleSifTrailer(data.trailer);
112
+ break;
113
+ default:
114
+ break;
115
+ }
116
+ });
113
117
  };
114
118
 
115
119
  async function handleRatchetRequest(data: RatchetRequestMessage['data']) {
@@ -210,9 +214,9 @@ function setEncryptionEnabled(enable: boolean, participantIdentity: string) {
210
214
  encryptionEnabledMap.set(participantIdentity, enable);
211
215
  }
212
216
 
213
- function setSharedKey(key: CryptoKey, index?: number) {
217
+ async function setSharedKey(key: CryptoKey, index?: number) {
214
218
  workerLogger.info('set shared key', { index });
215
- getSharedKeyHandler().setKey(key, index);
219
+ await getSharedKeyHandler().setKey(key, index);
216
220
  }
217
221
 
218
222
  function setupCryptorErrorEvents(cryptor: FrameCryptor) {
@@ -189,6 +189,7 @@ export enum RoomEvent {
189
189
  * Participant attributes is an app-specific key value state to be pushed to
190
190
  * all users.
191
191
  * When a participant's attributes changed, this event will be emitted with the changed attributes and the participant
192
+ * args: (changedAttributes: [[Record<string, string]], participant: [[Participant]])
192
193
  */
193
194
  ParticipantAttributesChanged = 'participantAttributesChanged',
194
195
 
@@ -513,6 +514,7 @@ export enum ParticipantEvent {
513
514
  * Participant attributes is an app-specific key value state to be pushed to
514
515
  * all users.
515
516
  * When a participant's attributes changed, this event will be emitted with the changed attributes
517
+ * args: (changedAttributes: [[Record<string, string]])
516
518
  */
517
519
  AttributesChanged = 'attributesChanged',
518
520
 
@@ -259,7 +259,7 @@ export default class Participant extends (EventEmitter as new () => TypedEmitter
259
259
  * Updates metadata from server
260
260
  **/
261
261
  private _setAttributes(attributes: Record<string, string>) {
262
- const diff = diffAttributes(attributes, this.attributes);
262
+ const diff = diffAttributes(this.attributes, attributes);
263
263
  this._attributes = attributes;
264
264
 
265
265
  if (Object.keys(diff).length > 0) {