livekit-client 2.5.7 → 2.5.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/README.md +2 -2
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +53 -20
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +39 -3
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.umd.js +1 -1
  9. package/dist/livekit-client.umd.js.map +1 -1
  10. package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
  11. package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts +25 -5
  12. package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts.map +1 -1
  13. package/dist/src/room/Room.d.ts +3 -1
  14. package/dist/src/room/Room.d.ts.map +1 -1
  15. package/dist/src/room/events.d.ts +5 -1
  16. package/dist/src/room/events.d.ts.map +1 -1
  17. package/dist/src/room/participant/LocalParticipant.d.ts +7 -0
  18. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  19. package/dist/ts4.2/src/e2ee/worker/ParticipantKeyHandler.d.ts +25 -5
  20. package/dist/ts4.2/src/room/Room.d.ts +3 -1
  21. package/dist/ts4.2/src/room/events.d.ts +5 -1
  22. package/dist/ts4.2/src/room/participant/LocalParticipant.d.ts +7 -0
  23. package/package.json +7 -7
  24. package/src/e2ee/worker/FrameCryptor.test.ts +311 -113
  25. package/src/e2ee/worker/FrameCryptor.ts +10 -5
  26. package/src/e2ee/worker/ParticipantKeyHandler.test.ts +169 -5
  27. package/src/e2ee/worker/ParticipantKeyHandler.ts +50 -20
  28. package/src/e2ee/worker/__snapshots__/ParticipantKeyHandler.test.ts.snap +356 -0
  29. package/src/room/Room.ts +8 -0
  30. package/src/room/events.ts +5 -0
  31. package/src/room/participant/LocalParticipant.ts +26 -1
  32. package/src/room/track/LocalTrackPublication.ts +1 -1
@@ -3884,6 +3884,12 @@ const DisconnectReason = /*@__PURE__*/proto3.makeEnum("livekit.DisconnectReason"
3884
3884
  }, {
3885
3885
  no: 10,
3886
3886
  name: "ROOM_CLOSED"
3887
+ }, {
3888
+ no: 11,
3889
+ name: "USER_UNAVAILABLE"
3890
+ }, {
3891
+ no: 12,
3892
+ name: "USER_REJECTED"
3887
3893
  }]);
3888
3894
 
3889
3895
  /**
@@ -10745,6 +10751,10 @@ var RoomEvent;
10745
10751
  * fired when the first remote participant has subscribed to the localParticipant's track
10746
10752
  */
10747
10753
  RoomEvent["LocalTrackSubscribed"] = "localTrackSubscribed";
10754
+ /**
10755
+ * fired when the client receives connection metrics from other participants
10756
+ */
10757
+ RoomEvent["MetricsReceived"] = "metricsReceived";
10748
10758
  })(RoomEvent || (RoomEvent = {}));
10749
10759
  var ParticipantEvent;
10750
10760
  (function (ParticipantEvent) {
@@ -11138,7 +11148,7 @@ function getOSVersion(ua) {
11138
11148
  return ua.includes('mac os') ? getMatch(/\(.+?(\d+_\d+(:?_\d+)?)/, ua, 1).replace(/_/g, '.') : undefined;
11139
11149
  }
11140
11150
 
11141
- var version$1 = "2.5.7";
11151
+ var version$1 = "2.5.9";
11142
11152
 
11143
11153
  const version = version$1;
11144
11154
  const protocolVersion = 15;
@@ -18675,7 +18685,7 @@ class LocalTrackPublication extends TrackPublication {
18675
18685
  features.add(AudioTrackFeature.TF_STEREO);
18676
18686
  }
18677
18687
  if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.dtx)) {
18678
- features.add(AudioTrackFeature.TF_STEREO);
18688
+ features.add(AudioTrackFeature.TF_NO_DTX);
18679
18689
  }
18680
18690
  if (this.track.enhancedNoiseCancellation) {
18681
18691
  features.add(AudioTrackFeature.TF_ENHANCED_NOISE_CANCELLATION);
@@ -19375,7 +19385,7 @@ class LocalParticipant extends Participant {
19375
19385
  while (performance.now() - startTime < 5000 && !isRejected) {
19376
19386
  if ((!name || this.name === name) && (!metadata || this.metadata === metadata) && (!attributes || Object.entries(attributes).every(_ref2 => {
19377
19387
  let [key, value] = _ref2;
19378
- return this.attributes[key] === value;
19388
+ return this.attributes[key] === value || value === '' && !this.attributes[key];
19379
19389
  }))) {
19380
19390
  this.pendingSignalRequests.delete(requestId);
19381
19391
  resolve();
@@ -20232,6 +20242,27 @@ class LocalParticipant extends Participant {
20232
20242
  }();
20233
20243
  });
20234
20244
  }
20245
+ /**
20246
+ * Publish SIP DTMF message to the room.
20247
+ *
20248
+ * @param code DTMF code
20249
+ * @param digit DTMF digit
20250
+ */
20251
+ publishDtmf(code, digit) {
20252
+ return __awaiter(this, void 0, void 0, function* () {
20253
+ const packet = new DataPacket({
20254
+ kind: DataPacket_Kind.RELIABLE,
20255
+ value: {
20256
+ case: 'sipDtmf',
20257
+ value: new SipDTMF({
20258
+ code: code,
20259
+ digit: digit
20260
+ })
20261
+ }
20262
+ });
20263
+ yield this.engine.sendDataPacket(packet, DataPacket_Kind.RELIABLE);
20264
+ });
20265
+ }
20235
20266
  sendChatMessage(text) {
20236
20267
  return __awaiter(this, void 0, void 0, function* () {
20237
20268
  const msg = {
@@ -21436,6 +21467,8 @@ class Room extends eventsExports.EventEmitter {
21436
21467
  this.handleSipDtmf(participant, packet.value.value);
21437
21468
  } else if (packet.value.case === 'chatMessage') {
21438
21469
  this.handleChatMessage(participant, packet.value.value);
21470
+ } else if (packet.value.case === 'metrics') {
21471
+ this.handleMetrics(packet.value.value, participant);
21439
21472
  }
21440
21473
  };
21441
21474
  this.handleUserPacket = (participant, userPacket, kind) => {
@@ -21462,6 +21495,9 @@ class Room extends eventsExports.EventEmitter {
21462
21495
  const msg = extractChatMessage(chatMessage);
21463
21496
  this.emit(RoomEvent.ChatMessage, msg, participant);
21464
21497
  };
21498
+ this.handleMetrics = (metrics, participant) => {
21499
+ this.emit(RoomEvent.MetricsReceived, metrics, participant);
21500
+ };
21465
21501
  this.handleAudioPlaybackStarted = () => {
21466
21502
  if (this.canPlaybackAudio) {
21467
21503
  return;