fcr-core 3.6.4 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/chat-connection/index.d.ts +0 -1
- package/lib/chat-connection/index.js +21 -11
- package/lib/engine/index.js +3 -2
- package/lib/imports.d.ts +8 -1
- package/lib/imports.js +40 -0
- package/lib/index.d.ts +2 -23
- package/lib/index.js +21 -23
- package/lib/media-control/desktop.js +17 -5
- package/lib/media-control/mobile.js +1 -2
- package/lib/media-control/type.d.ts +7 -3
- package/lib/plugins/chatroom.js +21 -3
- package/lib/room-control/index.js +8 -5
- package/lib/room-control/interpreter-control/types.d.ts +1 -0
- package/lib/room-control/mainroom-control/index.js +6 -5
- package/lib/room-control/shared-cache.d.ts +4 -0
- package/lib/room-control/shared-cache.js +10 -0
- package/lib/room-control/sharing-control/index.d.ts +9 -2
- package/lib/room-control/sharing-control/index.js +79 -17
- package/lib/room-control/sharing-control/type.d.ts +3 -2
- package/lib/room-control/stream-control/index.js +40 -20
- package/lib/room-control/stream-control/type.d.ts +6 -1
- package/lib/room-control/user-control/index.js +5 -1
- package/lib/room-control/whiteboard-control/board-window.d.ts +3 -0
- package/lib/room-control/whiteboard-control/board-window.js +6 -0
- package/lib/room-control/whiteboard-control/types.d.ts +11 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +8 -2
- package/lib/room-control/whiteboard-control-v2/annotation-control/index.js +91 -13
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +1 -0
- package/lib/room-control/whiteboard-control-v2/index.d.ts +1 -1
- package/lib/room-control/whiteboard-control-v2/index.js +6 -6
- package/lib/room-control/whiteboard-control-v2/main-window.d.ts +5 -0
- package/lib/room-control/whiteboard-control-v2/main-window.js +19 -4
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +1 -1
- package/lib/room-router/index.js +3 -1
- package/lib/schema.d.ts +8 -1
- package/lib/schema.js +4 -2
- package/lib/service/api.d.ts +5 -1
- package/lib/service/api.js +12 -1
- package/lib/service/type.d.ts +1 -0
- package/lib/type.d.ts +93 -56
- package/lib/type.js +302 -20
- package/lib/utilities/error.js +2 -1
- package/lib/utilities/stream.d.ts +8 -8
- package/lib/utilities/user.js +3 -1
- package/package.json +6 -9
|
@@ -11,7 +11,6 @@ export declare class FcrChatConnectionImpl implements FcrChatConnection {
|
|
|
11
11
|
private _initConfig?;
|
|
12
12
|
private _conn?;
|
|
13
13
|
private _connectionState;
|
|
14
|
-
private _offlineListener;
|
|
15
14
|
constructor(_userId: string, _api: FcrCoreServiceApi, _chatIpList?: string[] | undefined, _restIpList?: string[] | undefined);
|
|
16
15
|
login(): Promise<void>;
|
|
17
16
|
private _addEventListeners;
|
|
@@ -25,6 +25,7 @@ var _imports = require("../imports");
|
|
|
25
25
|
var _type = require("./type");
|
|
26
26
|
var _config = require("./config");
|
|
27
27
|
var _logger = require("../utilities/logger");
|
|
28
|
+
var _packageInfo = require("../utilities/package-info");
|
|
28
29
|
let _initProto;
|
|
29
30
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
30
31
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -38,16 +39,12 @@ class FcrChatConnectionImpl {
|
|
|
38
39
|
})))();
|
|
39
40
|
_observable = (() => new _imports.AgoraObservable())();
|
|
40
41
|
_connectionState = (() => _type.FcrChatConnectionState.DISCONNECTED)();
|
|
41
|
-
_offlineListener = () => {
|
|
42
|
-
if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
|
|
43
|
-
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
42
|
constructor(_userId, _api, _chatIpList, _restIpList) {
|
|
47
43
|
this._userId = _userId;
|
|
48
44
|
this._api = _api;
|
|
49
45
|
this._chatIpList = _chatIpList;
|
|
50
46
|
this._restIpList = _restIpList;
|
|
47
|
+
this.logger.info(`Chat Version: easemob-websdk@${(0, _packageInfo.getDependenciesInfo)('easemob-websdk')}`);
|
|
51
48
|
}
|
|
52
49
|
async login() {
|
|
53
50
|
const privateConfig = this._getPrivateConfig();
|
|
@@ -61,17 +58,18 @@ class FcrChatConnectionImpl {
|
|
|
61
58
|
..._config.agoraChatConfig,
|
|
62
59
|
...privateConfig,
|
|
63
60
|
appKey: tokenResult.appKey,
|
|
64
|
-
autoReconnectNumMax: 99999
|
|
61
|
+
autoReconnectNumMax: 99999,
|
|
62
|
+
isFixedDeviceId: false
|
|
65
63
|
};
|
|
66
64
|
_imports.EasemobChatSDK.logger.setConsoleLogVisibility(false);
|
|
67
65
|
this._conn = new _imports.EasemobChatSDK.connection(connParams);
|
|
66
|
+
this._addEventListeners();
|
|
68
67
|
await this._conn.open({
|
|
69
68
|
accessToken: this._initConfig.token,
|
|
70
69
|
user: this._userId
|
|
71
70
|
});
|
|
72
71
|
this.logger.info(`onConnectionLoginSuccess, token: ${this._initConfig.token}, userId: ${this._userId}`);
|
|
73
72
|
this._observable.notifyObservers('onConnectionLoginSuccess');
|
|
74
|
-
this._addEventListeners();
|
|
75
73
|
}, [], {
|
|
76
74
|
retriesMax: 3
|
|
77
75
|
}).fail(async _ref => {
|
|
@@ -89,25 +87,37 @@ class FcrChatConnectionImpl {
|
|
|
89
87
|
}).exec());
|
|
90
88
|
}
|
|
91
89
|
_addEventListeners() {
|
|
92
|
-
|
|
93
|
-
this._conn?.addEventHandler('connection', {
|
|
90
|
+
this._conn?.addEventHandler('connectionListener', {
|
|
94
91
|
onError: e => {
|
|
95
92
|
this.logger.error('onError', e.message);
|
|
96
93
|
},
|
|
97
94
|
onConnected: () => {
|
|
98
95
|
this.logger.info('onConnected');
|
|
99
|
-
this.
|
|
96
|
+
if (this._connectionState !== _type.FcrChatConnectionState.CONNECTED) {
|
|
97
|
+
this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
|
|
98
|
+
}
|
|
100
99
|
},
|
|
101
100
|
onDisconnected: () => {
|
|
102
101
|
if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
|
|
103
102
|
this.logger.info('onDisconnected');
|
|
104
103
|
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
105
104
|
}
|
|
105
|
+
},
|
|
106
|
+
onOnline: () => {
|
|
107
|
+
this.logger.info('onOnline');
|
|
108
|
+
if (this._connectionState !== _type.FcrChatConnectionState.CONNECTED) {
|
|
109
|
+
this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
onOffline: () => {
|
|
113
|
+
if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
|
|
114
|
+
this.logger.info('onOffline');
|
|
115
|
+
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
116
|
+
}
|
|
106
117
|
}
|
|
107
118
|
});
|
|
108
119
|
}
|
|
109
120
|
logout() {
|
|
110
|
-
window.removeEventListener('offline', this._offlineListener);
|
|
111
121
|
this._conn?.close();
|
|
112
122
|
}
|
|
113
123
|
_setConnectionState(state) {
|
package/lib/engine/index.js
CHANGED
|
@@ -240,7 +240,8 @@ class FcrCoreEngine {
|
|
|
240
240
|
videoSourceState: s.videoSourceState
|
|
241
241
|
})),
|
|
242
242
|
version: (0, _imports.getVersion)(),
|
|
243
|
-
password: options.password
|
|
243
|
+
password: options.password,
|
|
244
|
+
avatar: options.avatar
|
|
244
245
|
}), _error.FcrErrorModuleCode.ENGINE);
|
|
245
246
|
const {
|
|
246
247
|
data,
|
|
@@ -415,7 +416,7 @@ class FcrCoreEngine {
|
|
|
415
416
|
return parametersList;
|
|
416
417
|
}
|
|
417
418
|
_getRtcPresetParameters() {
|
|
418
|
-
let rtcPresetParameters = ['{\"che.video.videoCodecIndex\": 1}', '{\"rtc.video.new_complexity\": true}', '{\"rtc.video.default_complexity\": 1027}', '{\"rtc.video.enable_doc_screen_share_sr\":true}', '{\"rtc.video.enable_pvc\":false}', '{\"che.video.brightness_detection_enable\":false} ', '{\"che.audio.bitrate_level\":1}', '{\"rtc.video.downMaxRetryTimes\":5}'];
|
|
419
|
+
let rtcPresetParameters = ['{\"che.video.videoCodecIndex\": 1}', '{\"rtc.video.new_complexity\": true}', '{\"rtc.video.default_complexity\": 1027}', '{\"rtc.video.enable_doc_screen_share_sr\":true}', '{\"rtc.video.enable_pvc\":false}', '{\"che.video.brightness_detection_enable\":false} ', '{\"che.audio.bitrate_level\":1}', '{\"rtc.video.downMaxRetryTimes\":5}', '{\"che.video.vqc_min_width\": 1280}', '{\"che.video.vqc_min_height\": 720}', '{\"che.video.lowest_dev_score_4_seg\":0}'];
|
|
419
420
|
if ((0, _imports.getPlatform)() == _imports.FcrApplicationPlatform.WINDOWS) {
|
|
420
421
|
rtcPresetParameters.push('{\"engine.video.hw_decoder_provider\":\"qsv\"}', '{\"rtc.video.default_hw_decoder_thres\":921600}');
|
|
421
422
|
}
|
package/lib/imports.d.ts
CHANGED
|
@@ -11,6 +11,11 @@ export { EasemobChat } from 'easemob-websdk';
|
|
|
11
11
|
export { WhiteWebSdk, createPlugins } from 'white-web-sdk';
|
|
12
12
|
export * as netlessVideoPlugin from '@netless/video-js-plugin';
|
|
13
13
|
export { WindowManager } from '@netless/window-manager';
|
|
14
|
+
export { RTMProvider_2_2 as FcrRTMProvider_2_2 } from '@netless/forge-rtm';
|
|
15
|
+
export { Room as FcrRoom } from '@netless/forge-room';
|
|
16
|
+
export { WhiteboardApplication as FcrWhiteboardApplication } from '@netless/forge-whiteboard';
|
|
17
|
+
export type { ApplicationInstanceType as FcrApplicationInstanceType } from '@netless/forge-room';
|
|
18
|
+
export type { Whiteboard as FcrWhiteboard, WhiteboardToolType as FcrWhiteboardToolType, } from '@netless/forge-whiteboard';
|
|
14
19
|
export { getLogger, createLogger } from 'agora-foundation/lib/logger';
|
|
15
20
|
export { serializeArgs } from 'agora-foundation/lib/decorator/log/log-serializer';
|
|
16
21
|
export { AgoraObservable } from 'agora-foundation/lib/utilities/observable';
|
|
@@ -28,6 +33,7 @@ export type { AgoraRteEngineObserver } from 'agora-rte-sdk/lib/type';
|
|
|
28
33
|
export type { AgoraRteNetworkQualityEvent } from 'agora-rte-sdk/lib/core/scene/type';
|
|
29
34
|
export type { AgoraRteOperatCause } from 'agora-rte-sdk/lib/core/processor/type';
|
|
30
35
|
export type { AgoraRestfulClient } from 'agora-rte-sdk/lib/core/services/client';
|
|
36
|
+
export { AgoraRteError } from 'agora-rte-sdk/lib/core/utilities/error';
|
|
31
37
|
export type { AgoraRteUserUpdatedReason as FcrUserUpdatedReason, AgoraRteUserPageParams, AgoraRteUserPageResponse, AgoraRteUserPropertiesDeletedEvent, AgoraRteUserPropertiesUpdatedEvent, AgoraRteUserInfo, AgoraRteSceneObserver, AgoraRteSnapshotInfo, AgoraRteEntryRoomResponse, AgoraRteMediaStreamEvent, } from 'agora-rte-sdk/lib/core/scene/type';
|
|
32
38
|
export type AgoraRteMediaStreamCreateConfig = FcrMediaStreamCreateConfigSchema;
|
|
33
39
|
export type AgoraRteStreamBindConfig = FcrStreamBindConfigSchema;
|
|
@@ -37,11 +43,12 @@ export type { AgoraRteAudioRawDataConfig, AgoraRteBeautyOptions, AgoraRteCameraP
|
|
|
37
43
|
export type { AgoraRteMediaStreamInfo } from 'agora-rte-sdk/lib/core/processor/struct';
|
|
38
44
|
export type { AgoraRteMonitor } from 'agora-rte-sdk/lib/core/monitor';
|
|
39
45
|
export type { AgoraRteMediaControl } from 'agora-rte-sdk/lib/core/media';
|
|
46
|
+
export type { AgoraRteUpdateStreamPrivilege } from 'agora-rte-sdk/lib/core/scene/type';
|
|
40
47
|
export { AgoraRteConnectionState, AgoraRteEngine, convertStreamTypeToPublishState, AgoraRteLatencyLevel, } from 'agora-rte-sdk';
|
|
41
48
|
export { AgoraRteRoomConnectorType, AgoraRteStreamPrivilegeOperation, AgoraRteStreamPrivilegeVideoSourceType, AgoraRteStreamPrivilegeAudioSourceType, AgoraRteMediaStreamType, } from 'agora-rte-sdk/lib/core/scene/type';
|
|
42
49
|
export { AgoraRtcRegion, AgoraRtcVideoSourceType, AgoraRtcAudioSourceType, AgoraRtcMediaSourceState, AgoraRtcRenderMode, AgoraRtcVideoStreamType, AgoraRtcCapability, AgoraRtcAiDenoiseLevel, AgoraRtcAudioOutputRouting, AgoraRtcLatencyLevelType, AgoraRtcEncryptionMode, } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
43
50
|
export { AgoraRtmRegion } from 'agora-rte-sdk/lib/core/rtm/type';
|
|
44
|
-
export { AgoraRteRegion, AgoraRteAudioSourceType, AgoraRteVideoSourceType, } from 'agora-rte-sdk/lib/type';
|
|
51
|
+
export { AgoraRteRegion, AgoraRteAudioSourceType, AgoraRteVideoSourceType, AgoraRteMediaPublishState, AgoraRteScreenScenarioType as FcrScreenScenarioType, } from 'agora-rte-sdk/lib/type';
|
|
45
52
|
export { AgoraRestfulClientError } from 'agora-rte-sdk/lib/core/services/client';
|
|
46
53
|
export { getSharedDomainHolder } from 'agora-rte-sdk/lib/core/services/domain-holder';
|
|
47
54
|
export { AgoraRteScreenCaptureType, AgoraRteVideoOrientation, } from 'agora-rte-sdk/lib/core/media/type';
|
package/lib/imports.js
CHANGED
|
@@ -108,12 +108,24 @@ Object.defineProperty(exports, "AgoraRteEngine", {
|
|
|
108
108
|
return _agoraRteSdk.AgoraRteEngine;
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
|
+
Object.defineProperty(exports, "AgoraRteError", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
get: function () {
|
|
114
|
+
return _error.AgoraRteError;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
111
117
|
Object.defineProperty(exports, "AgoraRteLatencyLevel", {
|
|
112
118
|
enumerable: true,
|
|
113
119
|
get: function () {
|
|
114
120
|
return _agoraRteSdk.AgoraRteLatencyLevel;
|
|
115
121
|
}
|
|
116
122
|
});
|
|
123
|
+
Object.defineProperty(exports, "AgoraRteMediaPublishState", {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
get: function () {
|
|
126
|
+
return _type4.AgoraRteMediaPublishState;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
117
129
|
Object.defineProperty(exports, "AgoraRteMediaStreamType", {
|
|
118
130
|
enumerable: true,
|
|
119
131
|
get: function () {
|
|
@@ -216,6 +228,30 @@ Object.defineProperty(exports, "FcrCoreEngine", {
|
|
|
216
228
|
return _engine.FcrCoreEngine;
|
|
217
229
|
}
|
|
218
230
|
});
|
|
231
|
+
Object.defineProperty(exports, "FcrRTMProvider_2_2", {
|
|
232
|
+
enumerable: true,
|
|
233
|
+
get: function () {
|
|
234
|
+
return _forgeRtm.RTMProvider_2_2;
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
Object.defineProperty(exports, "FcrRoom", {
|
|
238
|
+
enumerable: true,
|
|
239
|
+
get: function () {
|
|
240
|
+
return _forgeRoom.Room;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
Object.defineProperty(exports, "FcrScreenScenarioType", {
|
|
244
|
+
enumerable: true,
|
|
245
|
+
get: function () {
|
|
246
|
+
return _type4.AgoraRteScreenScenarioType;
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
Object.defineProperty(exports, "FcrWhiteboardApplication", {
|
|
250
|
+
enumerable: true,
|
|
251
|
+
get: function () {
|
|
252
|
+
return _forgeWhiteboard.WhiteboardApplication;
|
|
253
|
+
}
|
|
254
|
+
});
|
|
219
255
|
Object.defineProperty(exports, "Mutex", {
|
|
220
256
|
enumerable: true,
|
|
221
257
|
get: function () {
|
|
@@ -450,6 +486,9 @@ var _whiteWebSdk = require("white-web-sdk");
|
|
|
450
486
|
var _netlessVideoPlugin = _interopRequireWildcard(require("@netless/video-js-plugin"));
|
|
451
487
|
exports.netlessVideoPlugin = _netlessVideoPlugin;
|
|
452
488
|
var _windowManager = require("@netless/window-manager");
|
|
489
|
+
var _forgeRtm = require("@netless/forge-rtm");
|
|
490
|
+
var _forgeRoom = require("@netless/forge-room");
|
|
491
|
+
var _forgeWhiteboard = require("@netless/forge-whiteboard");
|
|
453
492
|
var _logger = require("agora-foundation/lib/logger");
|
|
454
493
|
var _logSerializer = require("agora-foundation/lib/decorator/log/log-serializer");
|
|
455
494
|
var _observable = require("agora-foundation/lib/utilities/observable");
|
|
@@ -462,6 +501,7 @@ var _misc = require("agora-foundation/lib/utilities/misc");
|
|
|
462
501
|
var _schema = require("agora-foundation/lib/utilities/schema");
|
|
463
502
|
var _validate = require("agora-foundation/lib/decorator/validate");
|
|
464
503
|
var _mutex = require("agora-foundation/lib/worker/mutex");
|
|
504
|
+
var _error = require("agora-rte-sdk/lib/core/utilities/error");
|
|
465
505
|
var _agoraRteSdk = require("agora-rte-sdk");
|
|
466
506
|
var _type = require("agora-rte-sdk/lib/core/scene/type");
|
|
467
507
|
var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
|
package/lib/index.d.ts
CHANGED
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { FcrPermissionAction, FcrPrivilegeUserRole } from './
|
|
3
|
-
export type { FcrError } from './utilities/error';
|
|
4
|
-
export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig } from './type';
|
|
5
|
-
export type { FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, } from './media-control/type';
|
|
6
|
-
export type { FcrMonitorControl, FcrMonitorObserver } from './monitor-control/type';
|
|
7
|
-
export type { FcrBaseRoomControl, FcrRoomObserver } from './room-control/type';
|
|
8
|
-
export type { FcrUserControl, FcrUserObserver } from './room-control/user-control/type';
|
|
9
|
-
export type { FcrStreamControl, FcrStreamObserver } from './room-control/stream-control/type';
|
|
10
|
-
export type { FcrPrivilegeControl, FcrPermission } from './room-control/privilege-control/type';
|
|
11
|
-
export { AgoraRteLatencyLevel as FcrStreamLatencyLevel } from './imports';
|
|
12
|
-
export { AgoraRteRegion as FcrRegion } from './imports';
|
|
13
|
-
export { AgoraRteMediaStreamType as FcrStreamType } from './imports';
|
|
14
|
-
export { AgoraRteUserUpdatedReason as FcrUserUpdatedReason } from './imports';
|
|
15
|
-
export { AgoraRteRoomConnectorType as FcrRoomConnectorType } from './imports';
|
|
16
|
-
export { AgoraRtcVideoSourceType as FcrVideoSourceType, AgoraRtcAudioSourceType as FcrAudioSourceType, AgoraRtcMediaSourceState as FcrMediaSourceState, } from './imports';
|
|
17
|
-
export { AgoraRtcRenderMode as FcrVideoRenderMode } from './imports';
|
|
18
|
-
export { AgoraRtcVideoStreamType as FcrVideoStreamType } from './imports';
|
|
19
|
-
export { AgoraRtcCapability as FcrCapability } from './imports';
|
|
20
|
-
export { AgoraRtcAiDenoiseLevel as FcrAiDenoiseLevel } from './imports';
|
|
21
|
-
export { AgoraRteStreamPrivilegeOperation as FcrStreamPrivilegeOperation, AgoraRteStreamPrivilegeVideoSourceType as FcrStreamPrivilegeVideoSourceType, AgoraRteStreamPrivilegeAudioSourceType as FcrStreamPrivilegeAudioSourceType, } from './imports';
|
|
22
|
-
export { AgoraRteConnectionState as FcrConnectionState } from './imports';
|
|
23
|
-
export { FcrCoreEngine, registerPlugin } from './imports';
|
|
1
|
+
export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig, FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, FcrMonitorControl, FcrMonitorObserver, FcrBaseRoomControl, FcrRoomObserver, FcrUserControl, FcrUserObserver, FcrStreamControl, FcrStreamObserver, FcrPrivilegeControl, FcrPermission, FcrError, } from './type';
|
|
2
|
+
export { FcrStreamLatencyLevel, FcrPermissionAction, FcrPrivilegeUserRole, FcrUserRole, FcrStreamState, FcrRegion, FcrStreamType, FcrUserUpdatedReason, FcrRoomConnectorType, FcrVideoSourceType, FcrAudioSourceType, FcrMediaSourceState, FcrVideoRenderMode, FcrVideoStreamType, FcrCapability, FcrAiDenoiseLevel, FcrStreamPrivilegeOperation, FcrStreamPrivilegeVideoSourceType, FcrStreamPrivilegeAudioSourceType, FcrConnectionState, FcrCoreEngine, registerPlugin, } from './type';
|
package/lib/index.js
CHANGED
|
@@ -6,85 +6,85 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "FcrAiDenoiseLevel", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _type.FcrAiDenoiseLevel;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "FcrAudioSourceType", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _type.FcrAudioSourceType;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "FcrCapability", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function () {
|
|
21
|
-
return
|
|
21
|
+
return _type.FcrCapability;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "FcrConnectionState", {
|
|
25
25
|
enumerable: true,
|
|
26
26
|
get: function () {
|
|
27
|
-
return
|
|
27
|
+
return _type.FcrConnectionState;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "FcrCoreEngine", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function () {
|
|
33
|
-
return
|
|
33
|
+
return _type.FcrCoreEngine;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "FcrMediaSourceState", {
|
|
37
37
|
enumerable: true,
|
|
38
38
|
get: function () {
|
|
39
|
-
return
|
|
39
|
+
return _type.FcrMediaSourceState;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "FcrPermissionAction", {
|
|
43
43
|
enumerable: true,
|
|
44
44
|
get: function () {
|
|
45
|
-
return
|
|
45
|
+
return _type.FcrPermissionAction;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "FcrPrivilegeUserRole", {
|
|
49
49
|
enumerable: true,
|
|
50
50
|
get: function () {
|
|
51
|
-
return
|
|
51
|
+
return _type.FcrPrivilegeUserRole;
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
Object.defineProperty(exports, "FcrRegion", {
|
|
55
55
|
enumerable: true,
|
|
56
56
|
get: function () {
|
|
57
|
-
return
|
|
57
|
+
return _type.FcrRegion;
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
Object.defineProperty(exports, "FcrRoomConnectorType", {
|
|
61
61
|
enumerable: true,
|
|
62
62
|
get: function () {
|
|
63
|
-
return
|
|
63
|
+
return _type.FcrRoomConnectorType;
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
Object.defineProperty(exports, "FcrStreamLatencyLevel", {
|
|
67
67
|
enumerable: true,
|
|
68
68
|
get: function () {
|
|
69
|
-
return
|
|
69
|
+
return _type.FcrStreamLatencyLevel;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "FcrStreamPrivilegeAudioSourceType", {
|
|
73
73
|
enumerable: true,
|
|
74
74
|
get: function () {
|
|
75
|
-
return
|
|
75
|
+
return _type.FcrStreamPrivilegeAudioSourceType;
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
Object.defineProperty(exports, "FcrStreamPrivilegeOperation", {
|
|
79
79
|
enumerable: true,
|
|
80
80
|
get: function () {
|
|
81
|
-
return
|
|
81
|
+
return _type.FcrStreamPrivilegeOperation;
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "FcrStreamPrivilegeVideoSourceType", {
|
|
85
85
|
enumerable: true,
|
|
86
86
|
get: function () {
|
|
87
|
-
return
|
|
87
|
+
return _type.FcrStreamPrivilegeVideoSourceType;
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
Object.defineProperty(exports, "FcrStreamState", {
|
|
@@ -96,7 +96,7 @@ Object.defineProperty(exports, "FcrStreamState", {
|
|
|
96
96
|
Object.defineProperty(exports, "FcrStreamType", {
|
|
97
97
|
enumerable: true,
|
|
98
98
|
get: function () {
|
|
99
|
-
return
|
|
99
|
+
return _type.FcrStreamType;
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
Object.defineProperty(exports, "FcrUserRole", {
|
|
@@ -108,33 +108,31 @@ Object.defineProperty(exports, "FcrUserRole", {
|
|
|
108
108
|
Object.defineProperty(exports, "FcrUserUpdatedReason", {
|
|
109
109
|
enumerable: true,
|
|
110
110
|
get: function () {
|
|
111
|
-
return
|
|
111
|
+
return _type.FcrUserUpdatedReason;
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
114
|
Object.defineProperty(exports, "FcrVideoRenderMode", {
|
|
115
115
|
enumerable: true,
|
|
116
116
|
get: function () {
|
|
117
|
-
return
|
|
117
|
+
return _type.FcrVideoRenderMode;
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
Object.defineProperty(exports, "FcrVideoSourceType", {
|
|
121
121
|
enumerable: true,
|
|
122
122
|
get: function () {
|
|
123
|
-
return
|
|
123
|
+
return _type.FcrVideoSourceType;
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
Object.defineProperty(exports, "FcrVideoStreamType", {
|
|
127
127
|
enumerable: true,
|
|
128
128
|
get: function () {
|
|
129
|
-
return
|
|
129
|
+
return _type.FcrVideoStreamType;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
Object.defineProperty(exports, "registerPlugin", {
|
|
133
133
|
enumerable: true,
|
|
134
134
|
get: function () {
|
|
135
|
-
return
|
|
135
|
+
return _type.registerPlugin;
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
-
var _type = require("./type");
|
|
139
|
-
var _type2 = require("./room-control/privilege-control/type");
|
|
140
|
-
var _imports = require("./imports");
|
|
138
|
+
var _type = require("./type");
|
|
@@ -38,7 +38,7 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
38
38
|
* @internal
|
|
39
39
|
*/
|
|
40
40
|
class FcrDesktopMediaControlImpl {
|
|
41
|
-
static #_ = (() => [_initProto] = _applyDecs(this, [[_imports.trace, 2, "getCameraList"], [_imports.trace, 2, "getMicrophoneList"], [_imports.trace, 2, "getSpeakerList"], [_imports.trace, 2, "getSystemSelectedMicrophone"], [_imports.trace, 2, "getSystemSelectedSpeaker"], [_imports.trace, 2, "getWindowList"], [_imports.trace, 2, "getDisplayList"], [_getCameraTrackDecs, 2, "getCameraTrack"], [_getMicrophoneTrackDecs, 2, "getMicrophoneTrack"], [_getScreenTrackDecs, 2, "getScreenTrack"], [_getLoopbackTrackDecs, 2, "getLoopbackTrack"], [_setSelectedSpeakerDecs, 2, "setSelectedSpeaker"], [_startSelectedSpeakerTestDecs, 2, "startSelectedSpeakerTest"], [_imports.trace, 2, "stopSelectedSpeakerTest"], [_isCapabilitySupportedDecs, 2, "isCapabilitySupported"], [_adjustOutputVolumeDecs, 2, "adjustOutputVolume"], [_setSelectedSpeakerVolumeDecs, 2, "setSelectedSpeakerVolume"], [_imports.trace, 2, "getSelectedSpeakerVolume"], [_imports.trace, 2, "checkLoopbackDevice"], [_imports.trace, 2, "
|
|
41
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_imports.trace, 2, "getCameraList"], [_imports.trace, 2, "getMicrophoneList"], [_imports.trace, 2, "getSpeakerList"], [_imports.trace, 2, "getSystemSelectedMicrophone"], [_imports.trace, 2, "getSystemSelectedSpeaker"], [_imports.trace, 2, "getWindowList"], [_imports.trace, 2, "getDisplayList"], [_getCameraTrackDecs, 2, "getCameraTrack"], [_getMicrophoneTrackDecs, 2, "getMicrophoneTrack"], [_getScreenTrackDecs, 2, "getScreenTrack"], [_getLoopbackTrackDecs, 2, "getLoopbackTrack"], [_setSelectedSpeakerDecs, 2, "setSelectedSpeaker"], [_startSelectedSpeakerTestDecs, 2, "startSelectedSpeakerTest"], [_imports.trace, 2, "stopSelectedSpeakerTest"], [_isCapabilitySupportedDecs, 2, "isCapabilitySupported"], [_adjustOutputVolumeDecs, 2, "adjustOutputVolume"], [_setSelectedSpeakerVolumeDecs, 2, "setSelectedSpeakerVolume"], [_imports.trace, 2, "getSelectedSpeakerVolume"], [_imports.trace, 2, "checkLoopbackDevice"], [_imports.trace, 2, "observeSystemSelectedSpeakerChanged"], [_imports.trace, 2, "observeSystemSelectedMicrophoneChanged"], [_imports.trace, 2, "disableAGC"], [_imports.trace, 2, "enableAGC"]], []).e)();
|
|
42
42
|
[(_getCameraTrackDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _getMicrophoneTrackDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _getScreenTrackDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _getLoopbackTrackDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _setSelectedSpeakerDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _startSelectedSpeakerTestDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.numberSchema)], _isCapabilitySupportedDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrCapabilitySchema)], _adjustOutputVolumeDecs = [_imports.trace, (0, _validateParams.default)(_schema.numberSchema)], _setSelectedSpeakerVolumeDecs = [_imports.trace, (0, _validateParams.default)(_schema.numberSchema)], "logger")] = (() => (_initProto(this), (0, _logger.createLogger)({
|
|
43
43
|
prefix: 'FcrDesktopMediaControlImpl'
|
|
44
44
|
})))();
|
|
@@ -78,6 +78,12 @@ class FcrDesktopMediaControlImpl {
|
|
|
78
78
|
},
|
|
79
79
|
onSelectedSpeakerVolumeUpdated: (volume, muted) => {
|
|
80
80
|
this._observable.notifyObservers('onSelectedSpeakerVolumeUpdated', volume, muted);
|
|
81
|
+
},
|
|
82
|
+
onSystemSelectedSpeakerChanged: speaker => {
|
|
83
|
+
this._observable.notifyObservers('onSystemSelectedSpeakerChanged', speaker);
|
|
84
|
+
},
|
|
85
|
+
onSystemSelectedMicrophoneChanged: microphone => {
|
|
86
|
+
this._observable.notifyObservers('onSystemSelectedMicrophoneChanged', microphone);
|
|
81
87
|
}
|
|
82
88
|
});
|
|
83
89
|
}
|
|
@@ -144,11 +150,17 @@ class FcrDesktopMediaControlImpl {
|
|
|
144
150
|
checkLoopbackDevice() {
|
|
145
151
|
return this._mediaControl.checkLoopbackDevice();
|
|
146
152
|
}
|
|
147
|
-
|
|
148
|
-
return this._mediaControl.
|
|
153
|
+
observeSystemSelectedSpeakerChanged(follow) {
|
|
154
|
+
return this._mediaControl.observeSystemSelectedSpeakerChanged(follow);
|
|
155
|
+
}
|
|
156
|
+
observeSystemSelectedMicrophoneChanged(follow) {
|
|
157
|
+
return this._mediaControl.observeSystemSelectedMicrophoneChanged(follow);
|
|
158
|
+
}
|
|
159
|
+
disableAGC() {
|
|
160
|
+
return this._mediaControl.disableAGC();
|
|
149
161
|
}
|
|
150
|
-
|
|
151
|
-
return this._mediaControl.
|
|
162
|
+
enableAGC() {
|
|
163
|
+
return this._mediaControl.enableAGC();
|
|
152
164
|
}
|
|
153
165
|
}
|
|
154
166
|
exports.FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
@@ -24,7 +24,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
24
24
|
exports.FcrMobileMediaControlImpl = void 0;
|
|
25
25
|
var _imports = require("../imports");
|
|
26
26
|
var _type = require("../type");
|
|
27
|
-
var _ = require("..");
|
|
28
27
|
var _schema = require("../schema");
|
|
29
28
|
var _validateParams = _interopRequireDefault(require("../utilities/validate-params"));
|
|
30
29
|
var _logger = require("../utilities/logger");
|
|
@@ -102,7 +101,7 @@ class FcrMobileMediaControlImpl {
|
|
|
102
101
|
case _type.FcrDeviceType.Microphone:
|
|
103
102
|
return this._mediaControl.getMicrophoneAudioTrack(this._microphoneDeviceName).getState();
|
|
104
103
|
default:
|
|
105
|
-
return
|
|
104
|
+
return _type.FcrMediaSourceState.CLOSE;
|
|
106
105
|
}
|
|
107
106
|
}
|
|
108
107
|
startCameraTest() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AgoraRteAudioRawDataConfig, AgoraRteBeautyOptions, AgoraRteCameraPosition, AgoraRteScreenCaptureParams, AgoraRteScreenCaptureType, AgoraRteVirtualBackgroundOptions, AgoraRteVideoOrientation, AgoraRteCameraCaptureParams, AgoraRtcAudioOutputRouting } from '../imports';
|
|
2
2
|
import { FcrDeviceInfo, FcrDisplayInfo, FcrRenderView, FcrWindowInfo } from '../type';
|
|
3
|
-
import { FcrMediaSourceState, FcrAiDenoiseLevel, FcrVideoSourceType, FcrAudioSourceType, FcrCapability } from '
|
|
3
|
+
import { FcrMediaSourceState, FcrAiDenoiseLevel, FcrVideoSourceType, FcrAudioSourceType, FcrCapability } from '../type';
|
|
4
4
|
import { FcrRenderConfigSchema } from '../schema';
|
|
5
5
|
export type FcrAudioOutputRouting = AgoraRtcAudioOutputRouting;
|
|
6
6
|
export type FcrDesktopMediaObserver = {
|
|
@@ -49,6 +49,8 @@ export type FcrDesktopMediaObserver = {
|
|
|
49
49
|
* @param muted
|
|
50
50
|
*/
|
|
51
51
|
onSelectedSpeakerVolumeUpdated?(volume: number, muted: boolean): void;
|
|
52
|
+
onSystemSelectedSpeakerChanged?(speaker: FcrDeviceInfo): void;
|
|
53
|
+
onSystemSelectedMicrophoneChanged?(microphone: FcrDeviceInfo): void;
|
|
52
54
|
};
|
|
53
55
|
export type FcrMobileMediaObserver = {
|
|
54
56
|
/**
|
|
@@ -590,12 +592,14 @@ export interface FcrDesktopMediaControl {
|
|
|
590
592
|
* Follow the system speaker.
|
|
591
593
|
* @param follow
|
|
592
594
|
*/
|
|
593
|
-
|
|
595
|
+
observeSystemSelectedSpeakerChanged(enable: boolean): void;
|
|
594
596
|
/**
|
|
595
597
|
* Follow the system microphone.
|
|
596
598
|
* @param follow
|
|
597
599
|
*/
|
|
598
|
-
|
|
600
|
+
observeSystemSelectedMicrophoneChanged(enable: boolean): void;
|
|
601
|
+
disableAGC(): number;
|
|
602
|
+
enableAGC(): number;
|
|
599
603
|
}
|
|
600
604
|
export interface FcrMobileMediaControl {
|
|
601
605
|
/**
|
package/lib/plugins/chatroom.js
CHANGED
|
@@ -119,9 +119,27 @@ class FcrChatRoomControlImpl {
|
|
|
119
119
|
if (state === _type2.FcrChatConnectionState.CONNECTED && this.getConnectionState() === _type.FcrChatRoomConnectionState.Disconnected && this.chatRoomId) {
|
|
120
120
|
this._setConnectionState(_type.FcrChatRoomConnectionState.Connecting);
|
|
121
121
|
this.logger.info(`start join chat room, room id: ${this.chatRoomId}, scene id: ${this._scene.sceneId}`);
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
let error = null;
|
|
123
|
+
[error] = await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
124
|
+
await this.conn.joinChatRoom({
|
|
125
|
+
roomId: this.chatRoomId
|
|
126
|
+
});
|
|
127
|
+
}, [], {
|
|
128
|
+
retriesMax: 4
|
|
129
|
+
}).fail(async _ref => {
|
|
130
|
+
let {
|
|
131
|
+
error,
|
|
132
|
+
timeFn,
|
|
133
|
+
currentRetry
|
|
134
|
+
} = _ref;
|
|
135
|
+
this.logger.error(`retry to join chat room, ${error.message}, retry ${currentRetry} times`);
|
|
136
|
+
await timeFn();
|
|
137
|
+
return true;
|
|
138
|
+
}).exec());
|
|
139
|
+
if (error) {
|
|
140
|
+
this._setConnectionState(_type.FcrChatRoomConnectionState.Disconnected);
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
125
143
|
this._setConnectionState(_type.FcrChatRoomConnectionState.Connected);
|
|
126
144
|
}
|
|
127
145
|
};
|
|
@@ -35,7 +35,6 @@ var _collection = require("../utilities/collection");
|
|
|
35
35
|
var _ = require("..");
|
|
36
36
|
var _logger = require("../utilities/logger");
|
|
37
37
|
var _abilityControl = require("./ability-control");
|
|
38
|
-
var _error2 = require("agora-rte-sdk/lib/core/utilities/error");
|
|
39
38
|
var _sharingControl = require("./sharing-control");
|
|
40
39
|
let _initProto;
|
|
41
40
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
@@ -86,7 +85,7 @@ class FcrBaseRoomControlImpl {
|
|
|
86
85
|
this._roomConnectorControl = new _roomConnectorControl.FcrRoomConnectorControlImpl(this._scene, this._engine, this._api);
|
|
87
86
|
this._abilityControl = new _abilityControl.FcrAbilityControlImpl(this._scene);
|
|
88
87
|
if (this._whiteboardControl && this._streamControl) {
|
|
89
|
-
this.sharingControl = new _sharingControl.FcrSharingControlImpl(this._scene, this._api, this._engine, this._privilegeControl, this._whiteboardControl, this._streamControl, this._sharedCache);
|
|
88
|
+
this.sharingControl = new _sharingControl.FcrSharingControlImpl(this._scene, this._api, this._engine, this._privilegeControl, this._whiteboardControl, this._streamControl, this._sharedCache, this._userControl);
|
|
90
89
|
}
|
|
91
90
|
this._observable.notifyObservers('onJoinRoomSuccess', sceneId);
|
|
92
91
|
},
|
|
@@ -363,10 +362,14 @@ class FcrBaseRoomControlImpl {
|
|
|
363
362
|
currentRetry
|
|
364
363
|
} = _ref;
|
|
365
364
|
handleJoinAborted();
|
|
366
|
-
if (
|
|
367
|
-
|
|
365
|
+
if (error instanceof _error.FcrError || error instanceof _imports.AgoraRteError) {
|
|
366
|
+
this.logger.error(`join room failed, message: ${error.message}, code: ${error.code}`);
|
|
367
|
+
if (_error.RTE_ERROR_CODES_NOT_RETRYABLE_WHEN_JOINING_ROOM.includes(error.code)) {
|
|
368
|
+
this.logger.error(`cancel retry to join room, message: ${error.message}, code: ${error.code}`);
|
|
369
|
+
throw error;
|
|
370
|
+
}
|
|
368
371
|
}
|
|
369
|
-
this.logger.
|
|
372
|
+
this.logger.warn(`retry to join room, error message: ${error.message}, retry ${currentRetry} times`);
|
|
370
373
|
await timeFn();
|
|
371
374
|
return true;
|
|
372
375
|
}).exec());
|
|
@@ -25,9 +25,8 @@ exports.FcrMainRoomControlImpl = void 0;
|
|
|
25
25
|
var _imports = require("../../imports");
|
|
26
26
|
var _ = require("..");
|
|
27
27
|
var _groupControl = require("../group-control");
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var _type2 = require("../../type");
|
|
28
|
+
var _type = require("../../type");
|
|
29
|
+
var _type2 = require("../type");
|
|
31
30
|
var _error = require("../../utilities/error");
|
|
32
31
|
var _interpreterControl = require("../interpreter-control");
|
|
33
32
|
var _schema = require("../../schema");
|
|
@@ -56,7 +55,7 @@ class FcrMainRoomControlImpl extends _.FcrBaseRoomControlImpl {
|
|
|
56
55
|
return this._observable;
|
|
57
56
|
}
|
|
58
57
|
constructor(engine, scene, api, config, sharedCache, chatConnection, chatRoomControl, whitBoardControl) {
|
|
59
|
-
super(engine, scene, api, config,
|
|
58
|
+
super(engine, scene, api, config, _type2.FcrRoomType.Mainroom, chatConnection, sharedCache, chatRoomControl, whitBoardControl);
|
|
60
59
|
this._groupControl = new _groupControl.FcrGroupControl(engine, scene, api, sharedCache);
|
|
61
60
|
this._interpreterControl = new _interpreterControl.FcrInterpreterControlImpl(api, scene, config, engine, chatConnection, sharedCache);
|
|
62
61
|
this._addLogObserver();
|
|
@@ -123,13 +122,15 @@ class FcrMainRoomControlImpl extends _.FcrBaseRoomControlImpl {
|
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
124
|
async moveToWaitingRoomByUserRoles() {
|
|
126
|
-
return this._api.moveToWaitingRoomByUserRoles([
|
|
125
|
+
return this._api.moveToWaitingRoomByUserRoles([_type.FcrUserRoleToStringMap[_type.FcrUserRole.PARTICIPANT]], this._scene.sceneId);
|
|
127
126
|
}
|
|
128
127
|
async _initAnnotationInfo() {
|
|
129
128
|
const roomId = this._scene.sceneId;
|
|
130
129
|
const userId = this._scene.localUser.getLocalUserId();
|
|
131
130
|
const boardOptions = (await this._getToken(roomId, userId)).data;
|
|
131
|
+
// @ts-ignore
|
|
132
132
|
if (localStorage) {
|
|
133
|
+
// @ts-ignore
|
|
133
134
|
localStorage.setItem('board_options', JSON.stringify(boardOptions));
|
|
134
135
|
}
|
|
135
136
|
}
|