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/struct.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.FcrCoreEngineConfig = void 0;
|
|
8
|
-
require("core-js/modules/es.array.unshift.js");
|
|
9
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
7
|
var _dualVideoStreamConfig = require("./utilities/dual-video-stream-config");
|
|
12
8
|
var _parameters = require("./utilities/parameters");
|
|
13
9
|
/** 引擎配置类 */
|
|
14
10
|
class FcrCoreEngineConfig {
|
|
11
|
+
__json_serializable__ = true;
|
|
12
|
+
|
|
15
13
|
/** 应用唯一标识 */
|
|
16
14
|
|
|
17
15
|
/** 身份验证令牌 */
|
|
@@ -27,7 +25,6 @@ class FcrCoreEngineConfig {
|
|
|
27
25
|
/** 额外参数配置 */
|
|
28
26
|
|
|
29
27
|
constructor(params) {
|
|
30
|
-
(0, _defineProperty2.default)(this, "__json_serializable__", true);
|
|
31
28
|
this.appId = params.appId;
|
|
32
29
|
this.token = params.token;
|
|
33
30
|
this.userId = params.userId;
|
package/lib/type.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type { FcrIPConnectorSession, FcrIPConnectorSessionParams, FcrPhoneConnec
|
|
|
31
31
|
export type { FcrRoomSession, FcrRoomSessionControl, FcrRoomSessionObserver, FcrRoomSessionParams, } from './room-control/room-session/type';
|
|
32
32
|
export { FcrScreenSharingState, FcrWhiteboardState } from './room-control/sharing-control/type';
|
|
33
33
|
export type { FcrSharingControl, FcrSharingObserver } from './room-control/sharing-control/type';
|
|
34
|
-
export type { FcrDimensions, FcrLocalAudioStats, FcrLocalStreamCreateConfig, FcrLocalVideoStats, FcrRemoteAudioStats, FcrRemoteVideoStats, FcrSize, FcrSnapshotInfo, FcrStreamControl, FcrStreamCreateConfig, FcrStreamEvent, FcrStreamObserver, FcrUpdateStreamPrivilege, FcrUpdateStreamPrivilegeScope, } from './room-control/stream-control/type';
|
|
34
|
+
export type { FcrDimensions, FcrLocalAudioStats, FcrLocalStreamCreateConfig, FcrLocalVideoStats, FcrRemoteAudioStats, FcrRemoteVideoStats, FcrSize, FcrSnapshotInfo, FcrBatchResult, FcrStreamControl, FcrStreamCreateConfig, FcrStreamEvent, FcrStreamObserver, FcrStreamUpdateResultDetail, FcrUpdateStreamPrivilege, FcrUpdateStreamPrivilegeScope, } from './room-control/stream-control/type';
|
|
35
35
|
export { FcrUserKickedOutType, FcrUserLeftReason, FcrUserRole, } from './room-control/user-control/type';
|
|
36
36
|
export type { FcrUserControl, FcrUserJoinedEvent, FcrUserKickedOutEvent, FcrUserLeftEvent, FcrUserObserver, FcrUserPageParams, FcrUserPageResponse, FcrUserPropertiesDeletedEvent, FcrUserPropertiesUpdatedEvent, FcrUserUpdatedEvent, } from './room-control/user-control/type';
|
|
37
37
|
export type { FcrAnnotationConfig, FcrAnnotationControl, } from './room-control/whiteboard-control-v2/annotation-control/type';
|
|
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.abortableRetry = void 0;
|
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
8
|
-
require("core-js/modules/web.dom-exception.constructor.js");
|
|
9
7
|
require("core-js/modules/web.dom-exception.stack.js");
|
|
10
|
-
require("core-js/modules/web.dom-exception.to-string-tag.js");
|
|
11
8
|
var _imports = require("../imports");
|
|
12
9
|
/**
|
|
13
10
|
* Creates an abortable retry operation that can be cancelled at any time.
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.iterateSet = exports.iterateMap = exports.convertToStructure = void 0;
|
|
8
7
|
require("core-js/modules/es.array.push.js");
|
|
9
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
8
|
const iterateMap = (map, processors) => {
|
|
12
|
-
const onFilter =
|
|
13
|
-
const
|
|
14
|
-
onMap
|
|
15
|
-
onReduce
|
|
9
|
+
const onFilter = processors?.onFilter || (() => true);
|
|
10
|
+
const {
|
|
11
|
+
onMap,
|
|
12
|
+
onReduce
|
|
13
|
+
} = processors || {};
|
|
16
14
|
const list = [];
|
|
17
15
|
let prev = undefined;
|
|
18
|
-
for (const
|
|
19
|
-
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2);
|
|
20
|
-
const k = _ref3[0];
|
|
21
|
-
const v = _ref3[1];
|
|
16
|
+
for (const [k, v] of map.entries()) {
|
|
22
17
|
if (onFilter(k, v)) {
|
|
23
18
|
if (onMap) list.push(onMap(k, v));
|
|
24
19
|
if (onReduce) prev = onReduce(prev, k, v);
|
|
@@ -31,10 +26,11 @@ const iterateMap = (map, processors) => {
|
|
|
31
26
|
};
|
|
32
27
|
exports.iterateMap = iterateMap;
|
|
33
28
|
const iterateSet = (map, processors) => {
|
|
34
|
-
const onFilter =
|
|
35
|
-
const
|
|
36
|
-
onMap
|
|
37
|
-
onReduce
|
|
29
|
+
const onFilter = processors?.onFilter || (() => true);
|
|
30
|
+
const {
|
|
31
|
+
onMap,
|
|
32
|
+
onReduce
|
|
33
|
+
} = processors || {};
|
|
38
34
|
const list = [];
|
|
39
35
|
let prev = undefined;
|
|
40
36
|
for (const item of map.values()) {
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.push.js");
|
|
4
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
5
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
7
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
11
6
|
exports.roomControlErrorHelper = exports.liveStreamingErrorHelper = exports.engineErrorHelper = exports.defaultErrorHelper = exports.FcrErrorHelper = exports.ControllerType = void 0;
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
7
|
var _imports = require("../imports");
|
|
14
8
|
var _error = require("./error");
|
|
15
|
-
|
|
16
|
-
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) { (0, _defineProperty2.default)(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
|
+
/**
|
|
17
10
|
* 通用错误处理辅助工具
|
|
18
11
|
*
|
|
19
12
|
* 提供统一的错误创建和处理机制,支持实例化配置
|
|
@@ -46,14 +39,14 @@ let ControllerType = exports.ControllerType = /*#__PURE__*/function (ControllerT
|
|
|
46
39
|
* 错误处理助手类 - 支持实例化配置
|
|
47
40
|
*/
|
|
48
41
|
class FcrErrorHelper {
|
|
49
|
-
constructor() {
|
|
50
|
-
|
|
51
|
-
this.config = _objectSpread({
|
|
42
|
+
constructor(config = {}) {
|
|
43
|
+
this.config = {
|
|
52
44
|
defaultModuleCode: _imports.ErrorModuleCode.FCR_ROOM,
|
|
53
45
|
enableDetailedMessages: true,
|
|
54
46
|
logPrefix: 'FCR',
|
|
55
|
-
autoLog: false
|
|
56
|
-
|
|
47
|
+
autoLog: false,
|
|
48
|
+
...config
|
|
49
|
+
};
|
|
57
50
|
}
|
|
58
51
|
/**
|
|
59
52
|
* 生成控制器未初始化错误
|
|
@@ -62,11 +55,11 @@ class FcrErrorHelper {
|
|
|
62
55
|
* @returns FcrError
|
|
63
56
|
*/
|
|
64
57
|
createControllerNotInitializedError(controllerType, moduleCode) {
|
|
65
|
-
const module = moduleCode
|
|
66
|
-
const message = this.config.enableDetailedMessages ?
|
|
58
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
59
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] The ${controllerType} controller is not initialized, please join the room first` : `${controllerType} controller not initialized`;
|
|
67
60
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
68
61
|
if (this.config.autoLog) {
|
|
69
|
-
console.error(
|
|
62
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
70
63
|
}
|
|
71
64
|
return error;
|
|
72
65
|
}
|
|
@@ -79,11 +72,11 @@ class FcrErrorHelper {
|
|
|
79
72
|
* @returns FcrError
|
|
80
73
|
*/
|
|
81
74
|
createOperationConflictError(operation, reason, moduleCode) {
|
|
82
|
-
const module = moduleCode
|
|
83
|
-
const message = this.config.enableDetailedMessages ?
|
|
75
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
76
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Failed to ${operation}: ${reason}` : `${operation} failed: ${reason}`;
|
|
84
77
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.JOIN_CONFLICT, message);
|
|
85
78
|
if (this.config.autoLog) {
|
|
86
|
-
console.error(
|
|
79
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
87
80
|
}
|
|
88
81
|
return error;
|
|
89
82
|
}
|
|
@@ -95,11 +88,11 @@ class FcrErrorHelper {
|
|
|
95
88
|
* @returns FcrError
|
|
96
89
|
*/
|
|
97
90
|
createOperationCanceledError(operation, moduleCode) {
|
|
98
|
-
const module = moduleCode
|
|
99
|
-
const message = this.config.enableDetailedMessages ?
|
|
91
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
92
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} operation has been cancelled` : `${operation} cancelled`;
|
|
100
93
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
101
94
|
if (this.config.autoLog) {
|
|
102
|
-
console.error(
|
|
95
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
103
96
|
}
|
|
104
97
|
return error;
|
|
105
98
|
}
|
|
@@ -111,11 +104,11 @@ class FcrErrorHelper {
|
|
|
111
104
|
* @returns FcrError
|
|
112
105
|
*/
|
|
113
106
|
createSendMessageError(originalError, moduleCode) {
|
|
114
|
-
const module = moduleCode
|
|
115
|
-
const message = this.config.enableDetailedMessages ?
|
|
107
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
108
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Send message failed: ${originalError.message}` : 'send message failed';
|
|
116
109
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.UNDEFINED_ERROR, message);
|
|
117
110
|
if (this.config.autoLog) {
|
|
118
|
-
console.error(
|
|
111
|
+
console.error(`${this.config.logPrefix}: ${message}`, originalError);
|
|
119
112
|
}
|
|
120
113
|
return error;
|
|
121
114
|
}
|
|
@@ -128,11 +121,11 @@ class FcrErrorHelper {
|
|
|
128
121
|
* @returns FcrError
|
|
129
122
|
*/
|
|
130
123
|
createOperationError(operation, originalError, moduleCode) {
|
|
131
|
-
const module = moduleCode
|
|
132
|
-
const message = this.config.enableDetailedMessages ?
|
|
124
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
125
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} failed${originalError ? `: ${originalError.message}` : ''}` : `${operation} failed`;
|
|
133
126
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
|
|
134
127
|
if (this.config.autoLog) {
|
|
135
|
-
console.error(
|
|
128
|
+
console.error(`${this.config.logPrefix}: ${message}`, originalError);
|
|
136
129
|
}
|
|
137
130
|
return error;
|
|
138
131
|
}
|
|
@@ -144,11 +137,11 @@ class FcrErrorHelper {
|
|
|
144
137
|
* @returns FcrError
|
|
145
138
|
*/
|
|
146
139
|
createNetworkError(message, moduleCode) {
|
|
147
|
-
const module = moduleCode
|
|
148
|
-
const formattedMessage = this.config.enableDetailedMessages ?
|
|
140
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
141
|
+
const formattedMessage = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Network error: ${message}` : message;
|
|
149
142
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, formattedMessage);
|
|
150
143
|
if (this.config.autoLog) {
|
|
151
|
-
console.error(
|
|
144
|
+
console.error(`${this.config.logPrefix}: ${formattedMessage}`);
|
|
152
145
|
}
|
|
153
146
|
return error;
|
|
154
147
|
}
|
|
@@ -161,11 +154,11 @@ class FcrErrorHelper {
|
|
|
161
154
|
* @returns FcrError
|
|
162
155
|
*/
|
|
163
156
|
createInvalidParamsError(paramName, reason, moduleCode) {
|
|
164
|
-
const module = moduleCode
|
|
165
|
-
const message = this.config.enableDetailedMessages ?
|
|
157
|
+
const module = moduleCode ?? this.config.defaultModuleCode;
|
|
158
|
+
const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Invalid parameter '${paramName}': ${reason}` : `Invalid parameter '${paramName}': ${reason}`;
|
|
166
159
|
const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.INVALID_PARAMS, message);
|
|
167
160
|
if (this.config.autoLog) {
|
|
168
|
-
console.error(
|
|
161
|
+
console.error(`${this.config.logPrefix}: ${message}`);
|
|
169
162
|
}
|
|
170
163
|
return error;
|
|
171
164
|
}
|
package/lib/utilities/error.js
CHANGED
|
@@ -32,7 +32,7 @@ const generateFcrCoreClientError = (module, code, message, cause) => {
|
|
|
32
32
|
};
|
|
33
33
|
exports.generateFcrCoreClientError = generateFcrCoreClientError;
|
|
34
34
|
const generateFcrCoreServerError = (code, message) => {
|
|
35
|
-
const errorCode = Number(
|
|
35
|
+
const errorCode = Number(`${_imports.ErrorServiceType.FCR_SERVER}${(0, _imports.padStart)(String(code), 8, '0')}`);
|
|
36
36
|
const error = new _imports.FcrError({
|
|
37
37
|
message: message,
|
|
38
38
|
code: errorCode
|
|
@@ -47,11 +47,10 @@ const handleRequestError = async (action, errorModuleCode, errorMessage) => {
|
|
|
47
47
|
return await action();
|
|
48
48
|
} catch (e) {
|
|
49
49
|
if (e instanceof _imports.AgoraRestfulClientError) {
|
|
50
|
-
|
|
51
|
-
throw generateFcrCoreServerError((_e$serviceCode = e.serviceCode) !== null && _e$serviceCode !== void 0 ? _e$serviceCode : -1, e.message);
|
|
50
|
+
throw generateFcrCoreServerError(e.serviceCode ?? -1, e.message);
|
|
52
51
|
}
|
|
53
52
|
const error = e;
|
|
54
|
-
throw generateFcrCoreClientError(errorModuleCode, _imports.DetailErrorCode.UNDEFINED_ERROR, errorMessage
|
|
53
|
+
throw generateFcrCoreClientError(errorModuleCode, _imports.DetailErrorCode.UNDEFINED_ERROR, errorMessage ?? error.message);
|
|
55
54
|
}
|
|
56
55
|
};
|
|
57
56
|
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.push.js");
|
|
4
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
5
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
6
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.FcrJoinHelper = void 0;
|
|
11
7
|
exports.handleJoinRetryFailure = handleJoinRetryFailure;
|
|
12
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
13
8
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
14
9
|
require("core-js/modules/esnext.iterator.map.js");
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
10
|
var _imports = require("../imports");
|
|
17
11
|
var _type = require("../type");
|
|
18
12
|
var _retryHelpers = require("./retry-helpers");
|
|
19
13
|
var _error = require("./error");
|
|
20
14
|
var _constants = require("../room-control/helpers/constants");
|
|
21
|
-
|
|
22
|
-
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) { (0, _defineProperty2.default)(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; } /**
|
|
15
|
+
/**
|
|
23
16
|
* 房间加入辅助工具
|
|
24
17
|
*
|
|
25
18
|
* 提供房间控制相关的加入逻辑和参数构建,统一处理 room-control 和 room-router 中的公共逻辑
|
|
26
19
|
*/
|
|
20
|
+
|
|
27
21
|
/**
|
|
28
22
|
* 通用的加入房间重试失败处理器
|
|
29
23
|
* @param error 错误对象
|
|
@@ -34,15 +28,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
34
28
|
* @param logPrefix 日志前缀
|
|
35
29
|
* @returns 是否继续重试
|
|
36
30
|
*/
|
|
37
|
-
async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted) {
|
|
38
|
-
|
|
39
|
-
onAborted === null || onAborted === void 0 || onAborted();
|
|
31
|
+
async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted, logPrefix = 'join room') {
|
|
32
|
+
onAborted?.();
|
|
40
33
|
if (!canRetryFn(error)) {
|
|
41
34
|
throw error;
|
|
42
35
|
}
|
|
43
36
|
|
|
44
37
|
// 记录重试信息
|
|
45
|
-
console.warn(
|
|
38
|
+
console.warn(`Retry attempt ${attemptCount + 1} to ${logPrefix}: ${error.message}`);
|
|
46
39
|
await waitBeforeRetry();
|
|
47
40
|
return true;
|
|
48
41
|
}
|
|
@@ -73,31 +66,33 @@ class FcrJoinHelper {
|
|
|
73
66
|
* @returns CheckIn参数对象
|
|
74
67
|
*/
|
|
75
68
|
static buildCheckInParams(options, userId, roomId, extraParams) {
|
|
76
|
-
|
|
77
|
-
return _objectSpread(_objectSpread({
|
|
69
|
+
return {
|
|
78
70
|
userName: options.userName,
|
|
79
71
|
userId,
|
|
80
72
|
userRole: _type.FcrUserRoleToStringMap[options.userRole],
|
|
81
73
|
userProperties: options.userProperties,
|
|
82
74
|
roomId,
|
|
83
|
-
platform:
|
|
84
|
-
streams:
|
|
75
|
+
platform: options.platform ?? (0, _imports.getPlatform)(),
|
|
76
|
+
streams: options.createStreamConfigs?.map(s => ({
|
|
85
77
|
videoSourceUuid: s.videoSourceId,
|
|
86
78
|
audioSourceUuid: s.audioSourceId,
|
|
87
|
-
streamName: s.streamName
|
|
88
|
-
|
|
79
|
+
streamName: s.streamName,
|
|
80
|
+
...(0, _imports.convertStreamTypeToPublishState)(s.streamType),
|
|
89
81
|
videoSourceType: s.videoSourceType,
|
|
90
82
|
audioSourceType: s.audioSourceType,
|
|
91
83
|
audioSourceState: s.audioSourceState,
|
|
92
84
|
videoSourceState: s.videoSourceState
|
|
93
85
|
})),
|
|
94
86
|
version: (0, _imports.getVersion)(),
|
|
95
|
-
password: options.password
|
|
96
|
-
|
|
97
|
-
bypass
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
87
|
+
password: options.password,
|
|
88
|
+
// 只有在提供了额外参数时才添加
|
|
89
|
+
...(extraParams?.bypass !== undefined && {
|
|
90
|
+
bypass: extraParams.bypass
|
|
91
|
+
}),
|
|
92
|
+
...(extraParams?.avatar !== undefined && {
|
|
93
|
+
avatar: extraParams.avatar
|
|
94
|
+
})
|
|
95
|
+
};
|
|
101
96
|
}
|
|
102
97
|
|
|
103
98
|
/**
|
|
@@ -122,8 +117,7 @@ class FcrJoinHelper {
|
|
|
122
117
|
* @param useInternalApi 是否使用 checkInInternal API(默认 true)
|
|
123
118
|
* @returns CheckIn响应数据
|
|
124
119
|
*/
|
|
125
|
-
async performCheckIn(options, extraParams) {
|
|
126
|
-
let useInternalApi = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
120
|
+
async performCheckIn(options, extraParams, useInternalApi = true) {
|
|
127
121
|
const checkInParams = this._buildCheckInParams(options, extraParams);
|
|
128
122
|
const apiCall = useInternalApi ? () => this._api.checkInInternal(checkInParams) : () => this._api.checkIn(checkInParams);
|
|
129
123
|
const errorMessage = useInternalApi ? 'check in internal failed' : 'check in failed';
|
|
@@ -146,11 +140,11 @@ class FcrJoinHelper {
|
|
|
146
140
|
*/
|
|
147
141
|
async joinWithCheckIn(options, onJoinAborted) {
|
|
148
142
|
await (0, _imports.retryAttempt)(async () => {
|
|
149
|
-
var _options$roomToken;
|
|
150
143
|
// 1. 执行 CheckIn(单次调用,无内部重试)
|
|
151
|
-
const
|
|
152
|
-
data
|
|
153
|
-
ts
|
|
144
|
+
const {
|
|
145
|
+
data,
|
|
146
|
+
ts
|
|
147
|
+
} = await this.performCheckIn(options);
|
|
154
148
|
|
|
155
149
|
// 2. 检查是否中止
|
|
156
150
|
if (onJoinAborted) {
|
|
@@ -158,7 +152,7 @@ class FcrJoinHelper {
|
|
|
158
152
|
}
|
|
159
153
|
|
|
160
154
|
// 3. 使用 CheckIn 结果加入房间
|
|
161
|
-
await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts,
|
|
155
|
+
await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts, options.roomToken ?? '', undefined);
|
|
162
156
|
|
|
163
157
|
// 4. 再次检查是否中止
|
|
164
158
|
if (onJoinAborted) {
|
|
@@ -166,10 +160,11 @@ class FcrJoinHelper {
|
|
|
166
160
|
}
|
|
167
161
|
}, [], {
|
|
168
162
|
retriesMax: _constants.ROOM_CONTROL_CONSTANTS.MAX_JOIN_ATTEMPTS
|
|
169
|
-
}).fail(async
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
}).fail(async ({
|
|
164
|
+
error,
|
|
165
|
+
timeFn: waitBeforeRetry,
|
|
166
|
+
currentRetry: attemptCount
|
|
167
|
+
}) => {
|
|
173
168
|
return handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, _retryHelpers.canRetryJoinError, onJoinAborted, 'join room via CheckIn');
|
|
174
169
|
}).exec();
|
|
175
170
|
}
|
|
@@ -225,8 +220,7 @@ class FcrJoinHelper {
|
|
|
225
220
|
* @private
|
|
226
221
|
*/
|
|
227
222
|
async _joinWithSnapshot(options, onJoinAborted) {
|
|
228
|
-
|
|
229
|
-
await this._joinScene(options.streamLatency || _type.FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, (_options$roomToken2 = options.roomToken) !== null && _options$roomToken2 !== void 0 ? _options$roomToken2 : '', onJoinAborted);
|
|
223
|
+
await this._joinScene(options.streamLatency || _type.FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, options.roomToken ?? '', onJoinAborted);
|
|
230
224
|
}
|
|
231
225
|
}
|
|
232
226
|
exports.FcrJoinHelper = FcrJoinHelper;
|
package/lib/utilities/logger.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getLogger = exports.generateLogObserver = exports.createLogger = exports.FcrCoreLoggerManagerHolder = void 0;
|
|
8
|
-
require("core-js/modules/es.error.cause.js");
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
7
|
var _imports = require("../imports");
|
|
11
8
|
class FcrCoreLoggerManagerHolder {
|
|
9
|
+
static instance = null;
|
|
10
|
+
static isDestroying = false;
|
|
11
|
+
static label = 'fcr-core';
|
|
12
12
|
static initialize(opts) {
|
|
13
13
|
if (this.instance && !this.isDestroying) {
|
|
14
|
-
console.warn(
|
|
14
|
+
console.warn(`${this.label} LoggerManager is already initialized. Reinitializing...`);
|
|
15
15
|
}
|
|
16
16
|
this.destroy();
|
|
17
17
|
this.instance = new _imports.LoggerManager({
|
|
@@ -21,7 +21,7 @@ class FcrCoreLoggerManagerHolder {
|
|
|
21
21
|
}
|
|
22
22
|
static getInstance() {
|
|
23
23
|
if (!this.instance) {
|
|
24
|
-
throw new Error(
|
|
24
|
+
throw new Error(`LoggerManager is not initialized. Call ${this.label} LoggerManager.initialize() first.`);
|
|
25
25
|
}
|
|
26
26
|
return this.instance;
|
|
27
27
|
}
|
|
@@ -50,9 +50,6 @@ class FcrCoreLoggerManagerHolder {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
exports.FcrCoreLoggerManagerHolder = FcrCoreLoggerManagerHolder;
|
|
53
|
-
(0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "instance", null);
|
|
54
|
-
(0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "isDestroying", false);
|
|
55
|
-
(0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "label", 'fcr-core');
|
|
56
53
|
const getLogger = exports.getLogger = FcrCoreLoggerManagerHolder.getLogger.bind(FcrCoreLoggerManagerHolder);
|
|
57
54
|
const createLogger = exports.createLogger = FcrCoreLoggerManagerHolder.createLogger.bind(FcrCoreLoggerManagerHolder);
|
|
58
55
|
const generateLogObserver = exports.generateLogObserver = FcrCoreLoggerManagerHolder.generateLogObserver.bind(FcrCoreLoggerManagerHolder);
|
|
@@ -28,7 +28,6 @@ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
|
|
|
28
28
|
require("core-js/modules/esnext.set.symmetric-difference.js");
|
|
29
29
|
require("core-js/modules/esnext.set.union.v2.js");
|
|
30
30
|
require("core-js/modules/esnext.set.union.js");
|
|
31
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
32
31
|
var _imports = require("../imports");
|
|
33
32
|
const DEFAULT_LOG_FILE_SIZE = 512;
|
|
34
33
|
/** RTC preset parameters configuration mapping table */
|
|
@@ -114,57 +113,48 @@ const isTrueValue = value => {
|
|
|
114
113
|
};
|
|
115
114
|
exports.isTrueValue = isTrueValue;
|
|
116
115
|
const getCoreIpList = parameters => {
|
|
117
|
-
|
|
118
|
-
return parameters === null || parameters === void 0 || (_parameters$core = parameters.core) === null || _parameters$core === void 0 ? void 0 : _parameters$core.coreIpList;
|
|
116
|
+
return parameters?.core?.coreIpList;
|
|
119
117
|
};
|
|
120
118
|
exports.getCoreIpList = getCoreIpList;
|
|
121
119
|
const getEasemobChatIpList = parameters => {
|
|
122
|
-
|
|
123
|
-
return parameters === null || parameters === void 0 || (_parameters$core2 = parameters.core) === null || _parameters$core2 === void 0 ? void 0 : _parameters$core2.easemobChatIpList;
|
|
120
|
+
return parameters?.core?.easemobChatIpList;
|
|
124
121
|
};
|
|
125
122
|
exports.getEasemobChatIpList = getEasemobChatIpList;
|
|
126
123
|
const getEasemobRestIpList = parameters => {
|
|
127
|
-
|
|
128
|
-
return parameters === null || parameters === void 0 || (_parameters$core3 = parameters.core) === null || _parameters$core3 === void 0 ? void 0 : _parameters$core3.easemobRestIpList;
|
|
124
|
+
return parameters?.core?.easemobRestIpList;
|
|
129
125
|
};
|
|
130
126
|
exports.getEasemobRestIpList = getEasemobRestIpList;
|
|
131
127
|
const getScribbleForgeIpList = parameters => {
|
|
132
|
-
|
|
133
|
-
return parameters === null || parameters === void 0 || (_parameters$core4 = parameters.core) === null || _parameters$core4 === void 0 ? void 0 : _parameters$core4.scribbleForgeIpList;
|
|
128
|
+
return parameters?.core?.scribbleForgeIpList;
|
|
134
129
|
};
|
|
135
130
|
exports.getScribbleForgeIpList = getScribbleForgeIpList;
|
|
136
131
|
const isEndpointRegionDisabled = parameters => {
|
|
137
|
-
|
|
138
|
-
return isTrueValue(parameters === null || parameters === void 0 || (_parameters$core5 = parameters.core) === null || _parameters$core5 === void 0 ? void 0 : _parameters$core5.disableEndpointRegion);
|
|
132
|
+
return isTrueValue(parameters?.core?.disableEndpointRegion);
|
|
139
133
|
};
|
|
140
134
|
exports.isEndpointRegionDisabled = isEndpointRegionDisabled;
|
|
141
135
|
const getNeedLogUpload = parameters => {
|
|
142
|
-
|
|
143
|
-
if ((0, _imports.isBoolean)(parameters === null || parameters === void 0 || (_parameters$core6 = parameters.core) === null || _parameters$core6 === void 0 ? void 0 : _parameters$core6.needLogUpload)) {
|
|
136
|
+
if ((0, _imports.isBoolean)(parameters?.core?.needLogUpload)) {
|
|
144
137
|
return parameters.core.needLogUpload;
|
|
145
138
|
}
|
|
146
139
|
return true;
|
|
147
140
|
};
|
|
148
141
|
exports.getNeedLogUpload = getNeedLogUpload;
|
|
149
142
|
const getCoreLogFileSize = parameters => {
|
|
150
|
-
|
|
151
|
-
if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core7 = parameters.core) === null || _parameters$core7 === void 0 ? void 0 : _parameters$core7.coreLogFileSize)) {
|
|
143
|
+
if (!(0, _imports.isNumber)(parameters?.core?.coreLogFileSize)) {
|
|
152
144
|
return DEFAULT_LOG_FILE_SIZE;
|
|
153
145
|
}
|
|
154
146
|
return parameters.core.coreLogFileSize;
|
|
155
147
|
};
|
|
156
148
|
exports.getCoreLogFileSize = getCoreLogFileSize;
|
|
157
149
|
const getEasemobLogFileSize = parameters => {
|
|
158
|
-
|
|
159
|
-
if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core8 = parameters.core) === null || _parameters$core8 === void 0 ? void 0 : _parameters$core8.easemobLogFileSize)) {
|
|
150
|
+
if (!(0, _imports.isNumber)(parameters?.core?.easemobLogFileSize)) {
|
|
160
151
|
return DEFAULT_LOG_FILE_SIZE;
|
|
161
152
|
}
|
|
162
153
|
return parameters.core.easemobLogFileSize;
|
|
163
154
|
};
|
|
164
155
|
exports.getEasemobLogFileSize = getEasemobLogFileSize;
|
|
165
156
|
const getNetlessLogFileSize = parameters => {
|
|
166
|
-
|
|
167
|
-
if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core9 = parameters.core) === null || _parameters$core9 === void 0 ? void 0 : _parameters$core9.netlessLogFileSize)) {
|
|
157
|
+
if (!(0, _imports.isNumber)(parameters?.core?.netlessLogFileSize)) {
|
|
168
158
|
return DEFAULT_LOG_FILE_SIZE;
|
|
169
159
|
}
|
|
170
160
|
return parameters.core.netlessLogFileSize;
|
|
@@ -173,9 +163,8 @@ const getNetlessLogFileSize = parameters => {
|
|
|
173
163
|
exports.getNetlessLogFileSize = getNetlessLogFileSize;
|
|
174
164
|
const DESKTOP_PLATFORMS = new Set([_imports.FcrApplicationPlatform.WINDOWS, _imports.FcrApplicationPlatform.MACOS]);
|
|
175
165
|
const getRtcPresetParameters = () => {
|
|
176
|
-
var _RTC_PRESET_PARAMS_MA;
|
|
177
166
|
const platform = (0, _imports.getPlatform)();
|
|
178
|
-
const platformParams =
|
|
167
|
+
const platformParams = RTC_PRESET_PARAMS_MAP[platform] ?? [];
|
|
179
168
|
const electronParams = ELECTRON_PLATFORMS.has(platform) ? ELECTRON_COMMON_PARAMS : [];
|
|
180
169
|
const harmonyOrElectronParams = HARMONY_OR_ELECTRON_PLATFORMS.has(platform) ? HARMONY_OR_ELECTRON_COMMON_PARAMS : [];
|
|
181
170
|
return [...platformParams, ...electronParams, ...harmonyOrElectronParams].map(p => JSON.stringify(p));
|
|
@@ -7,7 +7,6 @@ exports.ROOM_NON_RETRYABLE_ERRORS = exports.ROOM_JOIN_NON_RETRYABLE_ERRORS = voi
|
|
|
7
7
|
exports.canRetryError = canRetryError;
|
|
8
8
|
exports.canRetryJoinError = canRetryJoinError;
|
|
9
9
|
require("core-js/modules/es.array.includes.js");
|
|
10
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
10
|
var _imports = require("../imports");
|
|
12
11
|
/**
|
|
13
12
|
* 通用重试辅助工具
|
package/lib/utilities/stream.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.push.js");
|
|
4
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
5
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
6
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.getStreamsJoinConfig = exports.getStreamJoinConfig = void 0;
|
|
11
7
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
12
8
|
require("core-js/modules/esnext.iterator.map.js");
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
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; }
|
|
15
|
-
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) { (0, _defineProperty2.default)(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; }
|
|
16
9
|
const getStreamJoinConfig = stream => {
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
return {
|
|
11
|
+
...stream,
|
|
12
|
+
videoSourceUuid: stream?.videoSourceId,
|
|
13
|
+
audioSourceUuid: stream?.audioSourceId
|
|
14
|
+
};
|
|
21
15
|
};
|
|
22
16
|
exports.getStreamJoinConfig = getStreamJoinConfig;
|
|
23
17
|
const getStreamsJoinConfig = streams => {
|
|
24
|
-
return streams
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
return streams?.map(stream => {
|
|
19
|
+
return {
|
|
20
|
+
...stream,
|
|
21
|
+
videoSourceUuid: stream?.videoSourceId,
|
|
22
|
+
audioSourceUuid: stream?.audioSourceId
|
|
23
|
+
};
|
|
29
24
|
});
|
|
30
25
|
};
|
|
31
26
|
exports.getStreamsJoinConfig = getStreamsJoinConfig;
|
package/lib/utilities/user.js
CHANGED
|
@@ -7,13 +7,12 @@ exports.convertStringPrivilegeRoleToFcrPrivilegeRole = exports.convertRteUserToF
|
|
|
7
7
|
var _type = require("../type");
|
|
8
8
|
var _type2 = require("../room-control/privilege-control/type");
|
|
9
9
|
const convertRteUserToFcrUser = (user, cache) => {
|
|
10
|
-
var _cache$getUserPlatfor, _cache$getUserAvatar;
|
|
11
10
|
const userRole = _type.FcrUserStringToRoleMap[user.userRole];
|
|
12
11
|
if (!userRole) {
|
|
13
12
|
return undefined;
|
|
14
13
|
}
|
|
15
|
-
let platform =
|
|
16
|
-
const avatar =
|
|
14
|
+
let platform = cache.getUserPlatform(user.userId) ?? _type.FcrPlatform.UNSUPPORTED;
|
|
15
|
+
const avatar = cache.getUserAvatar(user.userId) ?? '';
|
|
17
16
|
const isValidPlatform = platform in _type.FcrPlatform;
|
|
18
17
|
platform = isValidPlatform ? platform : _type.FcrPlatform.UNSUPPORTED;
|
|
19
18
|
return {
|
|
@@ -27,7 +26,7 @@ const convertRteUserToFcrUser = (user, cache) => {
|
|
|
27
26
|
};
|
|
28
27
|
exports.convertRteUserToFcrUser = convertRteUserToFcrUser;
|
|
29
28
|
const checkFcrUserRole = user => {
|
|
30
|
-
if (!
|
|
29
|
+
if (!user?.userRole) return;
|
|
31
30
|
return user;
|
|
32
31
|
};
|
|
33
32
|
exports.checkFcrUserRole = checkFcrUserRole;
|