livekit-client 2.17.2 → 2.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -5
- package/dist/livekit-client.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +20 -14
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +295 -193
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/e2ee/E2eeManager.d.ts +2 -0
- package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
- package/dist/src/e2ee/KeyProvider.d.ts +2 -0
- package/dist/src/e2ee/KeyProvider.d.ts.map +1 -1
- package/dist/src/e2ee/events.d.ts +1 -1
- package/dist/src/e2ee/events.d.ts.map +1 -1
- package/dist/src/e2ee/types.d.ts +1 -0
- package/dist/src/e2ee/types.d.ts.map +1 -1
- package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts +2 -2
- package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +1 -4
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +3 -1
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts +2 -4
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
- package/dist/src/room/data-track/LocalDataTrack.d.ts +25 -0
- package/dist/src/room/data-track/LocalDataTrack.d.ts.map +1 -0
- package/dist/src/room/data-track/RemoteDataTrack.d.ts +46 -0
- package/dist/src/room/data-track/RemoteDataTrack.d.ts.map +1 -0
- package/dist/src/room/data-track/depacketizer.d.ts +4 -4
- package/dist/src/room/data-track/depacketizer.d.ts.map +1 -1
- package/dist/src/room/data-track/e2ee.d.ts +12 -0
- package/dist/src/room/data-track/e2ee.d.ts.map +1 -0
- package/dist/src/room/data-track/handle.d.ts +7 -8
- package/dist/src/room/data-track/handle.d.ts.map +1 -1
- package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts +96 -0
- package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts.map +1 -0
- package/dist/src/room/data-track/incoming/errors.d.ts +24 -0
- package/dist/src/room/data-track/incoming/errors.d.ts.map +1 -0
- package/dist/src/room/data-track/incoming/pipeline.d.ts +37 -0
- package/dist/src/room/data-track/incoming/pipeline.d.ts.map +1 -0
- package/dist/src/room/data-track/incoming/types.d.ts +20 -0
- package/dist/src/room/data-track/incoming/types.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +77 -0
- package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/errors.d.ts +64 -0
- package/dist/src/room/data-track/outgoing/errors.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/pipeline.d.ts +22 -0
- package/dist/src/room/data-track/outgoing/pipeline.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/types.d.ts +30 -0
- package/dist/src/room/data-track/outgoing/types.d.ts.map +1 -0
- package/dist/src/room/data-track/packet/errors.d.ts +2 -4
- package/dist/src/room/data-track/packet/errors.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/extensions.d.ts +4 -4
- package/dist/src/room/data-track/packet/extensions.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/index.d.ts +5 -5
- package/dist/src/room/data-track/packet/index.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/serializable.d.ts +4 -4
- package/dist/src/room/data-track/packet/serializable.d.ts.map +1 -1
- package/dist/src/room/data-track/packetizer.d.ts +4 -4
- package/dist/src/room/data-track/packetizer.d.ts.map +1 -1
- package/dist/src/room/data-track/track-interfaces.d.ts +23 -0
- package/dist/src/room/data-track/track-interfaces.d.ts.map +1 -0
- package/dist/src/room/data-track/types.d.ts +10 -0
- package/dist/src/room/data-track/types.d.ts.map +1 -0
- package/dist/src/room/debounce.d.ts +11 -0
- package/dist/src/room/debounce.d.ts.map +1 -0
- package/dist/src/room/events.d.ts +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts +1 -1
- package/dist/src/room/token-source/TokenSource.d.ts +1 -1
- package/dist/src/room/token-source/TokenSource.d.ts.map +1 -1
- package/dist/src/room/token-source/types.d.ts +1 -0
- package/dist/src/room/token-source/types.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +1 -1
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/types.d.ts +0 -2
- package/dist/src/room/types.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +6 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/utils/abort-signal-polyfill.d.ts +13 -0
- package/dist/src/utils/abort-signal-polyfill.d.ts.map +1 -0
- package/dist/src/utils/subscribeToEvents.d.ts +15 -0
- package/dist/src/utils/subscribeToEvents.d.ts.map +1 -0
- package/dist/ts4.2/e2ee/E2eeManager.d.ts +2 -0
- package/dist/ts4.2/e2ee/KeyProvider.d.ts +2 -0
- package/dist/ts4.2/e2ee/events.d.ts +1 -1
- package/dist/ts4.2/e2ee/types.d.ts +1 -0
- package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +2 -2
- package/dist/ts4.2/index.d.ts +2 -2
- package/dist/ts4.2/room/PCTransport.d.ts +1 -6
- package/dist/ts4.2/room/RTCEngine.d.ts +3 -1
- package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +2 -4
- package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +25 -0
- package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +46 -0
- package/dist/ts4.2/room/data-track/depacketizer.d.ts +4 -4
- package/dist/ts4.2/room/data-track/e2ee.d.ts +12 -0
- package/dist/ts4.2/room/data-track/handle.d.ts +7 -8
- package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +99 -0
- package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -0
- package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +37 -0
- package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -0
- package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +77 -0
- package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +64 -0
- package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +22 -0
- package/dist/ts4.2/room/data-track/outgoing/types.d.ts +30 -0
- package/dist/ts4.2/room/data-track/packet/errors.d.ts +2 -4
- package/dist/ts4.2/room/data-track/packet/extensions.d.ts +4 -4
- package/dist/ts4.2/room/data-track/packet/index.d.ts +5 -6
- package/dist/ts4.2/room/data-track/packet/serializable.d.ts +4 -4
- package/dist/ts4.2/room/data-track/packetizer.d.ts +4 -4
- package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -0
- package/dist/ts4.2/room/data-track/types.d.ts +10 -0
- package/dist/ts4.2/room/debounce.d.ts +11 -0
- package/dist/ts4.2/room/events.d.ts +1 -1
- package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +1 -1
- package/dist/ts4.2/room/token-source/TokenSource.d.ts +1 -1
- package/dist/ts4.2/room/token-source/types.d.ts +1 -0
- package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +1 -1
- package/dist/ts4.2/room/track/LocalTrack.d.ts +1 -1
- package/dist/ts4.2/room/types.d.ts +0 -2
- package/dist/ts4.2/room/utils.d.ts +6 -1
- package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -0
- package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -0
- package/package.json +7 -6
- package/src/e2ee/E2eeManager.ts +9 -5
- package/src/e2ee/KeyProvider.ts +10 -1
- package/src/e2ee/events.ts +1 -1
- package/src/e2ee/types.ts +1 -0
- package/src/e2ee/worker/ParticipantKeyHandler.ts +7 -4
- package/src/e2ee/worker/e2ee.worker.ts +20 -10
- package/src/index.ts +2 -2
- package/src/room/PCTransport.ts +1 -1
- package/src/room/RTCEngine.ts +8 -1
- package/src/room/Room.ts +13 -7
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -25
- package/src/room/data-stream/incoming/StreamReader.ts +56 -73
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +2 -2
- package/src/room/data-track/LocalDataTrack.ts +53 -0
- package/src/room/data-track/RemoteDataTrack.ts +82 -0
- package/src/room/data-track/depacketizer.test.ts +1 -1
- package/src/room/data-track/depacketizer.ts +5 -17
- package/src/room/data-track/e2ee.ts +15 -0
- package/src/room/data-track/frame.ts +1 -1
- package/src/room/data-track/handle.test.ts +1 -1
- package/src/room/data-track/handle.ts +10 -21
- package/src/room/data-track/incoming/IncomingDataTrackManager.test.ts +570 -0
- package/src/room/data-track/incoming/IncomingDataTrackManager.ts +537 -0
- package/src/room/data-track/incoming/errors.ts +57 -0
- package/src/room/data-track/incoming/pipeline.ts +116 -0
- package/src/room/data-track/incoming/types.ts +22 -0
- package/src/room/data-track/outgoing/OutgoingDataTrackManager.test.ts +412 -0
- package/src/room/data-track/outgoing/OutgoingDataTrackManager.ts +308 -0
- package/src/room/data-track/outgoing/errors.ts +157 -0
- package/src/room/data-track/outgoing/pipeline.ts +72 -0
- package/src/room/data-track/outgoing/types.ts +36 -0
- package/src/room/data-track/packet/errors.ts +2 -14
- package/src/room/data-track/packet/extensions.ts +4 -4
- package/src/room/data-track/packet/index.ts +6 -8
- package/src/room/data-track/packet/serializable.ts +4 -4
- package/src/room/data-track/packetizer.test.ts +3 -3
- package/src/room/data-track/packetizer.ts +9 -8
- package/src/room/data-track/track-interfaces.ts +53 -0
- package/src/room/data-track/types.ts +11 -0
- package/src/room/debounce.ts +115 -0
- package/src/room/events.ts +1 -1
- package/src/room/participant/LocalParticipant.ts +2 -0
- package/src/room/participant/RemoteParticipant.ts +1 -1
- package/src/room/token-source/TokenSource.ts +8 -2
- package/src/room/token-source/types.ts +4 -0
- package/src/room/track/LocalAudioTrack.ts +6 -3
- package/src/room/track/LocalTrack.ts +10 -5
- package/src/room/track/LocalVideoTrack.ts +1 -1
- package/src/room/track/RemoteVideoTrack.ts +1 -1
- package/src/room/types.ts +0 -2
- package/src/room/utils.ts +7 -2
- package/src/utils/abort-signal-polyfill.ts +63 -0
- package/src/utils/subscribeToEvents.ts +80 -0
- package/dist/src/utils/throws.d.ts +0 -36
- package/dist/src/utils/throws.d.ts.map +0 -1
- package/dist/ts4.2/utils/throws.d.ts +0 -39
- package/src/utils/throws.ts +0 -42
|
@@ -2186,9 +2186,12 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2186
2186
|
return __awaiter(this, arguments, void 0, function (material) {
|
|
2187
2187
|
var _this = this;
|
|
2188
2188
|
let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
2189
|
+
let updateCurrentKeyIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
2189
2190
|
return function* () {
|
|
2190
|
-
yield _this.setKeyFromMaterial(material, keyIndex);
|
|
2191
|
-
|
|
2191
|
+
yield _this.setKeyFromMaterial(material, keyIndex, null, updateCurrentKeyIndex);
|
|
2192
|
+
if (updateCurrentKeyIndex) {
|
|
2193
|
+
_this.resetKeyStatus(keyIndex);
|
|
2194
|
+
}
|
|
2192
2195
|
}();
|
|
2193
2196
|
});
|
|
2194
2197
|
}
|
|
@@ -2202,6 +2205,7 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2202
2205
|
return __awaiter(this, arguments, void 0, function (material, keyIndex) {
|
|
2203
2206
|
var _this2 = this;
|
|
2204
2207
|
let ratchetedResult = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
2208
|
+
let updateCurrentKeyIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
2205
2209
|
return function* () {
|
|
2206
2210
|
const keySet = yield deriveKeys(material, _this2.keyProviderOptions.ratchetSalt);
|
|
2207
2211
|
const newIndex = keyIndex >= 0 ? keyIndex % _this2.cryptoKeyRing.length : _this2.currentKeyIndex;
|
|
@@ -2211,7 +2215,7 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2211
2215
|
ratchetSalt: _this2.keyProviderOptions.ratchetSalt
|
|
2212
2216
|
});
|
|
2213
2217
|
_this2.setKeySet(keySet, newIndex, ratchetedResult);
|
|
2214
|
-
if (newIndex >= 0) _this2.currentKeyIndex = newIndex;
|
|
2218
|
+
if (newIndex >= 0 && updateCurrentKeyIndex) _this2.currentKeyIndex = newIndex;
|
|
2215
2219
|
}();
|
|
2216
2220
|
});
|
|
2217
2221
|
}
|
|
@@ -2337,10 +2341,10 @@ onmessage = ev => {
|
|
|
2337
2341
|
break;
|
|
2338
2342
|
case 'setKey':
|
|
2339
2343
|
if (useSharedKey) {
|
|
2340
|
-
yield setSharedKey(data.key, data.keyIndex);
|
|
2344
|
+
yield setSharedKey(data.key, data.keyIndex, data.updateCurrentKeyIndex);
|
|
2341
2345
|
} else if (data.participantIdentity) {
|
|
2342
2346
|
workerLogger.info("set participant sender key ".concat(data.participantIdentity, " index ").concat(data.keyIndex));
|
|
2343
|
-
yield getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex);
|
|
2347
|
+
yield getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex, data.updateCurrentKeyIndex);
|
|
2344
2348
|
} else {
|
|
2345
2349
|
workerLogger.error('no participant Id was provided and shared key usage is disabled');
|
|
2346
2350
|
}
|
|
@@ -2468,12 +2472,12 @@ function setEncryptionEnabled(enable, participantIdentity) {
|
|
|
2468
2472
|
});
|
|
2469
2473
|
encryptionEnabledMap.set(participantIdentity, enable);
|
|
2470
2474
|
}
|
|
2471
|
-
function setSharedKey(key, index) {
|
|
2475
|
+
function setSharedKey(key, index, updateCurrentKeyIndex) {
|
|
2472
2476
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2473
2477
|
workerLogger.info('set shared key', {
|
|
2474
2478
|
index
|
|
2475
2479
|
});
|
|
2476
|
-
yield getSharedKeyHandler().setKey(key, index);
|
|
2480
|
+
yield getSharedKeyHandler().setKey(key, index, updateCurrentKeyIndex);
|
|
2477
2481
|
});
|
|
2478
2482
|
}
|
|
2479
2483
|
function setupCryptorErrorEvents(cryptor) {
|
|
@@ -2508,23 +2512,25 @@ function handleSifTrailer(trailer) {
|
|
|
2508
2512
|
// Operations using RTCRtpScriptTransform.
|
|
2509
2513
|
// @ts-ignore
|
|
2510
2514
|
if (self.RTCTransformEvent) {
|
|
2511
|
-
workerLogger.debug('setup transform event');
|
|
2512
2515
|
// @ts-ignore
|
|
2513
2516
|
self.onrtctransform = event => {
|
|
2514
2517
|
// @ts-ignore
|
|
2515
2518
|
const transformer = event.transformer;
|
|
2516
|
-
workerLogger.debug('transformer', transformer);
|
|
2517
2519
|
const {
|
|
2518
2520
|
kind,
|
|
2519
2521
|
participantIdentity,
|
|
2520
2522
|
trackId,
|
|
2521
2523
|
codec
|
|
2522
2524
|
} = transformer.options;
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2525
|
+
messageQueue.run(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
2526
|
+
const cryptor = getTrackCryptor(participantIdentity, trackId);
|
|
2527
|
+
workerLogger.debug('onrtctransform setup', {
|
|
2528
|
+
participantIdentity,
|
|
2529
|
+
trackId,
|
|
2530
|
+
codec
|
|
2531
|
+
});
|
|
2532
|
+
cryptor.setupTransform(kind, transformer.readable, transformer.writable, trackId, false, codec);
|
|
2533
|
+
}));
|
|
2528
2534
|
};
|
|
2529
2535
|
}
|
|
2530
2536
|
//# sourceMappingURL=livekit-client.e2ee.worker.mjs.map
|