fcr-core 3.10.5 → 3.10.6
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/lib/engine/index.js +108 -102
- package/lib/imports.js +0 -1
- package/lib/index.d.ts +1 -1
- package/lib/media-control/desktop.js +13 -22
- package/lib/media-control/mobile.js +13 -22
- package/lib/monitor-control/index.js +7 -17
- package/lib/peer-session/index.js +121 -120
- package/lib/plugins/chat/chatroom.js +96 -119
- package/lib/plugins/chat/connector.js +48 -69
- package/lib/remote-control/index.js +216 -194
- package/lib/room-control/ability-control/index.js +10 -20
- package/lib/room-control/application-control/index.js +75 -82
- package/lib/room-control/group-control/index.js +30 -31
- package/lib/room-control/helpers/board-init-info-helper.js +10 -16
- package/lib/room-control/helpers/validation-helper.js +1 -1
- package/lib/room-control/index.js +51 -70
- package/lib/room-control/infinity-room-control/index.js +19 -27
- package/lib/room-control/interpreter-control/index.js +65 -77
- package/lib/room-control/interpreter-control/room.js +4 -6
- package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
- package/lib/room-control/mainroom-control/index.js +25 -37
- package/lib/room-control/privilege-control/helper.js +13 -28
- package/lib/room-control/privilege-control/index.js +28 -36
- package/lib/room-control/room-connector-control/index.js +47 -52
- package/lib/room-control/room-control-factory.js +12 -10
- package/lib/room-control/room-session/index.js +74 -77
- package/lib/room-control/shared-cache.js +56 -63
- package/lib/room-control/sharing-control/index.js +57 -65
- package/lib/room-control/stream-control/index.js +238 -203
- package/lib/room-control/stream-control/type.d.ts +11 -1
- package/lib/room-control/stt-control/de-compress-gzip.js +0 -10
- package/lib/room-control/stt-control/index.js +86 -93
- package/lib/room-control/user-control/index.js +155 -162
- package/lib/room-control/waitingroom-control/index.js +9 -18
- package/lib/room-control/whiteboard-control/utils.js +2 -4
- package/lib/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
- package/lib/room-control/whiteboard-control-v1/board-window.js +103 -120
- package/lib/room-control/whiteboard-control-v1/factory.js +4 -7
- package/lib/room-control/whiteboard-control-v1/index.js +67 -80
- package/lib/room-control/whiteboard-control-v1/mount-manager.js +2 -4
- package/lib/room-control/whiteboard-control-v1/utils.js +14 -17
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +10 -14
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -17
- package/lib/room-control/whiteboard-control-v2/base/index.js +53 -61
- package/lib/room-control/whiteboard-control-v2/base/main-window.js +30 -39
- package/lib/room-control/whiteboard-control-v2/utils.js +10 -10
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -27
- package/lib/room-control/widget-control/index.js +33 -43
- package/lib/room-router/index.js +58 -66
- package/lib/service/api.js +548 -446
- package/lib/struct.js +2 -5
- package/lib/type.d.ts +1 -1
- package/lib/utilities/abortable-retry.js +0 -3
- package/lib/utilities/collection.js +11 -15
- package/lib/utilities/error-helpers.js +27 -34
- package/lib/utilities/error.js +3 -4
- package/lib/utilities/join-helper.js +31 -37
- package/lib/utilities/logger.js +5 -8
- package/lib/utilities/parameters.js +10 -21
- package/lib/utilities/retry-helpers.js +0 -1
- package/lib/utilities/stream.js +11 -16
- package/lib/utilities/user.js +3 -4
- package/lib/utilities/validate-params.js +1 -1
- package/lib/utilities/video-encoder-config.js +5 -10
- package/lib-es/engine/index.js +108 -102
- package/lib-es/media-control/desktop.js +13 -22
- package/lib-es/media-control/mobile.js +13 -22
- package/lib-es/monitor-control/index.js +7 -16
- package/lib-es/peer-session/index.js +121 -120
- package/lib-es/plugins/chat/chatroom.js +95 -118
- package/lib-es/plugins/chat/connector.js +47 -67
- package/lib-es/remote-control/index.js +216 -194
- package/lib-es/room-control/ability-control/index.js +10 -19
- package/lib-es/room-control/application-control/index.js +75 -81
- package/lib-es/room-control/group-control/index.js +30 -31
- package/lib-es/room-control/helpers/board-init-info-helper.js +10 -15
- package/lib-es/room-control/helpers/validation-helper.js +1 -1
- package/lib-es/room-control/index.js +51 -69
- package/lib-es/room-control/infinity-room-control/index.js +19 -26
- package/lib-es/room-control/interpreter-control/index.js +65 -77
- package/lib-es/room-control/interpreter-control/room.js +4 -5
- package/lib-es/room-control/join-before-host-waitingroom-control/index.js +4 -5
- package/lib-es/room-control/mainroom-control/index.js +25 -37
- package/lib-es/room-control/privilege-control/helper.js +13 -27
- package/lib-es/room-control/privilege-control/index.js +28 -36
- package/lib-es/room-control/room-connector-control/index.js +47 -52
- package/lib-es/room-control/room-control-factory.js +12 -10
- package/lib-es/room-control/room-session/index.js +74 -77
- package/lib-es/room-control/shared-cache.js +56 -62
- package/lib-es/room-control/sharing-control/index.js +57 -64
- package/lib-es/room-control/stream-control/index.js +240 -205
- package/lib-es/room-control/stt-control/de-compress-gzip.js +0 -10
- package/lib-es/room-control/stt-control/index.js +86 -93
- package/lib-es/room-control/user-control/index.js +155 -162
- package/lib-es/room-control/waitingroom-control/index.js +9 -18
- package/lib-es/room-control/whiteboard-control/utils.js +2 -4
- package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
- package/lib-es/room-control/whiteboard-control-v1/board-window.js +103 -120
- package/lib-es/room-control/whiteboard-control-v1/factory.js +4 -6
- package/lib-es/room-control/whiteboard-control-v1/index.js +67 -80
- package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +2 -3
- package/lib-es/room-control/whiteboard-control-v1/utils.js +14 -17
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +10 -13
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -16
- package/lib-es/room-control/whiteboard-control-v2/base/index.js +53 -60
- package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +30 -39
- package/lib-es/room-control/whiteboard-control-v2/utils.js +10 -10
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -26
- package/lib-es/room-control/widget-control/index.js +33 -42
- package/lib-es/room-router/index.js +58 -66
- package/lib-es/service/api.js +548 -445
- package/lib-es/struct.js +2 -4
- package/lib-es/utilities/abortable-retry.js +0 -3
- package/lib-es/utilities/collection.js +11 -14
- package/lib-es/utilities/error-helpers.js +26 -33
- package/lib-es/utilities/error.js +3 -4
- package/lib-es/utilities/join-helper.js +29 -36
- package/lib-es/utilities/logger.js +5 -7
- package/lib-es/utilities/parameters.js +10 -21
- package/lib-es/utilities/retry-helpers.js +0 -1
- package/lib-es/utilities/stream.js +11 -15
- package/lib-es/utilities/user.js +3 -4
- package/lib-es/utilities/validate-params.js +1 -1
- package/lib-es/utilities/video-encoder-config.js +5 -10
- package/package.json +4 -4
package/lib-es/struct.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import "core-js/modules/es.array.unshift.js";
|
|
3
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
4
1
|
import { FcrDualVideoStreamConfig } from './utilities/dual-video-stream-config';
|
|
5
2
|
import { getRtcPresetParameters } from './utilities/parameters';
|
|
6
3
|
|
|
7
4
|
/** 引擎配置类 */
|
|
8
5
|
export class FcrCoreEngineConfig {
|
|
6
|
+
__json_serializable__ = true;
|
|
7
|
+
|
|
9
8
|
/** 应用唯一标识 */
|
|
10
9
|
|
|
11
10
|
/** 身份验证令牌 */
|
|
@@ -21,7 +20,6 @@ export class FcrCoreEngineConfig {
|
|
|
21
20
|
/** 额外参数配置 */
|
|
22
21
|
|
|
23
22
|
constructor(params) {
|
|
24
|
-
_defineProperty(this, "__json_serializable__", true);
|
|
25
23
|
this.appId = params.appId;
|
|
26
24
|
this.token = params.token;
|
|
27
25
|
this.userId = params.userId;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
2
|
-
import "core-js/modules/web.dom-exception.constructor.js";
|
|
3
1
|
import "core-js/modules/web.dom-exception.stack.js";
|
|
4
|
-
import "core-js/modules/web.dom-exception.to-string-tag.js";
|
|
5
2
|
import { retryAttempt, to } from '../imports';
|
|
6
3
|
/**
|
|
7
4
|
* Creates an abortable retry operation that can be cancelled at any time.
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
import "core-js/modules/es.array.push.js";
|
|
3
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
4
2
|
export const iterateMap = (map, processors) => {
|
|
5
|
-
const onFilter =
|
|
6
|
-
const
|
|
7
|
-
onMap
|
|
8
|
-
onReduce
|
|
3
|
+
const onFilter = processors?.onFilter || (() => true);
|
|
4
|
+
const {
|
|
5
|
+
onMap,
|
|
6
|
+
onReduce
|
|
7
|
+
} = processors || {};
|
|
9
8
|
const list = [];
|
|
10
9
|
let prev = undefined;
|
|
11
|
-
for (const
|
|
12
|
-
var _ref3 = _slicedToArray(_ref2, 2);
|
|
13
|
-
const k = _ref3[0];
|
|
14
|
-
const v = _ref3[1];
|
|
10
|
+
for (const [k, v] of map.entries()) {
|
|
15
11
|
if (onFilter(k, v)) {
|
|
16
12
|
if (onMap) list.push(onMap(k, v));
|
|
17
13
|
if (onReduce) prev = onReduce(prev, k, v);
|
|
@@ -23,10 +19,11 @@ export const iterateMap = (map, processors) => {
|
|
|
23
19
|
};
|
|
24
20
|
};
|
|
25
21
|
export const iterateSet = (map, processors) => {
|
|
26
|
-
const onFilter =
|
|
27
|
-
const
|
|
28
|
-
onMap
|
|
29
|
-
onReduce
|
|
22
|
+
const onFilter = processors?.onFilter || (() => true);
|
|
23
|
+
const {
|
|
24
|
+
onMap,
|
|
25
|
+
onReduce
|
|
26
|
+
} = processors || {};
|
|
30
27
|
const list = [];
|
|
31
28
|
let prev = undefined;
|
|
32
29
|
for (const item of map.values()) {
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
|
2
|
-
import "core-js/modules/esnext.iterator.constructor.js";
|
|
3
|
-
import "core-js/modules/esnext.iterator.filter.js";
|
|
4
|
-
import "core-js/modules/esnext.iterator.for-each.js";
|
|
5
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
6
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
1
|
/**
|
|
9
2
|
* 通用错误处理辅助工具
|
|
10
3
|
*
|
|
@@ -44,14 +37,14 @@ export let ControllerType = /*#__PURE__*/function (ControllerType) {
|
|
|
44
37
|
* 错误处理助手类 - 支持实例化配置
|
|
45
38
|
*/
|
|
46
39
|
export class FcrErrorHelper {
|
|
47
|
-
constructor() {
|
|
48
|
-
|
|
49
|
-
this.config = _objectSpread({
|
|
40
|
+
constructor(config = {}) {
|
|
41
|
+
this.config = {
|
|
50
42
|
defaultModuleCode: ErrorModuleCode.FCR_ROOM,
|
|
51
43
|
enableDetailedMessages: true,
|
|
52
44
|
logPrefix: 'FCR',
|
|
53
|
-
autoLog: false
|
|
54
|
-
|
|
45
|
+
autoLog: false,
|
|
46
|
+
...config
|
|
47
|
+
};
|
|
55
48
|
}
|
|
56
49
|
/**
|
|
57
50
|
* 生成控制器未初始化错误
|
|
@@ -60,11 +53,11 @@ export class FcrErrorHelper {
|
|
|
60
53
|
* @returns FcrError
|
|
61
54
|
*/
|
|
62
55
|
createControllerNotInitializedError(controllerType, moduleCode) {
|
|
63
|
-
const module = moduleCode
|
|
64
|
-
const message = this.config.enableDetailedMessages ?
|
|
56
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
57
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] The ${controllerType} controller is not initialized, please join the room first` : `${controllerType} controller not initialized`;
|
|
65
58
|
const error = generateFcrCoreClientError(module, DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
66
59
|
if (this.config.autoLog) {
|
|
67
|
-
console.error(
|
|
60
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
68
61
|
}
|
|
69
62
|
return error;
|
|
70
63
|
}
|
|
@@ -77,11 +70,11 @@ export class FcrErrorHelper {
|
|
|
77
70
|
* @returns FcrError
|
|
78
71
|
*/
|
|
79
72
|
createOperationConflictError(operation, reason, moduleCode) {
|
|
80
|
-
const module = moduleCode
|
|
81
|
-
const message = this.config.enableDetailedMessages ?
|
|
73
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
74
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Failed to ${operation}: ${reason}` : `${operation} failed: ${reason}`;
|
|
82
75
|
const error = generateFcrCoreClientError(module, DetailErrorCode.JOIN_CONFLICT, message);
|
|
83
76
|
if (this.config.autoLog) {
|
|
84
|
-
console.error(
|
|
77
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
85
78
|
}
|
|
86
79
|
return error;
|
|
87
80
|
}
|
|
@@ -93,11 +86,11 @@ export class FcrErrorHelper {
|
|
|
93
86
|
* @returns FcrError
|
|
94
87
|
*/
|
|
95
88
|
createOperationCanceledError(operation, moduleCode) {
|
|
96
|
-
const module = moduleCode
|
|
97
|
-
const message = this.config.enableDetailedMessages ?
|
|
89
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
90
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} operation has been cancelled` : `${operation} cancelled`;
|
|
98
91
|
const error = generateFcrCoreClientError(module, DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
99
92
|
if (this.config.autoLog) {
|
|
100
|
-
console.error(
|
|
93
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
101
94
|
}
|
|
102
95
|
return error;
|
|
103
96
|
}
|
|
@@ -109,11 +102,11 @@ export class FcrErrorHelper {
|
|
|
109
102
|
* @returns FcrError
|
|
110
103
|
*/
|
|
111
104
|
createSendMessageError(originalError, moduleCode) {
|
|
112
|
-
const module = moduleCode
|
|
113
|
-
const message = this.config.enableDetailedMessages ?
|
|
105
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
106
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Send message failed: ${originalError.message}` : 'send message failed';
|
|
114
107
|
const error = generateFcrCoreClientError(module, DetailErrorCode.UNDEFINED_ERROR, message);
|
|
115
108
|
if (this.config.autoLog) {
|
|
116
|
-
console.error(
|
|
109
|
+
console.error(`${this.config.logPrefix}: ${message}`, originalError);
|
|
117
110
|
}
|
|
118
111
|
return error;
|
|
119
112
|
}
|
|
@@ -126,11 +119,11 @@ export class FcrErrorHelper {
|
|
|
126
119
|
* @returns FcrError
|
|
127
120
|
*/
|
|
128
121
|
createOperationError(operation, originalError, moduleCode) {
|
|
129
|
-
const module = moduleCode
|
|
130
|
-
const message = this.config.enableDetailedMessages ?
|
|
122
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
123
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} failed${originalError ? `: ${originalError.message}` : ''}` : `${operation} failed`;
|
|
131
124
|
const error = generateFcrCoreClientError(module, DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
132
125
|
if (this.config.autoLog) {
|
|
133
|
-
console.error(
|
|
126
|
+
console.error(`${this.config.logPrefix}: ${message}`, originalError);
|
|
134
127
|
}
|
|
135
128
|
return error;
|
|
136
129
|
}
|
|
@@ -142,11 +135,11 @@ export class FcrErrorHelper {
|
|
|
142
135
|
* @returns FcrError
|
|
143
136
|
*/
|
|
144
137
|
createNetworkError(message, moduleCode) {
|
|
145
|
-
const module = moduleCode
|
|
146
|
-
const formattedMessage = this.config.enableDetailedMessages ?
|
|
138
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
139
|
+
const formattedMessage = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Network error: ${message}` : message;
|
|
147
140
|
const error = generateFcrCoreClientError(module, DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, formattedMessage);
|
|
148
141
|
if (this.config.autoLog) {
|
|
149
|
-
console.error(
|
|
142
|
+
console.error(`${this.config.logPrefix}: ${formattedMessage}`);
|
|
150
143
|
}
|
|
151
144
|
return error;
|
|
152
145
|
}
|
|
@@ -159,11 +152,11 @@ export class FcrErrorHelper {
|
|
|
159
152
|
* @returns FcrError
|
|
160
153
|
*/
|
|
161
154
|
createInvalidParamsError(paramName, reason, moduleCode) {
|
|
162
|
-
const module = moduleCode
|
|
163
|
-
const message = this.config.enableDetailedMessages ?
|
|
155
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
156
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Invalid parameter '${paramName}': ${reason}` : `Invalid parameter '${paramName}': ${reason}`;
|
|
164
157
|
const error = generateFcrCoreClientError(module, DetailErrorCode.INVALID_PARAMS, message);
|
|
165
158
|
if (this.config.autoLog) {
|
|
166
|
-
console.error(
|
|
159
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
167
160
|
}
|
|
168
161
|
return error;
|
|
169
162
|
}
|
|
@@ -10,7 +10,7 @@ export const generateFcrCoreClientError = (module, code, message, cause) => {
|
|
|
10
10
|
return FcrError.create(ErrorServiceType.FCR_CLIENT, module, code, message, cause);
|
|
11
11
|
};
|
|
12
12
|
export const generateFcrCoreServerError = (code, message) => {
|
|
13
|
-
const errorCode = Number(
|
|
13
|
+
const errorCode = Number(`${ErrorServiceType.FCR_SERVER}${padStart(String(code), 8, '0')}`);
|
|
14
14
|
const error = new FcrError({
|
|
15
15
|
message: message,
|
|
16
16
|
code: errorCode
|
|
@@ -24,11 +24,10 @@ export const handleRequestError = async (action, errorModuleCode, errorMessage)
|
|
|
24
24
|
return await action();
|
|
25
25
|
} catch (e) {
|
|
26
26
|
if (e instanceof AgoraRestfulClientError) {
|
|
27
|
-
|
|
28
|
-
throw generateFcrCoreServerError((_e$serviceCode = e.serviceCode) !== null && _e$serviceCode !== void 0 ? _e$serviceCode : -1, e.message);
|
|
27
|
+
throw generateFcrCoreServerError(e.serviceCode ?? -1, e.message);
|
|
29
28
|
}
|
|
30
29
|
const error = e;
|
|
31
|
-
throw generateFcrCoreClientError(errorModuleCode, DetailErrorCode.UNDEFINED_ERROR, errorMessage
|
|
30
|
+
throw generateFcrCoreClientError(errorModuleCode, DetailErrorCode.UNDEFINED_ERROR, errorMessage ?? error.message);
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
33
|
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
|
2
|
-
import "core-js/modules/esnext.iterator.filter.js";
|
|
3
|
-
import "core-js/modules/esnext.iterator.for-each.js";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
6
1
|
import "core-js/modules/esnext.iterator.constructor.js";
|
|
7
2
|
import "core-js/modules/esnext.iterator.map.js";
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
3
|
/**
|
|
11
4
|
* 房间加入辅助工具
|
|
12
5
|
*
|
|
@@ -30,15 +23,14 @@ import { ROOM_CONTROL_CONSTANTS } from '../room-control/helpers/constants';
|
|
|
30
23
|
* @param logPrefix 日志前缀
|
|
31
24
|
* @returns 是否继续重试
|
|
32
25
|
*/
|
|
33
|
-
export async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted) {
|
|
34
|
-
|
|
35
|
-
onAborted === null || onAborted === void 0 || onAborted();
|
|
26
|
+
export async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted, logPrefix = 'join room') {
|
|
27
|
+
onAborted?.();
|
|
36
28
|
if (!canRetryFn(error)) {
|
|
37
29
|
throw error;
|
|
38
30
|
}
|
|
39
31
|
|
|
40
32
|
// 记录重试信息
|
|
41
|
-
console.warn(
|
|
33
|
+
console.warn(`Retry attempt ${attemptCount + 1} to ${logPrefix}: ${error.message}`);
|
|
42
34
|
await waitBeforeRetry();
|
|
43
35
|
return true;
|
|
44
36
|
}
|
|
@@ -69,31 +61,33 @@ export class FcrJoinHelper {
|
|
|
69
61
|
* @returns CheckIn参数对象
|
|
70
62
|
*/
|
|
71
63
|
static buildCheckInParams(options, userId, roomId, extraParams) {
|
|
72
|
-
|
|
73
|
-
return _objectSpread(_objectSpread({
|
|
64
|
+
return {
|
|
74
65
|
userName: options.userName,
|
|
75
66
|
userId,
|
|
76
67
|
userRole: FcrUserRoleToStringMap[options.userRole],
|
|
77
68
|
userProperties: options.userProperties,
|
|
78
69
|
roomId,
|
|
79
|
-
platform:
|
|
80
|
-
streams:
|
|
70
|
+
platform: options.platform ?? getPlatform(),
|
|
71
|
+
streams: options.createStreamConfigs?.map(s => ({
|
|
81
72
|
videoSourceUuid: s.videoSourceId,
|
|
82
73
|
audioSourceUuid: s.audioSourceId,
|
|
83
|
-
streamName: s.streamName
|
|
84
|
-
|
|
74
|
+
streamName: s.streamName,
|
|
75
|
+
...convertStreamTypeToPublishState(s.streamType),
|
|
85
76
|
videoSourceType: s.videoSourceType,
|
|
86
77
|
audioSourceType: s.audioSourceType,
|
|
87
78
|
audioSourceState: s.audioSourceState,
|
|
88
79
|
videoSourceState: s.videoSourceState
|
|
89
80
|
})),
|
|
90
81
|
version: getVersion(),
|
|
91
|
-
password: options.password
|
|
92
|
-
|
|
93
|
-
bypass
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
82
|
+
password: options.password,
|
|
83
|
+
// 只有在提供了额外参数时才添加
|
|
84
|
+
...(extraParams?.bypass !== undefined && {
|
|
85
|
+
bypass: extraParams.bypass
|
|
86
|
+
}),
|
|
87
|
+
...(extraParams?.avatar !== undefined && {
|
|
88
|
+
avatar: extraParams.avatar
|
|
89
|
+
})
|
|
90
|
+
};
|
|
97
91
|
}
|
|
98
92
|
|
|
99
93
|
/**
|
|
@@ -118,8 +112,7 @@ export class FcrJoinHelper {
|
|
|
118
112
|
* @param useInternalApi 是否使用 checkInInternal API(默认 true)
|
|
119
113
|
* @returns CheckIn响应数据
|
|
120
114
|
*/
|
|
121
|
-
async performCheckIn(options, extraParams) {
|
|
122
|
-
let useInternalApi = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
115
|
+
async performCheckIn(options, extraParams, useInternalApi = true) {
|
|
123
116
|
const checkInParams = this._buildCheckInParams(options, extraParams);
|
|
124
117
|
const apiCall = useInternalApi ? () => this._api.checkInInternal(checkInParams) : () => this._api.checkIn(checkInParams);
|
|
125
118
|
const errorMessage = useInternalApi ? 'check in internal failed' : 'check in failed';
|
|
@@ -142,11 +135,11 @@ export class FcrJoinHelper {
|
|
|
142
135
|
*/
|
|
143
136
|
async joinWithCheckIn(options, onJoinAborted) {
|
|
144
137
|
await retryAttempt(async () => {
|
|
145
|
-
var _options$roomToken;
|
|
146
138
|
// 1. 执行 CheckIn(单次调用,无内部重试)
|
|
147
|
-
const
|
|
148
|
-
data
|
|
149
|
-
ts
|
|
139
|
+
const {
|
|
140
|
+
data,
|
|
141
|
+
ts
|
|
142
|
+
} = await this.performCheckIn(options);
|
|
150
143
|
|
|
151
144
|
// 2. 检查是否中止
|
|
152
145
|
if (onJoinAborted) {
|
|
@@ -154,7 +147,7 @@ export class FcrJoinHelper {
|
|
|
154
147
|
}
|
|
155
148
|
|
|
156
149
|
// 3. 使用 CheckIn 结果加入房间
|
|
157
|
-
await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts,
|
|
150
|
+
await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts, options.roomToken ?? '', undefined);
|
|
158
151
|
|
|
159
152
|
// 4. 再次检查是否中止
|
|
160
153
|
if (onJoinAborted) {
|
|
@@ -162,10 +155,11 @@ export class FcrJoinHelper {
|
|
|
162
155
|
}
|
|
163
156
|
}, [], {
|
|
164
157
|
retriesMax: ROOM_CONTROL_CONSTANTS.MAX_JOIN_ATTEMPTS
|
|
165
|
-
}).fail(async
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
158
|
+
}).fail(async ({
|
|
159
|
+
error,
|
|
160
|
+
timeFn: waitBeforeRetry,
|
|
161
|
+
currentRetry: attemptCount
|
|
162
|
+
}) => {
|
|
169
163
|
return handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryJoinError, onJoinAborted, 'join room via CheckIn');
|
|
170
164
|
}).exec();
|
|
171
165
|
}
|
|
@@ -221,7 +215,6 @@ export class FcrJoinHelper {
|
|
|
221
215
|
* @private
|
|
222
216
|
*/
|
|
223
217
|
async _joinWithSnapshot(options, onJoinAborted) {
|
|
224
|
-
|
|
225
|
-
await this._joinScene(options.streamLatency || FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, (_options$roomToken2 = options.roomToken) !== null && _options$roomToken2 !== void 0 ? _options$roomToken2 : '', onJoinAborted);
|
|
218
|
+
await this._joinScene(options.streamLatency || FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, options.roomToken ?? '', onJoinAborted);
|
|
226
219
|
}
|
|
227
220
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import "core-js/modules/es.error.cause.js";
|
|
3
1
|
import { LoggerManager } from '../imports';
|
|
4
2
|
export class FcrCoreLoggerManagerHolder {
|
|
3
|
+
static instance = null;
|
|
4
|
+
static isDestroying = false;
|
|
5
|
+
static label = 'fcr-core';
|
|
5
6
|
static initialize(opts) {
|
|
6
7
|
if (this.instance && !this.isDestroying) {
|
|
7
|
-
console.warn(
|
|
8
|
+
console.warn(`${this.label} LoggerManager is already initialized. Reinitializing...`);
|
|
8
9
|
}
|
|
9
10
|
this.destroy();
|
|
10
11
|
this.instance = new LoggerManager({
|
|
@@ -14,7 +15,7 @@ export class FcrCoreLoggerManagerHolder {
|
|
|
14
15
|
}
|
|
15
16
|
static getInstance() {
|
|
16
17
|
if (!this.instance) {
|
|
17
|
-
throw new Error(
|
|
18
|
+
throw new Error(`LoggerManager is not initialized. Call ${this.label} LoggerManager.initialize() first.`);
|
|
18
19
|
}
|
|
19
20
|
return this.instance;
|
|
20
21
|
}
|
|
@@ -42,9 +43,6 @@ export class FcrCoreLoggerManagerHolder {
|
|
|
42
43
|
return this.instance !== null;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
_defineProperty(FcrCoreLoggerManagerHolder, "instance", null);
|
|
46
|
-
_defineProperty(FcrCoreLoggerManagerHolder, "isDestroying", false);
|
|
47
|
-
_defineProperty(FcrCoreLoggerManagerHolder, "label", 'fcr-core');
|
|
48
46
|
export const getLogger = FcrCoreLoggerManagerHolder.getLogger.bind(FcrCoreLoggerManagerHolder);
|
|
49
47
|
export const createLogger = FcrCoreLoggerManagerHolder.createLogger.bind(FcrCoreLoggerManagerHolder);
|
|
50
48
|
export const generateLogObserver = FcrCoreLoggerManagerHolder.generateLogObserver.bind(FcrCoreLoggerManagerHolder);
|
|
@@ -22,7 +22,6 @@ import "core-js/modules/esnext.set.symmetric-difference.v2.js";
|
|
|
22
22
|
import "core-js/modules/esnext.set.symmetric-difference.js";
|
|
23
23
|
import "core-js/modules/esnext.set.union.v2.js";
|
|
24
24
|
import "core-js/modules/esnext.set.union.js";
|
|
25
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
26
25
|
import { FcrApplicationPlatform, getPlatform, isBoolean, isNumber } from '../imports';
|
|
27
26
|
const DEFAULT_LOG_FILE_SIZE = 512;
|
|
28
27
|
/** RTC preset parameters configuration mapping table */
|
|
@@ -107,49 +106,40 @@ export const isTrueValue = value => {
|
|
|
107
106
|
return value === 'true' || !!value;
|
|
108
107
|
};
|
|
109
108
|
export const getCoreIpList = parameters => {
|
|
110
|
-
|
|
111
|
-
return parameters === null || parameters === void 0 || (_parameters$core = parameters.core) === null || _parameters$core === void 0 ? void 0 : _parameters$core.coreIpList;
|
|
109
|
+
return parameters?.core?.coreIpList;
|
|
112
110
|
};
|
|
113
111
|
export const getEasemobChatIpList = parameters => {
|
|
114
|
-
|
|
115
|
-
return parameters === null || parameters === void 0 || (_parameters$core2 = parameters.core) === null || _parameters$core2 === void 0 ? void 0 : _parameters$core2.easemobChatIpList;
|
|
112
|
+
return parameters?.core?.easemobChatIpList;
|
|
116
113
|
};
|
|
117
114
|
export const getEasemobRestIpList = parameters => {
|
|
118
|
-
|
|
119
|
-
return parameters === null || parameters === void 0 || (_parameters$core3 = parameters.core) === null || _parameters$core3 === void 0 ? void 0 : _parameters$core3.easemobRestIpList;
|
|
115
|
+
return parameters?.core?.easemobRestIpList;
|
|
120
116
|
};
|
|
121
117
|
export const getScribbleForgeIpList = parameters => {
|
|
122
|
-
|
|
123
|
-
return parameters === null || parameters === void 0 || (_parameters$core4 = parameters.core) === null || _parameters$core4 === void 0 ? void 0 : _parameters$core4.scribbleForgeIpList;
|
|
118
|
+
return parameters?.core?.scribbleForgeIpList;
|
|
124
119
|
};
|
|
125
120
|
export const isEndpointRegionDisabled = parameters => {
|
|
126
|
-
|
|
127
|
-
return isTrueValue(parameters === null || parameters === void 0 || (_parameters$core5 = parameters.core) === null || _parameters$core5 === void 0 ? void 0 : _parameters$core5.disableEndpointRegion);
|
|
121
|
+
return isTrueValue(parameters?.core?.disableEndpointRegion);
|
|
128
122
|
};
|
|
129
123
|
export const getNeedLogUpload = parameters => {
|
|
130
|
-
|
|
131
|
-
if (isBoolean(parameters === null || parameters === void 0 || (_parameters$core6 = parameters.core) === null || _parameters$core6 === void 0 ? void 0 : _parameters$core6.needLogUpload)) {
|
|
124
|
+
if (isBoolean(parameters?.core?.needLogUpload)) {
|
|
132
125
|
return parameters.core.needLogUpload;
|
|
133
126
|
}
|
|
134
127
|
return true;
|
|
135
128
|
};
|
|
136
129
|
export const getCoreLogFileSize = parameters => {
|
|
137
|
-
|
|
138
|
-
if (!isNumber(parameters === null || parameters === void 0 || (_parameters$core7 = parameters.core) === null || _parameters$core7 === void 0 ? void 0 : _parameters$core7.coreLogFileSize)) {
|
|
130
|
+
if (!isNumber(parameters?.core?.coreLogFileSize)) {
|
|
139
131
|
return DEFAULT_LOG_FILE_SIZE;
|
|
140
132
|
}
|
|
141
133
|
return parameters.core.coreLogFileSize;
|
|
142
134
|
};
|
|
143
135
|
export const getEasemobLogFileSize = parameters => {
|
|
144
|
-
|
|
145
|
-
if (!isNumber(parameters === null || parameters === void 0 || (_parameters$core8 = parameters.core) === null || _parameters$core8 === void 0 ? void 0 : _parameters$core8.easemobLogFileSize)) {
|
|
136
|
+
if (!isNumber(parameters?.core?.easemobLogFileSize)) {
|
|
146
137
|
return DEFAULT_LOG_FILE_SIZE;
|
|
147
138
|
}
|
|
148
139
|
return parameters.core.easemobLogFileSize;
|
|
149
140
|
};
|
|
150
141
|
export const getNetlessLogFileSize = parameters => {
|
|
151
|
-
|
|
152
|
-
if (!isNumber(parameters === null || parameters === void 0 || (_parameters$core9 = parameters.core) === null || _parameters$core9 === void 0 ? void 0 : _parameters$core9.netlessLogFileSize)) {
|
|
142
|
+
if (!isNumber(parameters?.core?.netlessLogFileSize)) {
|
|
153
143
|
return DEFAULT_LOG_FILE_SIZE;
|
|
154
144
|
}
|
|
155
145
|
return parameters.core.netlessLogFileSize;
|
|
@@ -157,9 +147,8 @@ export const getNetlessLogFileSize = parameters => {
|
|
|
157
147
|
/** desktop platforms set */
|
|
158
148
|
const DESKTOP_PLATFORMS = new Set([FcrApplicationPlatform.WINDOWS, FcrApplicationPlatform.MACOS]);
|
|
159
149
|
export const getRtcPresetParameters = () => {
|
|
160
|
-
var _RTC_PRESET_PARAMS_MA;
|
|
161
150
|
const platform = getPlatform();
|
|
162
|
-
const platformParams =
|
|
151
|
+
const platformParams = RTC_PRESET_PARAMS_MAP[platform] ?? [];
|
|
163
152
|
const electronParams = ELECTRON_PLATFORMS.has(platform) ? ELECTRON_COMMON_PARAMS : [];
|
|
164
153
|
const harmonyOrElectronParams = HARMONY_OR_ELECTRON_PLATFORMS.has(platform) ? HARMONY_OR_ELECTRON_COMMON_PARAMS : [];
|
|
165
154
|
return [...platformParams, ...electronParams, ...harmonyOrElectronParams].map(p => JSON.stringify(p));
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
|
2
|
-
import "core-js/modules/esnext.iterator.filter.js";
|
|
3
|
-
import "core-js/modules/esnext.iterator.for-each.js";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
1
|
import "core-js/modules/esnext.iterator.constructor.js";
|
|
6
2
|
import "core-js/modules/esnext.iterator.map.js";
|
|
7
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
3
|
export const getStreamJoinConfig = stream => {
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
return {
|
|
5
|
+
...stream,
|
|
6
|
+
videoSourceUuid: stream?.videoSourceId,
|
|
7
|
+
audioSourceUuid: stream?.audioSourceId
|
|
8
|
+
};
|
|
14
9
|
};
|
|
15
10
|
export const getStreamsJoinConfig = streams => {
|
|
16
|
-
return streams
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
return streams?.map(stream => {
|
|
12
|
+
return {
|
|
13
|
+
...stream,
|
|
14
|
+
videoSourceUuid: stream?.videoSourceId,
|
|
15
|
+
audioSourceUuid: stream?.audioSourceId
|
|
16
|
+
};
|
|
21
17
|
});
|
|
22
18
|
};
|
package/lib-es/utilities/user.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { FcrPlatform, FcrUserStringToRoleMap } from '../type';
|
|
2
2
|
import { FcrPrivilegeUserRoleToStringMap, FcrPrivilegeUserStringToRoleMap } from '../room-control/privilege-control/type';
|
|
3
3
|
export const convertRteUserToFcrUser = (user, cache) => {
|
|
4
|
-
var _cache$getUserPlatfor, _cache$getUserAvatar;
|
|
5
4
|
const userRole = FcrUserStringToRoleMap[user.userRole];
|
|
6
5
|
if (!userRole) {
|
|
7
6
|
return undefined;
|
|
8
7
|
}
|
|
9
|
-
let platform =
|
|
10
|
-
const avatar =
|
|
8
|
+
let platform = cache.getUserPlatform(user.userId) ?? FcrPlatform.UNSUPPORTED;
|
|
9
|
+
const avatar = cache.getUserAvatar(user.userId) ?? '';
|
|
11
10
|
const isValidPlatform = platform in FcrPlatform;
|
|
12
11
|
platform = isValidPlatform ? platform : FcrPlatform.UNSUPPORTED;
|
|
13
12
|
return {
|
|
@@ -20,7 +19,7 @@ export const convertRteUserToFcrUser = (user, cache) => {
|
|
|
20
19
|
};
|
|
21
20
|
};
|
|
22
21
|
export const checkFcrUserRole = user => {
|
|
23
|
-
if (!
|
|
22
|
+
if (!user?.userRole) return;
|
|
24
23
|
return user;
|
|
25
24
|
};
|
|
26
25
|
export const convertStringPrivilegeRoleToFcrPrivilegeRole = role => {
|
|
@@ -2,7 +2,7 @@ import { DetailErrorCode } from '../imports';
|
|
|
2
2
|
import { validateParams } from '../imports';
|
|
3
3
|
import { generateFcrCoreClientError } from './error';
|
|
4
4
|
export default validateParams(error => {
|
|
5
|
-
const message =
|
|
5
|
+
const message = `invalid params: ${error.message}`;
|
|
6
6
|
const fcrErrorModuleCode = '00';
|
|
7
7
|
return generateFcrCoreClientError(fcrErrorModuleCode, DetailErrorCode.INVALID_PARAMS, message);
|
|
8
8
|
});
|
|
@@ -95,33 +95,28 @@ const SMOOTH_SCREEN_CONFIG_MAP = {
|
|
|
95
95
|
export let FcrVideoEncoderConfig;
|
|
96
96
|
(function (_FcrVideoEncoderConfig) {
|
|
97
97
|
function createDefaultHighCameraConfig() {
|
|
98
|
-
var _HIGH_CAMERA_CONFIG_M;
|
|
99
98
|
const platform = getPlatform();
|
|
100
|
-
return
|
|
99
|
+
return HIGH_CAMERA_CONFIG_MAP[platform] ?? COMMON_HIGH_CAMERA_CONFIG;
|
|
101
100
|
}
|
|
102
101
|
_FcrVideoEncoderConfig.createDefaultHighCameraConfig = createDefaultHighCameraConfig;
|
|
103
102
|
function createDefaultLowCameraConfig() {
|
|
104
|
-
var _LOW_CAMERA_CONFIG_MA;
|
|
105
103
|
const platform = getPlatform();
|
|
106
|
-
return
|
|
104
|
+
return LOW_CAMERA_CONFIG_MAP[platform] ?? COMMON_LOW_CAMERA_CONFIG;
|
|
107
105
|
}
|
|
108
106
|
_FcrVideoEncoderConfig.createDefaultLowCameraConfig = createDefaultLowCameraConfig;
|
|
109
107
|
function createDefaultFullHighCameraConfig() {
|
|
110
|
-
var _FULL_HIGH_CAMERA_CON;
|
|
111
108
|
const platform = getPlatform();
|
|
112
|
-
return
|
|
109
|
+
return FULL_HIGH_CAMERA_CONFIG_MAP[platform] ?? COMMON_FULL_HIGH_CAMERA_CONFIG;
|
|
113
110
|
}
|
|
114
111
|
_FcrVideoEncoderConfig.createDefaultFullHighCameraConfig = createDefaultFullHighCameraConfig;
|
|
115
112
|
function createDefaultClarityScreenConfig() {
|
|
116
|
-
var _CLARITY_SCREEN_CONFI;
|
|
117
113
|
const platform = getPlatform();
|
|
118
|
-
return
|
|
114
|
+
return CLARITY_SCREEN_CONFIG_MAP[platform] ?? COMMON_CLARITY_SCREEN_CONFIG;
|
|
119
115
|
}
|
|
120
116
|
_FcrVideoEncoderConfig.createDefaultClarityScreenConfig = createDefaultClarityScreenConfig;
|
|
121
117
|
function createDefaultSmoothScreenConfig() {
|
|
122
|
-
var _SMOOTH_SCREEN_CONFIG;
|
|
123
118
|
const platform = getPlatform();
|
|
124
|
-
return
|
|
119
|
+
return SMOOTH_SCREEN_CONFIG_MAP[platform] ?? COMMON_SMOOTH_SCREEN_CONFIG;
|
|
125
120
|
}
|
|
126
121
|
_FcrVideoEncoderConfig.createDefaultSmoothScreenConfig = createDefaultSmoothScreenConfig;
|
|
127
122
|
})(FcrVideoEncoderConfig || (FcrVideoEncoderConfig = {}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fcr-core",
|
|
3
3
|
"description": "Core APIs for building online scenes",
|
|
4
|
-
"version": "3.10.
|
|
4
|
+
"version": "3.10.6",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@types/lodash": "^4.14.168",
|
|
42
42
|
"@types/sinon": "^17.0.2",
|
|
43
43
|
"@types/uuid": "^8.3.0",
|
|
44
|
-
"agora-toolchain": "3.10.
|
|
44
|
+
"agora-toolchain": "3.10.6",
|
|
45
45
|
"core-js": "^3.33.3",
|
|
46
46
|
"decomment": "^0.9.5",
|
|
47
47
|
"husky": "^9.0.11",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"@netless/video-js-plugin": "^0.3.8",
|
|
62
62
|
"@netless/white-snapshot": "^0.4.2",
|
|
63
63
|
"@netless/window-manager": "^1.0.7-beta.6",
|
|
64
|
-
"agora-foundation": "3.10.
|
|
65
|
-
"agora-rte-sdk": "3.10.
|
|
64
|
+
"agora-foundation": "3.10.6",
|
|
65
|
+
"agora-rte-sdk": "3.10.6",
|
|
66
66
|
"await-to-js": "^3.0.0",
|
|
67
67
|
"dayjs": "^1.10.4",
|
|
68
68
|
"easemob-websdk": "4.13.0",
|