livekit-client 2.6.0 → 2.6.2
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/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +22 -15
- 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/api/SignalClient.d.ts.map +1 -1
- package/dist/src/room/PCTransportManager.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/RegionUrlProvider.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/errors.d.ts +2 -2
- package/dist/src/room/errors.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +5 -0
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteAudioTrack.d.ts +1 -1
- package/dist/src/room/track/RemoteAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts +2 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
- package/dist/ts4.2/src/room/errors.d.ts +2 -2
- package/dist/ts4.2/src/room/track/LocalTrack.d.ts +5 -0
- package/dist/ts4.2/src/room/track/RemoteAudioTrack.d.ts +1 -1
- package/dist/ts4.2/src/room/track/RemoteVideoTrack.d.ts +2 -1
- package/package.json +1 -1
- package/src/api/SignalClient.ts +19 -3
- package/src/room/PCTransportManager.ts +6 -1
- package/src/room/RTCEngine.ts +13 -3
- package/src/room/RegionUrlProvider.ts +3 -1
- package/src/room/Room.ts +8 -3
- package/src/room/errors.ts +2 -2
- package/src/room/track/LocalTrack.ts +8 -0
- package/src/room/track/LocalTrackPublication.ts +1 -1
- package/src/room/track/RemoteAudioTrack.ts +1 -1
- package/src/room/track/RemoteVideoTrack.ts +1 -1
@@ -11176,7 +11176,7 @@ function getOSVersion(ua) {
|
|
11176
11176
|
return ua.includes('mac os') ? getMatch(/\(.+?(\d+_\d+(:?_\d+)?)/, ua, 1).replace(/_/g, '.') : undefined;
|
11177
11177
|
}
|
11178
11178
|
|
11179
|
-
var version$1 = "2.6.
|
11179
|
+
var version$1 = "2.6.2";
|
11180
11180
|
|
11181
11181
|
const version = version$1;
|
11182
11182
|
const protocolVersion = 15;
|
@@ -12488,6 +12488,13 @@ class LocalTrack extends Track {
|
|
12488
12488
|
var _a, _b;
|
12489
12489
|
return (_b = (_a = this.processor) === null || _a === void 0 ? void 0 : _a.processedTrack) !== null && _b !== void 0 ? _b : this._mediaStreamTrack;
|
12490
12490
|
}
|
12491
|
+
/**
|
12492
|
+
* @internal
|
12493
|
+
* returns mediaStreamTrack settings of the capturing mediastreamtrack source - ignoring processors
|
12494
|
+
*/
|
12495
|
+
getSourceTrackSettings() {
|
12496
|
+
return this._mediaStreamTrack.getSettings();
|
12497
|
+
}
|
12491
12498
|
setMediaStreamTrack(newTrack, force) {
|
12492
12499
|
return __awaiter(this, void 0, void 0, function* () {
|
12493
12500
|
if (newTrack === this._mediaStreamTrack && !force) {
|
@@ -13380,11 +13387,11 @@ class SignalClient {
|
|
13380
13387
|
const abortHandler = () => __awaiter(this, void 0, void 0, function* () {
|
13381
13388
|
this.close();
|
13382
13389
|
clearTimeout(wsTimeout);
|
13383
|
-
reject(new ConnectionError('room connection has been cancelled (signal)'));
|
13390
|
+
reject(new ConnectionError('room connection has been cancelled (signal)', ConnectionErrorReason.Cancelled));
|
13384
13391
|
});
|
13385
13392
|
const wsTimeout = setTimeout(() => {
|
13386
13393
|
this.close();
|
13387
|
-
reject(new ConnectionError('room connection has timed out (signal)'));
|
13394
|
+
reject(new ConnectionError('room connection has timed out (signal)', ConnectionErrorReason.ServerUnreachable));
|
13388
13395
|
}, opts.websocketTimeout);
|
13389
13396
|
if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
|
13390
13397
|
abortHandler();
|
@@ -13466,7 +13473,7 @@ class SignalClient {
|
|
13466
13473
|
reject(new ConnectionError('Received leave request while trying to (re)connect', ConnectionErrorReason.LeaveRequest));
|
13467
13474
|
} else if (!opts.reconnect) {
|
13468
13475
|
// non-reconnect case, should receive join response first
|
13469
|
-
reject(new ConnectionError("did not receive join response, got ".concat((_c = resp.message) === null || _c === void 0 ? void 0 : _c.case, " instead")));
|
13476
|
+
reject(new ConnectionError("did not receive join response, got ".concat((_c = resp.message) === null || _c === void 0 ? void 0 : _c.case, " instead"), ConnectionErrorReason.InternalError));
|
13470
13477
|
}
|
13471
13478
|
if (!shouldProcessMessage) {
|
13472
13479
|
return;
|
@@ -13479,7 +13486,7 @@ class SignalClient {
|
|
13479
13486
|
});
|
13480
13487
|
this.ws.onclose = ev => {
|
13481
13488
|
if (this.isEstablishingConnection) {
|
13482
|
-
reject(new ConnectionError('Websocket got closed during a (re)connection attempt'));
|
13489
|
+
reject(new ConnectionError('Websocket got closed during a (re)connection attempt', ConnectionErrorReason.InternalError));
|
13483
13490
|
}
|
13484
13491
|
this.log.warn("websocket closed", Object.assign(Object.assign({}, this.logContext), {
|
13485
13492
|
reason: ev.reason,
|
@@ -15478,7 +15485,7 @@ class PCTransportManager {
|
|
15478
15485
|
abortController === null || abortController === void 0 ? void 0 : abortController.signal.addEventListener('abort', abortHandler);
|
15479
15486
|
const connectTimeout = CriticalTimers.setTimeout(() => {
|
15480
15487
|
abortController === null || abortController === void 0 ? void 0 : abortController.signal.removeEventListener('abort', abortHandler);
|
15481
|
-
reject(new ConnectionError('could not establish pc connection'));
|
15488
|
+
reject(new ConnectionError('could not establish pc connection', ConnectionErrorReason.InternalError));
|
15482
15489
|
}, timeout);
|
15483
15490
|
while (this.state !== PCTransportState.CONNECTED) {
|
15484
15491
|
yield sleep(50); // FIXME we shouldn't rely on `sleep` in the connection paths, as it invokes `setTimeout` which can be drastically throttled by browser implementations
|
@@ -17009,7 +17016,7 @@ class RTCEngine extends eventsExports.EventEmitter {
|
|
17009
17016
|
return new Promise((resolve, reject) => {
|
17010
17017
|
const publicationTimeout = setTimeout(() => {
|
17011
17018
|
delete this.pendingTrackResolvers[req.cid];
|
17012
|
-
reject(new ConnectionError('publication of local track timed out, no response from server'));
|
17019
|
+
reject(new ConnectionError('publication of local track timed out, no response from server', ConnectionErrorReason.InternalError));
|
17013
17020
|
}, 10000);
|
17014
17021
|
this.pendingTrackResolvers[req.cid] = {
|
17015
17022
|
resolve: info => {
|
@@ -17556,7 +17563,7 @@ class RTCEngine extends eventsExports.EventEmitter {
|
|
17556
17563
|
} catch (e) {
|
17557
17564
|
// TODO do we need a `failed` state here for the PC?
|
17558
17565
|
this.pcState = PCState.Disconnected;
|
17559
|
-
throw new ConnectionError("could not establish PC connection, ".concat(e.message));
|
17566
|
+
throw new ConnectionError("could not establish PC connection, ".concat(e.message), ConnectionErrorReason.InternalError);
|
17560
17567
|
}
|
17561
17568
|
});
|
17562
17569
|
}
|
@@ -17588,7 +17595,7 @@ class RTCEngine extends eventsExports.EventEmitter {
|
|
17588
17595
|
const transport = subscriber ? _this2.pcManager.subscriber : _this2.pcManager.publisher;
|
17589
17596
|
const transportName = subscriber ? 'Subscriber' : 'Publisher';
|
17590
17597
|
if (!transport) {
|
17591
|
-
throw new ConnectionError("".concat(transportName, " connection not set"));
|
17598
|
+
throw new ConnectionError("".concat(transportName, " connection not set"), ConnectionErrorReason.InternalError);
|
17592
17599
|
}
|
17593
17600
|
let needNegotiation = false;
|
17594
17601
|
if (!subscriber && !_this2.dataChannelForKind(kind, subscriber)) {
|
@@ -17614,7 +17621,7 @@ class RTCEngine extends eventsExports.EventEmitter {
|
|
17614
17621
|
}
|
17615
17622
|
yield sleep(50);
|
17616
17623
|
}
|
17617
|
-
throw new ConnectionError("could not establish ".concat(transportName, " connection, state: ").concat(transport.getICEConnectionState()));
|
17624
|
+
throw new ConnectionError("could not establish ".concat(transportName, " connection, state: ").concat(transport.getICEConnectionState()), ConnectionErrorReason.InternalError);
|
17618
17625
|
}();
|
17619
17626
|
});
|
17620
17627
|
}
|
@@ -17860,7 +17867,7 @@ class RegionUrlProvider {
|
|
17860
17867
|
this.lastUpdateAt = Date.now();
|
17861
17868
|
return regionSettings;
|
17862
17869
|
} else {
|
17863
|
-
throw new ConnectionError("Could not fetch region settings: ".concat(regionSettingsResponse.statusText), regionSettingsResponse.status === 401 ? ConnectionErrorReason.NotAllowed :
|
17870
|
+
throw new ConnectionError("Could not fetch region settings: ".concat(regionSettingsResponse.statusText), regionSettingsResponse.status === 401 ? ConnectionErrorReason.NotAllowed : ConnectionErrorReason.InternalError, regionSettingsResponse.status);
|
17864
17871
|
}
|
17865
17872
|
});
|
17866
17873
|
}
|
@@ -18798,7 +18805,7 @@ class LocalTrackPublication extends TrackPublication {
|
|
18798
18805
|
getTrackFeatures() {
|
18799
18806
|
var _a;
|
18800
18807
|
if (this.track instanceof LocalAudioTrack) {
|
18801
|
-
const settings = this.track.
|
18808
|
+
const settings = this.track.getSourceTrackSettings();
|
18802
18809
|
const features = new Set();
|
18803
18810
|
if (settings.autoGainControl) {
|
18804
18811
|
features.add(AudioTrackFeature.TF_AUTO_GAIN_CONTROL);
|
@@ -21502,7 +21509,7 @@ class Room extends eventsExports.EventEmitter {
|
|
21502
21509
|
} catch (err) {
|
21503
21510
|
yield this.engine.close();
|
21504
21511
|
this.recreateEngine();
|
21505
|
-
const resultingError = new ConnectionError("could not establish signal connection");
|
21512
|
+
const resultingError = new ConnectionError("could not establish signal connection", ConnectionErrorReason.ServerUnreachable);
|
21506
21513
|
if (err instanceof Error) {
|
21507
21514
|
resultingError.message = "".concat(resultingError.message, ": ").concat(err.message);
|
21508
21515
|
}
|
@@ -21518,7 +21525,7 @@ class Room extends eventsExports.EventEmitter {
|
|
21518
21525
|
if (abortController.signal.aborted) {
|
21519
21526
|
yield this.engine.close();
|
21520
21527
|
this.recreateEngine();
|
21521
|
-
throw new ConnectionError("Connection attempt aborted");
|
21528
|
+
throw new ConnectionError("Connection attempt aborted", ConnectionErrorReason.Cancelled);
|
21522
21529
|
}
|
21523
21530
|
try {
|
21524
21531
|
yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout, abortController);
|
@@ -21565,7 +21572,7 @@ class Room extends eventsExports.EventEmitter {
|
|
21565
21572
|
_this2.log.warn('abort connection attempt', _this2.logContext);
|
21566
21573
|
(_a = _this2.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
21567
21574
|
// in case the abort controller didn't manage to cancel the connection attempt, reject the connect promise explicitly
|
21568
|
-
(_c = (_b = _this2.connectFuture) === null || _b === void 0 ? void 0 : _b.reject) === null || _c === void 0 ? void 0 : _c.call(_b, new ConnectionError('Client initiated disconnect'));
|
21575
|
+
(_c = (_b = _this2.connectFuture) === null || _b === void 0 ? void 0 : _b.reject) === null || _c === void 0 ? void 0 : _c.call(_b, new ConnectionError('Client initiated disconnect', ConnectionErrorReason.Cancelled));
|
21569
21576
|
_this2.connectFuture = undefined;
|
21570
21577
|
}
|
21571
21578
|
// send leave
|