livekit-client 1.9.3 → 1.9.5
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -0
- package/dist/livekit-client.esm.mjs +125 -908
- 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 +2 -3
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +1 -2
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +1 -0
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +0 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/timers.d.ts +4 -5
- package/dist/src/room/timers.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/utils/AsyncQueue.d.ts +23 -0
- package/dist/src/utils/AsyncQueue.d.ts.map +1 -0
- package/dist/src/utils/browserParser.d.ts +10 -0
- package/dist/src/utils/browserParser.d.ts.map +1 -0
- package/dist/ts4.2/src/api/SignalClient.d.ts +2 -3
- package/dist/ts4.2/src/room/PCTransport.d.ts +1 -2
- package/dist/ts4.2/src/room/Room.d.ts +1 -0
- package/dist/ts4.2/src/room/participant/LocalParticipant.d.ts +0 -1
- package/dist/ts4.2/src/room/timers.d.ts +4 -5
- package/dist/ts4.2/src/utils/AsyncQueue.d.ts +23 -0
- package/dist/ts4.2/src/utils/browserParser.d.ts +10 -0
- package/package.json +11 -22
- package/src/api/SignalClient.ts +4 -5
- package/src/connectionHelper/ConnectionCheck.ts +1 -1
- package/src/room/PCTransport.ts +1 -1
- package/src/room/Room.ts +5 -2
- package/src/room/participant/LocalParticipant.ts +0 -1
- package/src/room/utils.ts +17 -16
- package/src/utils/AsyncQueue.test.ts +99 -0
- package/src/utils/AsyncQueue.ts +57 -0
- package/src/utils/browserParser.test.ts +58 -0
- package/src/utils/browserParser.ts +72 -0
@@ -1,7 +1,6 @@
|
|
1
|
-
import Queue from 'async-await-queue';
|
2
|
-
import 'webrtc-adapter';
|
3
1
|
import { ParticipantInfo, ReconnectReason, Room, SpeakerInfo, VideoLayer } from '../proto/livekit_models';
|
4
2
|
import { AddTrackRequest, ConnectionQualityUpdate, JoinResponse, LeaveRequest, ReconnectResponse, SessionDescription, SignalRequest, SignalTarget, SimulateScenario, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UpdateSubscription, UpdateTrackSettings } from '../proto/livekit_rtc';
|
3
|
+
import { AsyncQueue } from '../utils/AsyncQueue';
|
5
4
|
interface ConnectOpts {
|
6
5
|
autoSubscribe: boolean;
|
7
6
|
/** internal */
|
@@ -26,7 +25,7 @@ type SignalMessage = SignalRequest['message'];
|
|
26
25
|
export declare class SignalClient {
|
27
26
|
isConnected: boolean;
|
28
27
|
isReconnecting: boolean;
|
29
|
-
requestQueue:
|
28
|
+
requestQueue: AsyncQueue;
|
30
29
|
queuedRequests: Array<() => Promise<void>>;
|
31
30
|
useJSON: boolean;
|
32
31
|
/** signal rtt in milliseconds */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,EAAE,EAAE,iBAAiB,CAAC;IAEtB,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;gBAEzC,MAAM,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAQrF,IAAI,cAAc,IAAI,OAAO,CAE5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBxE,SAAS;iDAA2B,KAAK,KAAK,IAAI;;MAW1C;IAEF,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe;IAwF5C,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAY9D,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ9D,KAAK;YAMS,yBAAyB;CA4BxC"}
|
package/dist/src/room/Room.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import type TypedEmitter from 'typed-emitter';
|
2
|
+
import 'webrtc-adapter';
|
2
3
|
import type { InternalRoomOptions, RoomConnectOptions, RoomOptions } from '../options';
|
3
4
|
import { DataPacket_Kind, DisconnectReason, ParticipantPermission } from '../proto/livekit_models';
|
4
5
|
import RTCEngine from './RTCEngine';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +1,12 @@
|
|
1
|
-
/// <reference types="node" />
|
2
1
|
/**
|
3
2
|
* Timers that can be overridden with platform specific implementations
|
4
3
|
* that ensure that they are fired. These should be used when it is critical
|
5
4
|
* that the timer fires on time.
|
6
5
|
*/
|
7
6
|
export default class CriticalTimers {
|
8
|
-
static setTimeout: (
|
9
|
-
static setInterval: (
|
10
|
-
static clearTimeout: (
|
11
|
-
static clearInterval: (
|
7
|
+
static setTimeout: (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number;
|
8
|
+
static setInterval: (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number;
|
9
|
+
static clearTimeout: (id: number | undefined) => void;
|
10
|
+
static clearInterval: (id: number | undefined) => void;
|
12
11
|
}
|
13
12
|
//# sourceMappingURL=timers.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../src/room/timers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../src/room/timers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAEjC,MAAM,CAAC,UAAU,uFAAmE;IAGpF,MAAM,CAAC,WAAW,uFAAqE;IAEvF,MAAM,CAAC,YAAY,mCAAuE;IAE1F,MAAM,CAAC,aAAa,mCAAyE;CAC9F"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
type QueueTask<T> = () => PromiseLike<T>;
|
2
|
+
declare enum QueueTaskStatus {
|
3
|
+
'WAITING' = 0,
|
4
|
+
'RUNNING' = 1,
|
5
|
+
'COMPLETED' = 2
|
6
|
+
}
|
7
|
+
type QueueTaskInfo = {
|
8
|
+
id: number;
|
9
|
+
enqueuedAt: number;
|
10
|
+
executedAt?: number;
|
11
|
+
status: QueueTaskStatus;
|
12
|
+
};
|
13
|
+
export declare class AsyncQueue {
|
14
|
+
private pendingTasks;
|
15
|
+
private taskMutex;
|
16
|
+
private nextTaskIndex;
|
17
|
+
constructor();
|
18
|
+
run<T>(task: QueueTask<T>): Promise<T>;
|
19
|
+
flush(): Promise<void>;
|
20
|
+
snapshot(): QueueTaskInfo[];
|
21
|
+
}
|
22
|
+
export {};
|
23
|
+
//# sourceMappingURL=AsyncQueue.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AsyncQueue.d.ts","sourceRoot":"","sources":["../../../src/utils/AsyncQueue.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzC,aAAK,eAAe;IAClB,SAAS,IAAA;IACT,SAAS,IAAA;IACT,WAAW,IAAA;CACZ;AAED,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,aAAa,CAAS;;IAQxB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAmBzB,KAAK;IAIX,QAAQ;CAGT"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export type DetectableBrowser = 'Chrome' | 'Firefox' | 'Safari';
|
2
|
+
export type BrowserDetails = {
|
3
|
+
name: DetectableBrowser;
|
4
|
+
version: string;
|
5
|
+
};
|
6
|
+
/**
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export declare function getBrowser(userAgent?: string, force?: boolean): BrowserDetails | undefined;
|
10
|
+
//# sourceMappingURL=browserParser.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"browserParser.d.ts","sourceRoot":"","sources":["../../../src/utils/browserParser.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,UAAO,8BAa1D"}
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import Queue from 'async-await-queue';
|
2
|
-
import 'webrtc-adapter';
|
3
1
|
import { ParticipantInfo, ReconnectReason, Room, SpeakerInfo, VideoLayer } from '../proto/livekit_models';
|
4
2
|
import { AddTrackRequest, ConnectionQualityUpdate, JoinResponse, LeaveRequest, ReconnectResponse, SessionDescription, SignalRequest, SignalTarget, SimulateScenario, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UpdateSubscription, UpdateTrackSettings } from '../proto/livekit_rtc';
|
3
|
+
import { AsyncQueue } from '../utils/AsyncQueue';
|
5
4
|
interface ConnectOpts {
|
6
5
|
autoSubscribe: boolean;
|
7
6
|
/** internal */
|
@@ -26,7 +25,7 @@ type SignalMessage = SignalRequest['message'];
|
|
26
25
|
export declare class SignalClient {
|
27
26
|
isConnected: boolean;
|
28
27
|
isReconnecting: boolean;
|
29
|
-
requestQueue:
|
28
|
+
requestQueue: AsyncQueue;
|
30
29
|
queuedRequests: Array<() => Promise<void>>;
|
31
30
|
useJSON: boolean;
|
32
31
|
/** signal rtt in milliseconds */
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import type TypedEmitter from 'typed-emitter';
|
2
|
+
import 'webrtc-adapter';
|
2
3
|
import type { InternalRoomOptions, RoomConnectOptions, RoomOptions } from '../options';
|
3
4
|
import { DataPacket_Kind, DisconnectReason, ParticipantPermission } from '../proto/livekit_models';
|
4
5
|
import RTCEngine from './RTCEngine';
|
@@ -1,13 +1,12 @@
|
|
1
|
-
/// <reference types="node" />
|
2
1
|
/**
|
3
2
|
* Timers that can be overridden with platform specific implementations
|
4
3
|
* that ensure that they are fired. These should be used when it is critical
|
5
4
|
* that the timer fires on time.
|
6
5
|
*/
|
7
6
|
export default class CriticalTimers {
|
8
|
-
static setTimeout: (
|
9
|
-
static setInterval: (
|
10
|
-
static clearTimeout: (
|
11
|
-
static clearInterval: (
|
7
|
+
static setTimeout: (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number;
|
8
|
+
static setInterval: (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number;
|
9
|
+
static clearTimeout: (id: number | undefined) => void;
|
10
|
+
static clearInterval: (id: number | undefined) => void;
|
12
11
|
}
|
13
12
|
//# sourceMappingURL=timers.d.ts.map
|
@@ -0,0 +1,23 @@
|
|
1
|
+
type QueueTask<T> = () => PromiseLike<T>;
|
2
|
+
declare enum QueueTaskStatus {
|
3
|
+
'WAITING' = 0,
|
4
|
+
'RUNNING' = 1,
|
5
|
+
'COMPLETED' = 2
|
6
|
+
}
|
7
|
+
type QueueTaskInfo = {
|
8
|
+
id: number;
|
9
|
+
enqueuedAt: number;
|
10
|
+
executedAt?: number;
|
11
|
+
status: QueueTaskStatus;
|
12
|
+
};
|
13
|
+
export declare class AsyncQueue {
|
14
|
+
private pendingTasks;
|
15
|
+
private taskMutex;
|
16
|
+
private nextTaskIndex;
|
17
|
+
constructor();
|
18
|
+
run<T>(task: QueueTask<T>): Promise<T>;
|
19
|
+
flush(): Promise<void>;
|
20
|
+
snapshot(): QueueTaskInfo[];
|
21
|
+
}
|
22
|
+
export {};
|
23
|
+
//# sourceMappingURL=AsyncQueue.d.ts.map
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export type DetectableBrowser = 'Chrome' | 'Firefox' | 'Safari';
|
2
|
+
export type BrowserDetails = {
|
3
|
+
name: DetectableBrowser;
|
4
|
+
version: string;
|
5
|
+
};
|
6
|
+
/**
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export declare function getBrowser(userAgent?: string, force?: boolean): BrowserDetails | undefined;
|
10
|
+
//# sourceMappingURL=browserParser.d.ts.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "livekit-client",
|
3
|
-
"version": "1.9.
|
3
|
+
"version": "1.9.5",
|
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",
|
@@ -36,18 +36,18 @@
|
|
36
36
|
"deploy": "gh-pages -d example/dist",
|
37
37
|
"format": "prettier --write src example/sample.ts",
|
38
38
|
"format:check": "prettier --check src",
|
39
|
-
"release": "yarn build && changeset publish",
|
40
|
-
"downlevel-dts": "downlevel-dts ./dist/ ./dist/ts4.2 --to=4.2"
|
39
|
+
"release": "yarn build && yarn compat && changeset publish",
|
40
|
+
"downlevel-dts": "downlevel-dts ./dist/ ./dist/ts4.2 --to=4.2",
|
41
|
+
"compat": "eslint --no-eslintrc --config ./.eslintrc.dist.cjs ./dist/livekit-client.umd.js",
|
42
|
+
"size-limit": "size-limit"
|
41
43
|
},
|
42
44
|
"dependencies": {
|
43
|
-
"async-await-queue": "^1.2.1",
|
44
45
|
"events": "^3.3.0",
|
45
46
|
"loglevel": "^1.8.0",
|
46
47
|
"protobufjs": "^7.0.0",
|
47
48
|
"sdp-transform": "^2.14.1",
|
48
49
|
"ts-debounce": "^4.0.0",
|
49
50
|
"typed-emitter": "^2.1.0",
|
50
|
-
"ua-parser-js": "^1.0.2",
|
51
51
|
"webrtc-adapter": "^8.1.1"
|
52
52
|
},
|
53
53
|
"devDependencies": {
|
@@ -60,45 +60,34 @@
|
|
60
60
|
"@rollup/plugin-json": "6.0.0",
|
61
61
|
"@rollup/plugin-node-resolve": "15.0.2",
|
62
62
|
"@rollup/plugin-terser": "^0.4.0",
|
63
|
+
"@size-limit/file": "^8.2.4",
|
64
|
+
"@size-limit/webpack": "^8.2.4",
|
63
65
|
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
66
|
+
"@types/events": "^3.0.0",
|
64
67
|
"@types/jest": "29.5.1",
|
65
68
|
"@types/sdp-transform": "2.4.6",
|
66
69
|
"@types/ua-parser-js": "0.7.36",
|
67
|
-
"@types/ws": "8.5.4",
|
68
70
|
"@typescript-eslint/eslint-plugin": "5.59.2",
|
69
71
|
"@typescript-eslint/parser": "5.59.2",
|
70
72
|
"downlevel-dts": "^0.11.0",
|
71
73
|
"eslint": "8.39.0",
|
72
74
|
"eslint-config-airbnb-typescript": "17.0.0",
|
73
75
|
"eslint-config-prettier": "8.8.0",
|
76
|
+
"eslint-plugin-ecmascript-compat": "^3.0.0",
|
74
77
|
"eslint-plugin-import": "2.27.5",
|
75
78
|
"gh-pages": "5.0.0",
|
76
79
|
"jest": "29.5.0",
|
77
80
|
"prettier": "^2.8.8",
|
78
81
|
"rollup": "3.21.3",
|
79
82
|
"rollup-plugin-delete": "^2.0.0",
|
80
|
-
"rollup-plugin-filesize": "10.0.0",
|
81
83
|
"rollup-plugin-re": "1.0.7",
|
82
84
|
"rollup-plugin-typescript2": "0.34.1",
|
85
|
+
"size-limit": "^8.2.4",
|
83
86
|
"ts-jest": "29.1.0",
|
84
87
|
"ts-proto": "1.147.1",
|
85
88
|
"typedoc": "0.24.6",
|
86
89
|
"typedoc-plugin-no-inherit": "1.4.0",
|
87
90
|
"typescript": "5.0.4",
|
88
91
|
"vite": "4.3.4"
|
89
|
-
}
|
90
|
-
"browserslist": [
|
91
|
-
"safari >= 11",
|
92
|
-
"ios_saf >= 11",
|
93
|
-
"chrome >= 64",
|
94
|
-
"and_chr >= 64",
|
95
|
-
"android >= 64",
|
96
|
-
"firefox >= 53",
|
97
|
-
"and_ff >= 53",
|
98
|
-
"edge >= 79",
|
99
|
-
"Opera >= 52",
|
100
|
-
"Samsung >= 9.2",
|
101
|
-
"not IE 11",
|
102
|
-
"not dead"
|
103
|
-
]
|
92
|
+
}
|
104
93
|
}
|
package/src/api/SignalClient.ts
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import Queue from 'async-await-queue';
|
2
|
-
import 'webrtc-adapter';
|
3
1
|
import log from '../logger';
|
4
2
|
import {
|
5
3
|
ClientInfo,
|
@@ -34,6 +32,7 @@ import {
|
|
34
32
|
import { ConnectionError, ConnectionErrorReason } from '../room/errors';
|
35
33
|
import CriticalTimers from '../room/timers';
|
36
34
|
import { Mutex, getClientInfo, isReactNative, sleep } from '../room/utils';
|
35
|
+
import { AsyncQueue } from '../utils/AsyncQueue';
|
37
36
|
|
38
37
|
// internal options
|
39
38
|
interface ConnectOpts {
|
@@ -76,7 +75,7 @@ const passThroughQueueSignals: Array<SignalKind> = [
|
|
76
75
|
];
|
77
76
|
|
78
77
|
function canPassThroughQueue(req: SignalMessage): boolean {
|
79
|
-
const canPass = passThroughQueueSignals.
|
78
|
+
const canPass = passThroughQueueSignals.indexOf(req!.$case) >= 0;
|
80
79
|
log.trace('request allowed to bypass queue:', { canPass, req });
|
81
80
|
return canPass;
|
82
81
|
}
|
@@ -87,7 +86,7 @@ export class SignalClient {
|
|
87
86
|
|
88
87
|
isReconnecting: boolean;
|
89
88
|
|
90
|
-
requestQueue:
|
89
|
+
requestQueue: AsyncQueue;
|
91
90
|
|
92
91
|
queuedRequests: Array<() => Promise<void>>;
|
93
92
|
|
@@ -154,7 +153,7 @@ export class SignalClient {
|
|
154
153
|
this.isConnected = false;
|
155
154
|
this.isReconnecting = false;
|
156
155
|
this.useJSON = useJSON;
|
157
|
-
this.requestQueue = new
|
156
|
+
this.requestQueue = new AsyncQueue();
|
158
157
|
this.queuedRequests = [];
|
159
158
|
this.closingLock = new Mutex();
|
160
159
|
}
|
package/src/room/PCTransport.ts
CHANGED
package/src/room/Room.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { EventEmitter } from 'events';
|
2
2
|
import type TypedEmitter from 'typed-emitter';
|
3
|
+
import 'webrtc-adapter';
|
3
4
|
import { toProtoSessionDescription } from '../api/SignalClient';
|
4
5
|
import log from '../logger';
|
5
6
|
import type {
|
@@ -1369,11 +1370,13 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
1369
1370
|
) {
|
1370
1371
|
consecutiveFailures++;
|
1371
1372
|
log.warn('detected connection state mismatch', { numFailures: consecutiveFailures });
|
1372
|
-
if (consecutiveFailures >= 3)
|
1373
|
+
if (consecutiveFailures >= 3) {
|
1374
|
+
this.recreateEngine();
|
1373
1375
|
this.handleDisconnect(
|
1374
1376
|
this.options.stopLocalTrackOnUnpublish,
|
1375
|
-
DisconnectReason.
|
1377
|
+
DisconnectReason.STATE_MISMATCH,
|
1376
1378
|
);
|
1379
|
+
}
|
1377
1380
|
} else {
|
1378
1381
|
consecutiveFailures = 0;
|
1379
1382
|
}
|
package/src/room/utils.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
import UAParser from 'ua-parser-js';
|
2
1
|
import { ClientInfo, ClientInfo_SDK } from '../proto/livekit_models';
|
2
|
+
import { getBrowser } from '../utils/browserParser';
|
3
|
+
import type { DetectableBrowser } from '../utils/browserParser';
|
3
4
|
import { protocolVersion, version } from '../version';
|
4
5
|
import type LocalAudioTrack from './track/LocalAudioTrack';
|
5
6
|
import type RemoteAudioTrack from './track/RemoteAudioTrack';
|
@@ -90,13 +91,10 @@ export function supportsSetSinkId(elm?: HTMLMediaElement): boolean {
|
|
90
91
|
return 'setSinkId' in elm;
|
91
92
|
}
|
92
93
|
|
93
|
-
const setCodecPreferencesVersions:
|
94
|
+
const setCodecPreferencesVersions: Record<DetectableBrowser, string> = {
|
94
95
|
Chrome: '100',
|
95
|
-
Chromium: '100',
|
96
96
|
Safari: '15',
|
97
97
|
Firefox: '100',
|
98
|
-
Edge: '100',
|
99
|
-
Brave: '1.40',
|
100
98
|
};
|
101
99
|
|
102
100
|
export function supportsSetCodecPreferences(transceiver: RTCRtpTransceiver): boolean {
|
@@ -106,14 +104,14 @@ export function supportsSetCodecPreferences(transceiver: RTCRtpTransceiver): boo
|
|
106
104
|
if (!('setCodecPreferences' in transceiver)) {
|
107
105
|
return false;
|
108
106
|
}
|
109
|
-
const
|
110
|
-
if (!
|
107
|
+
const browser = getBrowser();
|
108
|
+
if (!browser?.name || !browser.version) {
|
111
109
|
// version is required
|
112
110
|
return false;
|
113
111
|
}
|
114
|
-
const v = setCodecPreferencesVersions[
|
112
|
+
const v = setCodecPreferencesVersions[browser.name];
|
115
113
|
if (v) {
|
116
|
-
return compareVersions(
|
114
|
+
return compareVersions(browser.version, v) >= 0;
|
117
115
|
}
|
118
116
|
return false;
|
119
117
|
}
|
@@ -123,18 +121,15 @@ export function isBrowserSupported() {
|
|
123
121
|
}
|
124
122
|
|
125
123
|
export function isFireFox(): boolean {
|
126
|
-
|
127
|
-
return navigator.userAgent.indexOf('Firefox') !== -1;
|
124
|
+
return getBrowser()?.name === 'Firefox';
|
128
125
|
}
|
129
126
|
|
130
127
|
export function isChromiumBased(): boolean {
|
131
|
-
|
132
|
-
return navigator.userAgent.indexOf('Chrom') !== -1;
|
128
|
+
return getBrowser()?.name === 'Chrome';
|
133
129
|
}
|
134
130
|
|
135
131
|
export function isSafari(): boolean {
|
136
|
-
|
137
|
-
return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
132
|
+
return getBrowser()?.name === 'Safari';
|
138
133
|
}
|
139
134
|
|
140
135
|
export function isMobile(): boolean {
|
@@ -197,12 +192,18 @@ export function getDevicePixelRatio(): number {
|
|
197
192
|
export function compareVersions(v1: string, v2: string): number {
|
198
193
|
const parts1 = v1.split('.');
|
199
194
|
const parts2 = v2.split('.');
|
200
|
-
const k = Math.min(
|
195
|
+
const k = Math.min(parts1.length, parts2.length);
|
201
196
|
for (let i = 0; i < k; ++i) {
|
202
197
|
const p1 = parseInt(parts1[i], 10);
|
203
198
|
const p2 = parseInt(parts2[i], 10);
|
204
199
|
if (p1 > p2) return 1;
|
205
200
|
if (p1 < p2) return -1;
|
201
|
+
if (i === k - 1 && p1 === p2) return 0;
|
202
|
+
}
|
203
|
+
if (v1 === '' && v2 !== '') {
|
204
|
+
return -1;
|
205
|
+
} else if (v2 === '') {
|
206
|
+
return 1;
|
206
207
|
}
|
207
208
|
return parts1.length == parts2.length ? 0 : parts1.length < parts2.length ? -1 : 1;
|
208
209
|
}
|