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
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
9
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
10
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
11
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
12
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -27,9 +22,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
27
22
|
value: true
|
|
28
23
|
});
|
|
29
24
|
exports.FcrWhiteboardControlImpl = exports.FcrStandaloneWhiteboardControlImpl = void 0;
|
|
30
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
31
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
32
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
25
|
var _imports = require("../../../imports");
|
|
34
26
|
var _schema = require("../../../schema");
|
|
35
27
|
var _type = require("../../../type");
|
|
@@ -43,34 +35,33 @@ var _type3 = require("../../whiteboard-control/type");
|
|
|
43
35
|
var _base = require("../base");
|
|
44
36
|
var _constant = require("../constant");
|
|
45
37
|
var _utils = require("../utils");
|
|
46
|
-
|
|
47
|
-
let _initProto, _setBackgroundColorDecs, _ref, _initProto2;
|
|
48
|
-
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; }
|
|
49
|
-
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; }
|
|
38
|
+
let _initProto, _setBackgroundColorDecs, _initProto2;
|
|
50
39
|
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)]; } }; }
|
|
51
40
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
52
41
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
53
42
|
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
54
43
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
55
|
-
_ref = (_setBackgroundColorDecs = [(0, _imports.trace)(['backgroundColor']), (0, _validateParams.default)(_schema.stringSchema)], "logger");
|
|
56
44
|
class FcrWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
45
|
+
static {
|
|
46
|
+
[_initProto] = _applyDecs(this, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "release"], [_imports.trace, 2, "active"], [_imports.trace, 2, "inactive"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_imports.trace, 2, "getBackgroundColor"], [_imports.trace, 2, "getActivity"], [_imports.trace, 2, "getOwnerId"], [_imports.bound, 2, "_onScenePropertiesUpdated"]], [], 0, void 0, _base.FcrBaseWhiteboardControlImpl).e;
|
|
47
|
+
}
|
|
48
|
+
[(_setBackgroundColorDecs = [(0, _imports.trace)(['backgroundColor']), (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
49
|
+
prefix: 'FcrWhiteboardControlImpl'
|
|
50
|
+
}));
|
|
51
|
+
_backgroundColor = '#ffffff';
|
|
52
|
+
_isActive = false;
|
|
53
|
+
_ownerId = null;
|
|
54
|
+
_preloadLock = false;
|
|
55
|
+
_notifyObservers = {
|
|
56
|
+
onScenePropertiesUpdated: this._onScenePropertiesUpdated
|
|
57
|
+
};
|
|
57
58
|
constructor(rtmClient, config, sharedCache, boardRoomConfigFetcher, _scene, _api) {
|
|
58
59
|
super(rtmClient, config, boardRoomConfigFetcher, _api);
|
|
59
|
-
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
60
|
-
prefix: 'FcrWhiteboardControlImpl'
|
|
61
|
-
})));
|
|
62
|
-
(0, _defineProperty2.default)(this, "_backgroundColor", '#ffffff');
|
|
63
|
-
(0, _defineProperty2.default)(this, "_isActive", false);
|
|
64
|
-
(0, _defineProperty2.default)(this, "_ownerId", null);
|
|
65
|
-
(0, _defineProperty2.default)(this, "_preloadLock", false);
|
|
66
|
-
(0, _defineProperty2.default)(this, "_notifyObservers", {
|
|
67
|
-
onScenePropertiesUpdated: this._onScenePropertiesUpdated
|
|
68
|
-
});
|
|
69
60
|
this._scene = _scene;
|
|
70
61
|
this._api = _api;
|
|
71
62
|
this._roomCache = sharedCache.getRoomCache(config.roomId);
|
|
72
63
|
this._scene.addObserver(this._notifyObservers);
|
|
73
|
-
this.logger.info(
|
|
64
|
+
this.logger.info(`Whitebaord Version: forge-whiteboard@${(0, _packageInfo.getDependenciesInfo)('@netless/forge-whiteboard')}, forge-room@${(0, _packageInfo.getDependenciesInfo)('@netless/forge-room')}, forge-room@${(0, _packageInfo.getDependenciesInfo)('@netless/forge-rtm')}`);
|
|
74
65
|
this._isActive = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard').state === 1;
|
|
75
66
|
const backgroundColor = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard.extra.backgroundColor');
|
|
76
67
|
if (backgroundColor) {
|
|
@@ -121,9 +112,10 @@ class FcrWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
|
121
112
|
return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this.config.roomId, _type2.FcrSharePermissionState.OFF), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'inactive failed');
|
|
122
113
|
}
|
|
123
114
|
getBoardActiveInfo() {
|
|
124
|
-
const
|
|
125
|
-
state
|
|
126
|
-
ownerUserId
|
|
115
|
+
const {
|
|
116
|
+
state,
|
|
117
|
+
ownerUserUuid: ownerUserId
|
|
118
|
+
} = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard');
|
|
127
119
|
if (state === _type3.FcrBoardPropertiesState.ACTIVE) {
|
|
128
120
|
return {
|
|
129
121
|
isActive: true,
|
|
@@ -163,12 +155,11 @@ class FcrWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
|
163
155
|
const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
|
|
164
156
|
const getByKeyPath = value => this._scene.getScenePropertiesByKeyPath(value);
|
|
165
157
|
if (event.cause && event.cause.cmd === 10) {
|
|
166
|
-
var _getByKeyPath;
|
|
167
158
|
const causeData = event.cause.data;
|
|
168
|
-
if (causeData
|
|
159
|
+
if (causeData?.widgetUuid && causeData.widgetUuid !== 'netlessBoard') {
|
|
169
160
|
return;
|
|
170
161
|
}
|
|
171
|
-
const state =
|
|
162
|
+
const state = getByKeyPath('widgets.netlessBoard.state') ?? _type3.FcrBoardPropertiesState.INACTIVE;
|
|
172
163
|
const backgroundColor = getByKeyPath('widgets.netlessBoard.extra.backgroundColor');
|
|
173
164
|
const widgetCauseReason = (0, _imports.get)(event.cause.data, 'widgetCause.data.reason');
|
|
174
165
|
const widgetCauseCmd = (0, _imports.get)(event.cause.data, 'widgetCause.cmd');
|
|
@@ -196,22 +187,23 @@ class FcrWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
|
196
187
|
}
|
|
197
188
|
}
|
|
198
189
|
getWhiteboardOption() {
|
|
199
|
-
return
|
|
190
|
+
return {
|
|
191
|
+
...super.getWhiteboardOption(),
|
|
200
192
|
width: _utils.WHITEBOARD_WIDTH,
|
|
201
193
|
height: _utils.WHITEBOARD_HEIGHT
|
|
202
|
-
}
|
|
194
|
+
};
|
|
203
195
|
}
|
|
204
196
|
addLogObserver() {
|
|
205
197
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onConnectionStateUpdated', ['state']], ['onActive', ['ownerId', 'operatorUser']], ['onInactive', ['reason', 'operatorUser']], ['onBackgroundColorUpdated', ['color', 'operatorUser']]]));
|
|
206
198
|
}
|
|
207
199
|
}
|
|
208
200
|
exports.FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
|
|
209
|
-
_FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
|
|
210
|
-
var _applyDecs$e = (0, _slicedToArray2.default)(_applyDecs(_FcrWhiteboardControlImpl, [[_imports.trace, 2, "open"], [_imports.trace, 2, "close"], [_imports.trace, 2, "release"], [_imports.trace, 2, "active"], [_imports.trace, 2, "inactive"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [_imports.trace, 2, "getBackgroundColor"], [_imports.trace, 2, "getActivity"], [_imports.trace, 2, "getOwnerId"], [_imports.bound, 2, "_onScenePropertiesUpdated"]], [], 0, void 0, _base.FcrBaseWhiteboardControlImpl).e, 1);
|
|
211
|
-
_initProto = _applyDecs$e[0];
|
|
212
201
|
class FcrStandaloneWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlImpl {
|
|
213
|
-
|
|
214
|
-
|
|
202
|
+
static {
|
|
203
|
+
[_initProto2] = _applyDecs(this, [[_imports.trace, 2, "open"], [_imports.trace, 2, "release"]], [], 0, void 0, _base.FcrBaseWhiteboardControlImpl).e;
|
|
204
|
+
}
|
|
205
|
+
constructor(...args) {
|
|
206
|
+
super(...args);
|
|
215
207
|
_initProto2(this);
|
|
216
208
|
}
|
|
217
209
|
async open() {
|
|
@@ -224,15 +216,11 @@ class FcrStandaloneWhiteboardControlImpl extends _base.FcrBaseWhiteboardControlI
|
|
|
224
216
|
return _constant.WHITEBOARD_APP_ID;
|
|
225
217
|
}
|
|
226
218
|
getWhiteboardOption() {
|
|
227
|
-
return
|
|
219
|
+
return {
|
|
220
|
+
...super.getWhiteboardOption(),
|
|
228
221
|
width: _utils.WHITEBOARD_WIDTH,
|
|
229
222
|
height: _utils.WHITEBOARD_HEIGHT
|
|
230
|
-
}
|
|
223
|
+
};
|
|
231
224
|
}
|
|
232
225
|
}
|
|
233
|
-
exports.FcrStandaloneWhiteboardControlImpl = FcrStandaloneWhiteboardControlImpl;
|
|
234
|
-
_FcrStandaloneWhiteboardControlImpl = FcrStandaloneWhiteboardControlImpl;
|
|
235
|
-
var _applyDecs$e2 = _applyDecs(_FcrStandaloneWhiteboardControlImpl, [[_imports.trace, 2, "open"], [_imports.trace, 2, "release"]], [], 0, void 0, _base.FcrBaseWhiteboardControlImpl).e;
|
|
236
|
-
var _applyDecs$e3 = (0, _slicedToArray2.default)(_applyDecs$e2, 1);
|
|
237
|
-
_initProto2 = _applyDecs$e3[0];
|
|
238
|
-
_applyDecs$e2;
|
|
226
|
+
exports.FcrStandaloneWhiteboardControlImpl = FcrStandaloneWhiteboardControlImpl;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
9
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
10
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
11
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
12
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -22,14 +17,10 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
22
17
|
require("core-js/modules/esnext.map.some.js");
|
|
23
18
|
require("core-js/modules/esnext.map.update.js");
|
|
24
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
25
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
26
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
27
20
|
Object.defineProperty(exports, "__esModule", {
|
|
28
21
|
value: true
|
|
29
22
|
});
|
|
30
23
|
exports.FcrWhiteboardControlFactoryImpl = void 0;
|
|
31
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
32
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
24
|
var _log = require("agora-foundation/lib/decorator/log");
|
|
34
25
|
var _errorCode = require("agora-foundation/lib/utilities/error/error-code");
|
|
35
26
|
var _error = require("../../../utilities/error");
|
|
@@ -37,27 +28,24 @@ var _logger = require("../../../utilities/logger");
|
|
|
37
28
|
var _sharedStorage = require("../../../utilities/shared-storage");
|
|
38
29
|
var _control = require("./control");
|
|
39
30
|
var _sceneProperties = require("../../../utilities/scene-properties");
|
|
40
|
-
|
|
41
|
-
let _initProto, _createForSubProcessDecs, _createForMainProcessDecs, _ref;
|
|
42
|
-
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; }
|
|
43
|
-
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; }
|
|
31
|
+
let _initProto, _createForSubProcessDecs, _createForMainProcessDecs;
|
|
44
32
|
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)]; } }; }
|
|
45
33
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
46
34
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
47
35
|
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
48
36
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
49
|
-
_ref = (_createForSubProcessDecs = (0, _log.trace)(['rtmClient', 'boardConfig']), _createForMainProcessDecs = (0, _log.trace)(['rtmClient', 'boardConfig', 'scene', 'api', 'sharedCache']), "logger");
|
|
50
37
|
class FcrWhiteboardControlFactoryImpl {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
prefix: 'FcrWhiteboardControlFactory'
|
|
54
|
-
})));
|
|
38
|
+
static {
|
|
39
|
+
[_initProto] = _applyDecs(this, [[_createForSubProcessDecs, 2, "createForSubProcess"], [_createForMainProcessDecs, 2, "createForMainProcess"]], []).e;
|
|
55
40
|
}
|
|
41
|
+
[(_createForSubProcessDecs = (0, _log.trace)(['rtmClient', 'boardConfig']), _createForMainProcessDecs = (0, _log.trace)(['rtmClient', 'boardConfig', 'scene', 'api', 'sharedCache']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
42
|
+
prefix: 'FcrWhiteboardControlFactory'
|
|
43
|
+
}));
|
|
56
44
|
createForSubProcess(rtmClient, boardConfig) {
|
|
57
45
|
return new _control.FcrStandaloneWhiteboardControlImpl(rtmClient, boardConfig, () => {
|
|
58
46
|
const forgeInitConfig = (0, _sharedStorage.getWhiteboardOptions)();
|
|
59
47
|
if (!forgeInitConfig) {
|
|
60
|
-
throw (0, _error.generateFcrCoreClientError)(_errorCode.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _errorCode.DetailErrorCode.UNDEFINED_ERROR,
|
|
48
|
+
throw (0, _error.generateFcrCoreClientError)(_errorCode.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _errorCode.DetailErrorCode.UNDEFINED_ERROR, `whiteboard init config is not exist`);
|
|
61
49
|
}
|
|
62
50
|
return Promise.resolve(forgeInitConfig);
|
|
63
51
|
});
|
|
@@ -75,15 +63,11 @@ class FcrWhiteboardControlFactoryImpl {
|
|
|
75
63
|
};
|
|
76
64
|
return async () => {
|
|
77
65
|
const response = await getObjectInitConfig(roomId, userId);
|
|
78
|
-
return
|
|
66
|
+
return {
|
|
67
|
+
...response.data,
|
|
79
68
|
boardPerformance
|
|
80
|
-
}
|
|
69
|
+
};
|
|
81
70
|
};
|
|
82
71
|
}
|
|
83
72
|
}
|
|
84
|
-
exports.FcrWhiteboardControlFactoryImpl = FcrWhiteboardControlFactoryImpl;
|
|
85
|
-
_FcrWhiteboardControlFactoryImpl = FcrWhiteboardControlFactoryImpl;
|
|
86
|
-
var _applyDecs$e = _applyDecs(_FcrWhiteboardControlFactoryImpl, [[_createForSubProcessDecs, 2, "createForSubProcess"], [_createForMainProcessDecs, 2, "createForMainProcess"]], []).e;
|
|
87
|
-
var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
|
|
88
|
-
_initProto = _applyDecs$e2[0];
|
|
89
|
-
_applyDecs$e;
|
|
73
|
+
exports.FcrWhiteboardControlFactoryImpl = FcrWhiteboardControlFactoryImpl;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
7
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
@@ -19,20 +17,15 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
19
17
|
require("core-js/modules/esnext.map.some.js");
|
|
20
18
|
require("core-js/modules/esnext.map.update.js");
|
|
21
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
22
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
23
20
|
Object.defineProperty(exports, "__esModule", {
|
|
24
21
|
value: true
|
|
25
22
|
});
|
|
26
23
|
exports.FcrWidgetControlImpl = void 0;
|
|
27
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
29
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
30
24
|
var _imports = require("../../imports");
|
|
31
25
|
var _type = require("../../type");
|
|
32
26
|
var _error = require("../../utilities/error");
|
|
33
27
|
var _logger = require("../../utilities/logger");
|
|
34
|
-
|
|
35
|
-
let _initProto, _getActivityDecs, _activeDecs, _inactiveDecs, _ref;
|
|
28
|
+
let _initProto, _getActivityDecs, _activeDecs, _inactiveDecs;
|
|
36
29
|
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)]; } }; }
|
|
37
30
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
38
31
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -48,44 +41,46 @@ var WidgetState = /*#__PURE__*/function (WidgetState) {
|
|
|
48
41
|
/**
|
|
49
42
|
* @internal
|
|
50
43
|
*/
|
|
51
|
-
_ref = (_getActivityDecs = (0, _imports.trace)(['widgetId']), _activeDecs = (0, _imports.trace)(['widgetId']), _inactiveDecs = (0, _imports.trace)(['widgetId']), "logger");
|
|
52
44
|
class FcrWidgetControlImpl {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
45
|
+
static {
|
|
46
|
+
[_initProto] = _applyDecs(this, [[_getActivityDecs, 2, "getActivity"], [_activeDecs, 2, "active"], [_inactiveDecs, 2, "inactive"], [_imports.trace, 2, "release"]], []).e;
|
|
47
|
+
}
|
|
48
|
+
//@internal
|
|
49
|
+
[(_getActivityDecs = (0, _imports.trace)(['widgetId']), _activeDecs = (0, _imports.trace)(['widgetId']), _inactiveDecs = (0, _imports.trace)(['widgetId']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
50
|
+
prefix: 'FcrWidgetControlImpl'
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
//@internal
|
|
54
|
+
_observable = new _imports.AgoraObservable();
|
|
55
|
+
|
|
56
|
+
//@internal
|
|
57
|
+
_sceneObserver = {
|
|
58
|
+
onScenePropertiesUpdated: (sceneId, event) => {
|
|
59
|
+
if (event.cause?.cmd !== WIDGET_SCENE_PROPERTIES_CMD) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const changedWidgets = event.changedProperties?.flexWidgets;
|
|
63
|
+
if (!changedWidgets || typeof changedWidgets !== 'object') {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
for (const widgetId of Object.keys(changedWidgets)) {
|
|
67
|
+
const state = changedWidgets[widgetId]?.state;
|
|
68
|
+
if (state === WidgetState.ACTIVE) {
|
|
69
|
+
this._observable.notifyObservers('onWidgetActive', sceneId, widgetId);
|
|
70
|
+
} else if (state === WidgetState.INACTIVE) {
|
|
71
|
+
this._observable.notifyObservers('onWidgetInactive', sceneId, widgetId);
|
|
79
72
|
}
|
|
80
73
|
}
|
|
81
|
-
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
constructor(_scene, _api, _sharedCache) {
|
|
82
77
|
this._scene = _scene;
|
|
83
78
|
this._api = _api;
|
|
84
79
|
this._scene.addObserver(this._sceneObserver);
|
|
85
80
|
this._addLogObserver();
|
|
86
81
|
}
|
|
87
82
|
getActivity(widgetId) {
|
|
88
|
-
const state = this._scene.getScenePropertiesByKeyPath(
|
|
83
|
+
const state = this._scene.getScenePropertiesByKeyPath(`flexWidgets.${widgetId}.state`);
|
|
89
84
|
return state === WidgetState.ACTIVE;
|
|
90
85
|
}
|
|
91
86
|
active(widgetId) {
|
|
@@ -117,9 +112,4 @@ class FcrWidgetControlImpl {
|
|
|
117
112
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onWidgetActive', ['roomId', 'widgetId']], ['onWidgetInactive', ['roomId', 'widgetId']]]));
|
|
118
113
|
}
|
|
119
114
|
}
|
|
120
|
-
exports.FcrWidgetControlImpl = FcrWidgetControlImpl;
|
|
121
|
-
_FcrWidgetControlImpl = FcrWidgetControlImpl;
|
|
122
|
-
var _applyDecs$e = _applyDecs(_FcrWidgetControlImpl, [[_getActivityDecs, 2, "getActivity"], [_activeDecs, 2, "active"], [_inactiveDecs, 2, "inactive"], [_imports.trace, 2, "release"]], []).e;
|
|
123
|
-
var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
|
|
124
|
-
_initProto = _applyDecs$e2[0];
|
|
125
|
-
_applyDecs$e;
|
|
115
|
+
exports.FcrWidgetControlImpl = FcrWidgetControlImpl;
|
package/lib/room-router/index.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
3
|
require("core-js/modules/es.array.push.js");
|
|
5
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
9
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
10
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
11
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -21,16 +17,11 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
21
17
|
require("core-js/modules/esnext.map.some.js");
|
|
22
18
|
require("core-js/modules/esnext.map.update.js");
|
|
23
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
24
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
25
20
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
26
21
|
Object.defineProperty(exports, "__esModule", {
|
|
27
22
|
value: true
|
|
28
23
|
});
|
|
29
24
|
exports.FcrRoomRouterImpl = void 0;
|
|
30
|
-
require("core-js/modules/es.error.cause.js");
|
|
31
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
32
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
33
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
34
25
|
var _imports = require("../imports");
|
|
35
26
|
var _roomControlFactory = require("../room-control/room-control-factory");
|
|
36
27
|
var _type = require("../room-control/type");
|
|
@@ -43,10 +34,7 @@ var _logger = require("../utilities/logger");
|
|
|
43
34
|
var _validateParams = _interopRequireDefault(require("../utilities/validate-params"));
|
|
44
35
|
var _type3 = require("./type");
|
|
45
36
|
var _convertRoomType = require("../utilities/convertRoomType");
|
|
46
|
-
|
|
47
|
-
let _initProto, _initDecs, _joinRoomDecs, _ref;
|
|
48
|
-
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; }
|
|
49
|
-
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; }
|
|
37
|
+
let _initProto, _initDecs, _joinRoomDecs;
|
|
50
38
|
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)]; } }; }
|
|
51
39
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
52
40
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -55,30 +43,34 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
55
43
|
/**
|
|
56
44
|
* @internal
|
|
57
45
|
*/
|
|
58
|
-
|
|
46
|
+
|
|
59
47
|
class FcrRoomRouterImpl {
|
|
48
|
+
static {
|
|
49
|
+
[_initProto] = _applyDecs(this, [[_initDecs, 2, "_init"], [_joinRoomDecs, 2, "joinRoom"], [_imports.trace, 2, "leaveRoom"]], []).e;
|
|
50
|
+
}
|
|
51
|
+
[(_initDecs = [(0, _imports.trace)(['roomId']), (0, _validateParams.default)(_schema.stringSchema)], _joinRoomDecs = [(0, _imports.trace)(['options']), (0, _validateParams.default)(_schema.fcrRoomJoinOptionsSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
52
|
+
prefix: 'FcrRoomRouterImpl'
|
|
53
|
+
}));
|
|
54
|
+
_abortController = null;
|
|
55
|
+
_observable = new _imports.AgoraObservable();
|
|
56
|
+
_roomControlObservable = {
|
|
57
|
+
onRoomRouteSwitched: async event => {
|
|
58
|
+
this._nextRoomRoute = event.targetRouting;
|
|
59
|
+
this._observable.notifyObservers('onRoomRouteSwitched', this._nextRoomRoute);
|
|
60
|
+
this.roomControl.removeObserver(this._roomControlObservable);
|
|
61
|
+
this._roomControl = null;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
_roomControl = null;
|
|
65
|
+
_nextRoomRoute = {
|
|
66
|
+
roomId: '',
|
|
67
|
+
roomType: _type.FcrRoomType.Mainroom,
|
|
68
|
+
isJoined: false
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// 接口中新增一个bypass字段,在第一次调用joinRoom的时候不传,在后续收到房间切换后的joinRoom时传true
|
|
72
|
+
_bypass = undefined;
|
|
60
73
|
constructor(_rteEngine, _apiService, _config, _chatConnection, _sharedCache, roomId, _monitorControl) {
|
|
61
|
-
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
62
|
-
prefix: 'FcrRoomRouterImpl'
|
|
63
|
-
})));
|
|
64
|
-
(0, _defineProperty2.default)(this, "_abortController", null);
|
|
65
|
-
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
66
|
-
(0, _defineProperty2.default)(this, "_roomControlObservable", {
|
|
67
|
-
onRoomRouteSwitched: async event => {
|
|
68
|
-
this._nextRoomRoute = event.targetRouting;
|
|
69
|
-
this._observable.notifyObservers('onRoomRouteSwitched', this._nextRoomRoute);
|
|
70
|
-
this.roomControl.removeObserver(this._roomControlObservable);
|
|
71
|
-
this._roomControl = null;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
(0, _defineProperty2.default)(this, "_roomControl", null);
|
|
75
|
-
(0, _defineProperty2.default)(this, "_nextRoomRoute", {
|
|
76
|
-
roomId: '',
|
|
77
|
-
roomType: _type.FcrRoomType.Mainroom,
|
|
78
|
-
isJoined: false
|
|
79
|
-
});
|
|
80
|
-
// 接口中新增一个bypass字段,在第一次调用joinRoom的时候不传,在后续收到房间切换后的joinRoom时传true
|
|
81
|
-
(0, _defineProperty2.default)(this, "_bypass", undefined);
|
|
82
74
|
this._rteEngine = _rteEngine;
|
|
83
75
|
this._apiService = _apiService;
|
|
84
76
|
this._config = _config;
|
|
@@ -106,9 +98,7 @@ class FcrRoomRouterImpl {
|
|
|
106
98
|
async joinRoom(options) {
|
|
107
99
|
this._abortController = new AbortController();
|
|
108
100
|
this._validateRoomJoinState();
|
|
109
|
-
const
|
|
110
|
-
_await$to2 = (0, _slicedToArray2.default)(_await$to, 1),
|
|
111
|
-
error = _await$to2[0];
|
|
101
|
+
const [error] = await (0, _imports.to)(this._executeJoinRoomWithRetry(options));
|
|
112
102
|
this._abortController = null;
|
|
113
103
|
if (error) {
|
|
114
104
|
this._handleJoinRoomError(error);
|
|
@@ -120,10 +110,9 @@ class FcrRoomRouterImpl {
|
|
|
120
110
|
return Promise.resolve(this._roomControl);
|
|
121
111
|
}
|
|
122
112
|
async leaveRoom() {
|
|
123
|
-
|
|
124
|
-
(_this$_abortControlle = this._abortController) === null || _this$_abortControlle === void 0 || _this$_abortControlle.abort();
|
|
113
|
+
this._abortController?.abort();
|
|
125
114
|
this._abortController = null;
|
|
126
|
-
|
|
115
|
+
this._roomControl?.leave();
|
|
127
116
|
this._roomControl = null;
|
|
128
117
|
return _type2.FcrReturnCode.SUCCESS;
|
|
129
118
|
}
|
|
@@ -146,10 +135,11 @@ class FcrRoomRouterImpl {
|
|
|
146
135
|
const abortController = this._abortController;
|
|
147
136
|
return (0, _imports.retryAttempt)(() => this._performSingleJoinAttempt(options), [], {
|
|
148
137
|
retriesMax: _type3.ROOM_ROUTER_CONSTANTS.MAX_JOIN_ATTEMPTS
|
|
149
|
-
}).fail(async
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
138
|
+
}).fail(async ({
|
|
139
|
+
error,
|
|
140
|
+
timeFn: waitBeforeRetry,
|
|
141
|
+
currentRetry: attemptCount
|
|
142
|
+
}) => {
|
|
153
143
|
return (0, _joinHelper.handleJoinRetryFailure)(error, waitBeforeRetry, attemptCount, _retryHelpers.canRetryJoinError, () => {
|
|
154
144
|
this._throwIfAborted(abortController);
|
|
155
145
|
}, 'join room via router');
|
|
@@ -174,15 +164,17 @@ class FcrRoomRouterImpl {
|
|
|
174
164
|
* @private
|
|
175
165
|
*/
|
|
176
166
|
async _performCheckIn(options) {
|
|
177
|
-
const
|
|
178
|
-
userId
|
|
167
|
+
const {
|
|
168
|
+
userId
|
|
169
|
+
} = this._rteEngine.getConfig();
|
|
179
170
|
const checkInParams = _joinHelper.FcrJoinHelper.buildCheckInParams(options, userId, this._nextRoomRoute.roomId, {
|
|
180
171
|
bypass: this._bypass,
|
|
181
172
|
avatar: options.avatar
|
|
182
173
|
});
|
|
183
|
-
const
|
|
184
|
-
data
|
|
185
|
-
ts
|
|
174
|
+
const {
|
|
175
|
+
data,
|
|
176
|
+
ts
|
|
177
|
+
} = await (0, _error.handleRequestError)(() => this._apiService.checkIn(checkInParams), _imports.ErrorModuleCode.FCR_ENGINE);
|
|
186
178
|
return {
|
|
187
179
|
data,
|
|
188
180
|
ts
|
|
@@ -194,19 +186,22 @@ class FcrRoomRouterImpl {
|
|
|
194
186
|
* @private
|
|
195
187
|
*/
|
|
196
188
|
async _joinRoomControl(options, roomResponse) {
|
|
197
|
-
const
|
|
198
|
-
|
|
189
|
+
const {
|
|
190
|
+
data,
|
|
191
|
+
ts
|
|
192
|
+
} = roomResponse;
|
|
199
193
|
const abortController = this._abortController;
|
|
200
194
|
const roomControl = this._createRoomControl(data);
|
|
201
|
-
abortController
|
|
195
|
+
abortController?.signal.addEventListener('abort', () => {
|
|
202
196
|
roomControl.leave();
|
|
203
197
|
});
|
|
204
|
-
await roomControl.join(
|
|
198
|
+
await roomControl.join({
|
|
199
|
+
...options,
|
|
205
200
|
snapshot: data,
|
|
206
201
|
timestamp: ts,
|
|
207
202
|
createStreamConfigs: options.createStreamConfigs,
|
|
208
203
|
roomToken: options.roomToken || this._config.token
|
|
209
|
-
})
|
|
204
|
+
});
|
|
210
205
|
return roomControl;
|
|
211
206
|
}
|
|
212
207
|
|
|
@@ -215,10 +210,12 @@ class FcrRoomRouterImpl {
|
|
|
215
210
|
* @private
|
|
216
211
|
*/
|
|
217
212
|
_updateRoomState(roomResponse, roomControl) {
|
|
218
|
-
const
|
|
213
|
+
const {
|
|
214
|
+
data
|
|
215
|
+
} = roomResponse;
|
|
219
216
|
const fcrRoomType = (0, _convertRoomType.convertServerRoomTypeToFcrRoomType)(data.room.roomProperties.roomType);
|
|
220
217
|
if (fcrRoomType === null) {
|
|
221
|
-
const fcrError = (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM, _imports.DetailErrorCode.UNDEFINED_ERROR,
|
|
218
|
+
const fcrError = (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM, _imports.DetailErrorCode.UNDEFINED_ERROR, `update room state failed: Unknown room type: ${data.room.roomProperties.roomType}`);
|
|
222
219
|
throw fcrError;
|
|
223
220
|
}
|
|
224
221
|
this._nextRoomRoute = {
|
|
@@ -237,8 +234,8 @@ class FcrRoomRouterImpl {
|
|
|
237
234
|
* @private
|
|
238
235
|
*/
|
|
239
236
|
_handleJoinRoomError(error) {
|
|
240
|
-
this.logger.error(
|
|
241
|
-
const fcrError = (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM, _imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED,
|
|
237
|
+
this.logger.error(`Failed to join the room: ${error.message}`);
|
|
238
|
+
const fcrError = (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM, _imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, `join room failed: ${error.message}`);
|
|
242
239
|
this._observable.notifyObservers('onErrorOccurred', fcrError);
|
|
243
240
|
}
|
|
244
241
|
|
|
@@ -264,7 +261,7 @@ class FcrRoomRouterImpl {
|
|
|
264
261
|
});
|
|
265
262
|
}
|
|
266
263
|
_throwIfAborted(abortController) {
|
|
267
|
-
if (abortController
|
|
264
|
+
if (abortController?.signal.aborted) {
|
|
268
265
|
throw new Error('Join room attempt aborted');
|
|
269
266
|
}
|
|
270
267
|
}
|
|
@@ -278,9 +275,4 @@ class FcrRoomRouterImpl {
|
|
|
278
275
|
this._observable.removeObserver(observer);
|
|
279
276
|
}
|
|
280
277
|
}
|
|
281
|
-
exports.FcrRoomRouterImpl = FcrRoomRouterImpl;
|
|
282
|
-
_FcrRoomRouterImpl = FcrRoomRouterImpl;
|
|
283
|
-
var _applyDecs$e = _applyDecs(_FcrRoomRouterImpl, [[_initDecs, 2, "_init"], [_joinRoomDecs, 2, "joinRoom"], [_imports.trace, 2, "leaveRoom"]], []).e;
|
|
284
|
-
var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
|
|
285
|
-
_initProto = _applyDecs$e2[0];
|
|
286
|
-
_applyDecs$e;
|
|
278
|
+
exports.FcrRoomRouterImpl = FcrRoomRouterImpl;
|