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.
Files changed (127) hide show
  1. package/lib/engine/index.js +108 -102
  2. package/lib/imports.js +0 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/media-control/desktop.js +13 -22
  5. package/lib/media-control/mobile.js +13 -22
  6. package/lib/monitor-control/index.js +7 -17
  7. package/lib/peer-session/index.js +121 -120
  8. package/lib/plugins/chat/chatroom.js +96 -119
  9. package/lib/plugins/chat/connector.js +48 -69
  10. package/lib/remote-control/index.js +216 -194
  11. package/lib/room-control/ability-control/index.js +10 -20
  12. package/lib/room-control/application-control/index.js +75 -82
  13. package/lib/room-control/group-control/index.js +30 -31
  14. package/lib/room-control/helpers/board-init-info-helper.js +10 -16
  15. package/lib/room-control/helpers/validation-helper.js +1 -1
  16. package/lib/room-control/index.js +51 -70
  17. package/lib/room-control/infinity-room-control/index.js +19 -27
  18. package/lib/room-control/interpreter-control/index.js +65 -77
  19. package/lib/room-control/interpreter-control/room.js +4 -6
  20. package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
  21. package/lib/room-control/mainroom-control/index.js +25 -37
  22. package/lib/room-control/privilege-control/helper.js +13 -28
  23. package/lib/room-control/privilege-control/index.js +28 -36
  24. package/lib/room-control/room-connector-control/index.js +47 -52
  25. package/lib/room-control/room-control-factory.js +12 -10
  26. package/lib/room-control/room-session/index.js +74 -77
  27. package/lib/room-control/shared-cache.js +56 -63
  28. package/lib/room-control/sharing-control/index.js +57 -65
  29. package/lib/room-control/stream-control/index.js +238 -203
  30. package/lib/room-control/stream-control/type.d.ts +11 -1
  31. package/lib/room-control/stt-control/de-compress-gzip.js +0 -10
  32. package/lib/room-control/stt-control/index.js +86 -93
  33. package/lib/room-control/user-control/index.js +155 -162
  34. package/lib/room-control/waitingroom-control/index.js +9 -18
  35. package/lib/room-control/whiteboard-control/utils.js +2 -4
  36. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
  37. package/lib/room-control/whiteboard-control-v1/board-window.js +103 -120
  38. package/lib/room-control/whiteboard-control-v1/factory.js +4 -7
  39. package/lib/room-control/whiteboard-control-v1/index.js +67 -80
  40. package/lib/room-control/whiteboard-control-v1/mount-manager.js +2 -4
  41. package/lib/room-control/whiteboard-control-v1/utils.js +14 -17
  42. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +10 -14
  43. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -17
  44. package/lib/room-control/whiteboard-control-v2/base/index.js +53 -61
  45. package/lib/room-control/whiteboard-control-v2/base/main-window.js +30 -39
  46. package/lib/room-control/whiteboard-control-v2/utils.js +10 -10
  47. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
  48. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -27
  49. package/lib/room-control/widget-control/index.js +33 -43
  50. package/lib/room-router/index.js +58 -66
  51. package/lib/service/api.js +548 -446
  52. package/lib/struct.js +2 -5
  53. package/lib/type.d.ts +1 -1
  54. package/lib/utilities/abortable-retry.js +0 -3
  55. package/lib/utilities/collection.js +11 -15
  56. package/lib/utilities/error-helpers.js +27 -34
  57. package/lib/utilities/error.js +3 -4
  58. package/lib/utilities/join-helper.js +31 -37
  59. package/lib/utilities/logger.js +5 -8
  60. package/lib/utilities/parameters.js +10 -21
  61. package/lib/utilities/retry-helpers.js +0 -1
  62. package/lib/utilities/stream.js +11 -16
  63. package/lib/utilities/user.js +3 -4
  64. package/lib/utilities/validate-params.js +1 -1
  65. package/lib/utilities/video-encoder-config.js +5 -10
  66. package/lib-es/engine/index.js +108 -102
  67. package/lib-es/media-control/desktop.js +13 -22
  68. package/lib-es/media-control/mobile.js +13 -22
  69. package/lib-es/monitor-control/index.js +7 -16
  70. package/lib-es/peer-session/index.js +121 -120
  71. package/lib-es/plugins/chat/chatroom.js +95 -118
  72. package/lib-es/plugins/chat/connector.js +47 -67
  73. package/lib-es/remote-control/index.js +216 -194
  74. package/lib-es/room-control/ability-control/index.js +10 -19
  75. package/lib-es/room-control/application-control/index.js +75 -81
  76. package/lib-es/room-control/group-control/index.js +30 -31
  77. package/lib-es/room-control/helpers/board-init-info-helper.js +10 -15
  78. package/lib-es/room-control/helpers/validation-helper.js +1 -1
  79. package/lib-es/room-control/index.js +51 -69
  80. package/lib-es/room-control/infinity-room-control/index.js +19 -26
  81. package/lib-es/room-control/interpreter-control/index.js +65 -77
  82. package/lib-es/room-control/interpreter-control/room.js +4 -5
  83. package/lib-es/room-control/join-before-host-waitingroom-control/index.js +4 -5
  84. package/lib-es/room-control/mainroom-control/index.js +25 -37
  85. package/lib-es/room-control/privilege-control/helper.js +13 -27
  86. package/lib-es/room-control/privilege-control/index.js +28 -36
  87. package/lib-es/room-control/room-connector-control/index.js +47 -52
  88. package/lib-es/room-control/room-control-factory.js +12 -10
  89. package/lib-es/room-control/room-session/index.js +74 -77
  90. package/lib-es/room-control/shared-cache.js +56 -62
  91. package/lib-es/room-control/sharing-control/index.js +57 -64
  92. package/lib-es/room-control/stream-control/index.js +240 -205
  93. package/lib-es/room-control/stt-control/de-compress-gzip.js +0 -10
  94. package/lib-es/room-control/stt-control/index.js +86 -93
  95. package/lib-es/room-control/user-control/index.js +155 -162
  96. package/lib-es/room-control/waitingroom-control/index.js +9 -18
  97. package/lib-es/room-control/whiteboard-control/utils.js +2 -4
  98. package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
  99. package/lib-es/room-control/whiteboard-control-v1/board-window.js +103 -120
  100. package/lib-es/room-control/whiteboard-control-v1/factory.js +4 -6
  101. package/lib-es/room-control/whiteboard-control-v1/index.js +67 -80
  102. package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +2 -3
  103. package/lib-es/room-control/whiteboard-control-v1/utils.js +14 -17
  104. package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +10 -13
  105. package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -16
  106. package/lib-es/room-control/whiteboard-control-v2/base/index.js +53 -60
  107. package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +30 -39
  108. package/lib-es/room-control/whiteboard-control-v2/utils.js +10 -10
  109. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
  110. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -26
  111. package/lib-es/room-control/widget-control/index.js +33 -42
  112. package/lib-es/room-router/index.js +58 -66
  113. package/lib-es/service/api.js +548 -445
  114. package/lib-es/struct.js +2 -4
  115. package/lib-es/utilities/abortable-retry.js +0 -3
  116. package/lib-es/utilities/collection.js +11 -14
  117. package/lib-es/utilities/error-helpers.js +26 -33
  118. package/lib-es/utilities/error.js +3 -4
  119. package/lib-es/utilities/join-helper.js +29 -36
  120. package/lib-es/utilities/logger.js +5 -7
  121. package/lib-es/utilities/parameters.js +10 -21
  122. package/lib-es/utilities/retry-helpers.js +0 -1
  123. package/lib-es/utilities/stream.js +11 -15
  124. package/lib-es/utilities/user.js +3 -4
  125. package/lib-es/utilities/validate-params.js +1 -1
  126. package/lib-es/utilities/video-encoder-config.js +5 -10
  127. package/package.json +4 -4
@@ -1,11 +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.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");
@@ -23,7 +19,6 @@ require("core-js/modules/esnext.map.update.js");
23
19
  require("core-js/modules/esnext.symbol.metadata.js");
24
20
  require("core-js/modules/esnext.weak-map.delete-all.js");
25
21
  require("core-js/modules/esnext.weak-map.emplace.js");
26
- require("core-js/modules/web.dom-collections.iterator.js");
27
22
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
28
23
  Object.defineProperty(exports, "__esModule", {
29
24
  value: true
@@ -31,8 +26,6 @@ Object.defineProperty(exports, "__esModule", {
31
26
  exports.FcrWhiteboardControlImpl = void 0;
32
27
  require("core-js/modules/esnext.iterator.constructor.js");
33
28
  require("core-js/modules/esnext.iterator.map.js");
34
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
35
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
36
29
  var _appSlide = _interopRequireDefault(require("@netless/app-slide"));
37
30
  var _appliancePlugin = require("@netless/appliance-plugin");
38
31
  var netlessVideoPlugin = _interopRequireWildcard(require("@netless/video-js-plugin"));
@@ -51,11 +44,8 @@ var _type2 = require("../sharing-control/type");
51
44
  var _type3 = require("../whiteboard-control/type");
52
45
  var _boardWindow = require("./board-window");
53
46
  var _utils = require("./utils");
54
- var _FcrWhiteboardControlImpl;
55
- let _initProto, _openDecs, _setBackgroundColorDecs, _setOperationPrivilegeDecs, _setBoardWritableDecs, _ref;
47
+ let _initProto, _openDecs, _setBackgroundColorDecs, _setOperationPrivilegeDecs, _setBoardWritableDecs;
56
48
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
57
- 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; }
58
- 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; }
59
49
  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)]; } }; }
60
50
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
61
51
  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); }
@@ -64,20 +54,22 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
64
54
  /**
65
55
  * @internal
66
56
  */
67
- _ref = (_openDecs = [_decorator.bound, (0, _imports.trace)(['params'])], _setBackgroundColorDecs = [_decorator.bound, (0, _imports.trace)(['backgroundColor'])], _setOperationPrivilegeDecs = [_decorator.bound, (0, _imports.trace)(['hasPrivilege'])], _setBoardWritableDecs = (0, _imports.trace)(['granted']), "logger");
68
57
  class FcrWhiteboardControlImpl {
58
+ static {
59
+ [_initProto] = _applyDecs(this, [[[_decorator.bound, _imports.trace], 2, "active"], [[_decorator.bound, _imports.trace], 2, "inactive"], [_openDecs, 2, "open"], [[_decorator.bound, _imports.trace], 2, "close"], [[_decorator.bound, _imports.trace], 2, "release"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [[_decorator.bound, _imports.trace], 2, "getActivity"], [[_decorator.bound, _imports.trace], 2, "getOwnerId"], [[_decorator.bound, _imports.trace], 2, "getBackgroundColor"], [[_decorator.bound, _imports.trace], 2, "getConnectionState"], [[_decorator.bound, _imports.trace], 2, "getMainWindow"], [[_decorator.bound, _imports.trace], 2, "addObserver"], [[_decorator.bound, _imports.trace], 2, "removeObserver"], [[_decorator.bound, _imports.trace], 2, "getBoardActiveInfo"], [[_decorator.bound, _imports.trace], 2, "hasOperationPrivilege"], [_setOperationPrivilegeDecs, 2, "setOperationPrivilege"], [_setBoardWritableDecs, 2, "_setBoardWritable"], [_decorator.bound, 2, "_getToken"], [_decorator.bound, 2, "_handleRoomStateUpdated"], [_decorator.bound, 2, "_updateConnnectionState"], [_decorator.bound, 2, "_handleConnectionStateUpdated"], [_imports.trace, 2, "_connect"], [_imports.trace, 2, "_clean"]], []).e;
60
+ }
61
+ [(_openDecs = [_decorator.bound, (0, _imports.trace)(['params'])], _setBackgroundColorDecs = [_decorator.bound, (0, _imports.trace)(['backgroundColor'])], _setOperationPrivilegeDecs = [_decorator.bound, (0, _imports.trace)(['hasPrivilege'])], _setBoardWritableDecs = (0, _imports.trace)(['granted']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
62
+ prefix: 'FcrWhiteboardControlImpl'
63
+ }));
64
+ _client = {};
65
+ _joined = false;
66
+ _connectState = _2.FcrConnectionState.DISCONNECTED;
67
+ _observable = new _observable.AgoraObservable();
68
+ _options = {
69
+ debug: false
70
+ };
71
+ _hasOperationPrivilege = false;
69
72
  constructor(_scene, _api, _sharedCache, hasOperationPrivilege) {
70
- (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
71
- prefix: 'FcrWhiteboardControlImpl'
72
- })));
73
- (0, _defineProperty2.default)(this, "_client", {});
74
- (0, _defineProperty2.default)(this, "_joined", false);
75
- (0, _defineProperty2.default)(this, "_connectState", _2.FcrConnectionState.DISCONNECTED);
76
- (0, _defineProperty2.default)(this, "_observable", new _observable.AgoraObservable());
77
- (0, _defineProperty2.default)(this, "_options", {
78
- debug: false
79
- });
80
- (0, _defineProperty2.default)(this, "_hasOperationPrivilege", false);
81
73
  this._scene = _scene;
82
74
  this._api = _api;
83
75
  this._sharedCache = _sharedCache;
@@ -86,26 +78,26 @@ class FcrWhiteboardControlImpl {
86
78
  this._addLogObserver();
87
79
  _scene.addObserver({
88
80
  onScenePropertiesUpdated: (_, event) => {
89
- var _event$cause;
90
81
  const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
91
- if (((_event$cause = event.cause) === null || _event$cause === void 0 ? void 0 : _event$cause.cmd) === 10) {
92
- var _ref3, _event$cause$data$wid2;
93
- const _ref2 = (_ref3 = _scene.getScenePropertiesByKeyPath('widgets.netlessBoard')) !== null && _ref3 !== void 0 ? _ref3 : {
94
- state: 0,
95
- extra: {
96
- backgroundColor: '#fff'
97
- }
98
- },
99
- state = _ref2.state,
100
- bgColor = _ref2.extra.backgroundColor;
82
+ if (event.cause?.cmd === 10) {
83
+ const {
84
+ state,
85
+ extra: {
86
+ backgroundColor: bgColor
87
+ }
88
+ } = _scene.getScenePropertiesByKeyPath('widgets.netlessBoard') ?? {
89
+ state: 0,
90
+ extra: {
91
+ backgroundColor: '#fff'
92
+ }
93
+ };
101
94
  if (state === 1) {
102
95
  this._observable.notifyObservers('onActive', _scene.getScenePropertiesByKeyPath('widgets.netlessBoard').ownerUserUuid, operatorUser);
103
96
  }
104
97
  if (state === 0) {
105
- var _event$cause$data$wid;
106
- this._observable.notifyObservers('onInactive', (_event$cause$data$wid = event.cause.data.widgetCause) === null || _event$cause$data$wid === void 0 || (_event$cause$data$wid = _event$cause$data$wid.data) === null || _event$cause$data$wid === void 0 ? void 0 : _event$cause$data$wid.reason, operatorUser);
98
+ this._observable.notifyObservers('onInactive', event.cause.data.widgetCause?.data?.reason, operatorUser);
107
99
  }
108
- if (((_event$cause$data$wid2 = event.cause.data.widgetCause) === null || _event$cause$data$wid2 === void 0 ? void 0 : _event$cause$data$wid2.cmd) === 100101) {
100
+ if (event.cause.data.widgetCause?.cmd === 100101) {
109
101
  this._observable.notifyObservers('onBackgroundColorUpdated', bgColor, operatorUser);
110
102
  }
111
103
  }
@@ -122,8 +114,7 @@ class FcrWhiteboardControlImpl {
122
114
  async inactive() {
123
115
  return (0, _error.handleRequestError)(() => this._api.toggleWhiteboardActivityState(this._scene.sceneId, _type2.FcrSharePermissionState.OFF), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'inactive failed');
124
116
  }
125
- async open() {
126
- let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
117
+ async open(params = {}) {
127
118
  this._whiteboardPrivateParameters = params;
128
119
  // 白板权限禁用状态下,主持人和联席主持人仍然可以发起共享,所以,不能根据是否禁用状态直接拒绝
129
120
 
@@ -174,12 +165,13 @@ class FcrWhiteboardControlImpl {
174
165
  return _type.FcrReturnCode.SUCCESS;
175
166
  }
176
167
  getBoardActiveInfo() {
177
- const _ref4 = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard') || {
178
- isActive: false,
179
- ownerUserUuid: null
180
- },
181
- state = _ref4.state,
182
- ownerUserId = _ref4.ownerUserUuid;
168
+ const {
169
+ state,
170
+ ownerUserUuid: ownerUserId
171
+ } = this._scene.getScenePropertiesByKeyPath('widgets.netlessBoard') || {
172
+ isActive: false,
173
+ ownerUserUuid: null
174
+ };
183
175
  if (state === _type3.FcrBoardPropertiesState.ACTIVE) {
184
176
  return {
185
177
  isActive: true,
@@ -248,25 +240,23 @@ class FcrWhiteboardControlImpl {
248
240
  }), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, 'get whiteboard token failed');
249
241
  }
250
242
  _handleRoomStateUpdated(state) {
251
- const memberState = state.memberState;
243
+ const {
244
+ memberState
245
+ } = state;
252
246
  if (memberState) {
253
- const strokeColor = memberState.strokeColor,
254
- strokeWidth = memberState.strokeWidth,
255
- currentApplianceName = memberState.currentApplianceName,
256
- textSize = memberState.textSize,
257
- shapeType = memberState.shapeType;
247
+ const {
248
+ strokeColor,
249
+ strokeWidth,
250
+ currentApplianceName,
251
+ textSize,
252
+ shapeType
253
+ } = memberState;
258
254
  const localState = {};
259
- const _convertToFcrBoardToo = (0, _utils.convertToFcrBoardToolShape)(currentApplianceName, shapeType),
260
- _convertToFcrBoardToo2 = (0, _slicedToArray2.default)(_convertToFcrBoardToo, 2),
261
- tool = _convertToFcrBoardToo2[0],
262
- shape = _convertToFcrBoardToo2[1];
255
+ const [tool, shape] = (0, _utils.convertToFcrBoardToolShape)(currentApplianceName, shapeType);
263
256
  localState.tool = tool;
264
257
  localState.shape = shape;
265
258
  if (typeof strokeColor !== 'undefined') {
266
- const _strokeColor = (0, _slicedToArray2.default)(strokeColor, 3),
267
- r = _strokeColor[0],
268
- g = _strokeColor[1],
269
- b = _strokeColor[2];
259
+ const [r, g, b] = strokeColor;
270
260
  localState.strokeColor = {
271
261
  r,
272
262
  g,
@@ -322,21 +312,22 @@ class FcrWhiteboardControlImpl {
322
312
  }
323
313
  async _connect() {
324
314
  try {
325
- var _this$_scene$getUser, _this$_whiteboardPriv, _this$_whiteboardPriv2, _this$_whiteboardPriv3, _this$_whiteboardPriv4;
326
315
  this._updateConnnectionState(_2.FcrConnectionState.CONNECTING);
327
316
  const roomId = this._scene.sceneId;
328
317
  const userId = this._scene.localUser.getLocalUserId();
329
- const cursorName = (_this$_scene$getUser = this._scene.getUser(userId)) === null || _this$_scene$getUser === void 0 ? void 0 : _this$_scene$getUser.userName;
330
- const syncMode = (_this$_whiteboardPriv = (_this$_whiteboardPriv2 = this._whiteboardPrivateParameters) === null || _this$_whiteboardPriv2 === void 0 ? void 0 : _this$_whiteboardPriv2.syncMode) !== null && _this$_whiteboardPriv !== void 0 ? _this$_whiteboardPriv : false;
331
- const _await$this$_getToken = await this._getToken(roomId, userId),
332
- data = _await$this$_getToken.data;
333
- const _ref5 = data || {},
334
- boardAppId = _ref5.boardAppId,
335
- boardId = _ref5.boardId,
336
- boardRegion = _ref5.boardRegion,
337
- boardToken = _ref5.boardToken;
318
+ const cursorName = this._scene.getUser(userId)?.userName;
319
+ const syncMode = this._whiteboardPrivateParameters?.syncMode ?? false;
320
+ const {
321
+ data
322
+ } = await this._getToken(roomId, userId);
323
+ const {
324
+ boardAppId,
325
+ boardId,
326
+ boardRegion,
327
+ boardToken
328
+ } = data || {};
338
329
  const plugins = this._createPlugins();
339
- this._client = new _whiteWebSdk.WhiteWebSdk(_objectSpread({
330
+ this._client = new _whiteWebSdk.WhiteWebSdk({
340
331
  appIdentifier: boardAppId,
341
332
  useMobXState: true,
342
333
  pptParams: {
@@ -350,8 +341,9 @@ class FcrWhiteboardControlImpl {
350
341
  reportDebugLogMode: _whiteWebSdk.LoggerReportMode.AlwaysReport,
351
342
  reportLevelMask: this._options.debug ? 'debug' : 'info',
352
343
  printLevelMask: this._options.debug ? 'debug' : 'info'
353
- }
354
- }, this._whiteboardPrivateParameters));
344
+ },
345
+ ...this._whiteboardPrivateParameters
346
+ });
355
347
  const hasPermission = this._hasOperationPrivilege;
356
348
  const joinParams = {
357
349
  region: boardRegion,
@@ -373,7 +365,7 @@ class FcrWhiteboardControlImpl {
373
365
  cursorName,
374
366
  disappearCursor: true
375
367
  },
376
- floatBar: (_this$_whiteboardPriv3 = (_this$_whiteboardPriv4 = this._whiteboardPrivateParameters) === null || _this$_whiteboardPriv4 === void 0 ? void 0 : _this$_whiteboardPriv4.floatBar) !== null && _this$_whiteboardPriv3 !== void 0 ? _this$_whiteboardPriv3 : {
368
+ floatBar: this._whiteboardPrivateParameters?.floatBar ?? {
377
369
  colors: _utils.textColors.map(color => (0, _utils.hexColorToWhiteboardColor)(color))
378
370
  }
379
371
  };
@@ -385,7 +377,7 @@ class FcrWhiteboardControlImpl {
385
377
  if (hasPermission) {
386
378
  room.setViewMode(_whiteWebSdk.ViewMode.Broadcaster);
387
379
  }
388
- this.logger.info("set whiteboard sync mode: ".concat(syncMode));
380
+ this.logger.info(`set whiteboard sync mode: ${syncMode}`);
389
381
  room.syncMode = syncMode;
390
382
  const mountOptions = {};
391
383
  const privateParams = this._whiteboardPrivateParameters;
@@ -445,9 +437,4 @@ class FcrWhiteboardControlImpl {
445
437
  this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onActive', ['ownerId', 'operatorUser']], ['onInactive', ['reason', 'operatorUser']], ['onBackgroundColorUpdated', ['color', 'operatorUser']], ['onConnectionStateUpdated', ['state']]]));
446
438
  }
447
439
  }
448
- exports.FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
449
- _FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
450
- var _applyDecs$e = _applyDecs(_FcrWhiteboardControlImpl, [[[_decorator.bound, _imports.trace], 2, "active"], [[_decorator.bound, _imports.trace], 2, "inactive"], [_openDecs, 2, "open"], [[_decorator.bound, _imports.trace], 2, "close"], [[_decorator.bound, _imports.trace], 2, "release"], [_setBackgroundColorDecs, 2, "setBackgroundColor"], [[_decorator.bound, _imports.trace], 2, "getActivity"], [[_decorator.bound, _imports.trace], 2, "getOwnerId"], [[_decorator.bound, _imports.trace], 2, "getBackgroundColor"], [[_decorator.bound, _imports.trace], 2, "getConnectionState"], [[_decorator.bound, _imports.trace], 2, "getMainWindow"], [[_decorator.bound, _imports.trace], 2, "addObserver"], [[_decorator.bound, _imports.trace], 2, "removeObserver"], [[_decorator.bound, _imports.trace], 2, "getBoardActiveInfo"], [[_decorator.bound, _imports.trace], 2, "hasOperationPrivilege"], [_setOperationPrivilegeDecs, 2, "setOperationPrivilege"], [_setBoardWritableDecs, 2, "_setBoardWritable"], [_decorator.bound, 2, "_getToken"], [_decorator.bound, 2, "_handleRoomStateUpdated"], [_decorator.bound, 2, "_updateConnnectionState"], [_decorator.bound, 2, "_handleConnectionStateUpdated"], [_imports.trace, 2, "_connect"], [_imports.trace, 2, "_clean"]], []).e;
451
- var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
452
- _initProto = _applyDecs$e2[0];
453
- _applyDecs$e;
440
+ exports.FcrWhiteboardControlImpl = FcrWhiteboardControlImpl;
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.BoardMountManager = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
7
  class BoardMountManager {
8
+ static isMounting = false;
10
9
  static setIsMounting(isMounting) {
11
10
  BoardMountManager.isMounting = isMounting;
12
11
  }
13
12
  }
14
- exports.BoardMountManager = BoardMountManager;
15
- (0, _defineProperty2.default)(BoardMountManager, "isMounting", false);
13
+ exports.BoardMountManager = BoardMountManager;
@@ -5,9 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.windowClassName = exports.widgetContainerClassName = exports.videoRowClassName = exports.verticalPadding = exports.toolbarClassName = exports.textColors = exports.src2DataURL = exports.sceneNavHeight = exports.mergeCanvasImage = exports.mediaMimeTypes = exports.layoutContentClassName = exports.hexColorToWhiteboardColor = exports.heightPerTool = exports.heightPerColor = exports.getImageSize = exports.fetchImageInfoByUrl = exports.defaultToolsRetain = exports.defaultTextSize = exports.defaultStrokeColor = exports.convertToNetlessStorkeType = exports.convertToNetlessBoardTool = exports.convertToFcrBoardToolShape = exports.WINDOW_TITLE_HEIGHT = exports.WINDOW_REMAIN_SIZE = exports.WINDOW_REMAIN_POSITION = exports.WINDOW_MIN_SIZE = exports.WINDOW_ASPECT_RATIO = void 0;
7
7
  require("core-js/modules/es.array.push.js");
8
- require("core-js/modules/es.regexp.exec.js");
9
- require("core-js/modules/es.string.replace.js");
10
- require("core-js/modules/web.dom-collections.iterator.js");
11
8
  var _jsMd = require("js-md5");
12
9
  var _enum = require("./enum");
13
10
  var _appliancePlugin = require("@netless/appliance-plugin");
@@ -134,8 +131,8 @@ const mergeCanvasImage = async scenes => {
134
131
  canvasArray.push(canvas);
135
132
  }
136
133
  }
137
- bigCanvas.setAttribute('width', "".concat(width));
138
- bigCanvas.setAttribute('height', "".concat(height * canvasArray.length));
134
+ bigCanvas.setAttribute('width', `${width}`);
135
+ bigCanvas.setAttribute('height', `${height * canvasArray.length}`);
139
136
  canvasArray.forEach((canvas, index) => {
140
137
  ctx && ctx.drawImage(canvas, 0, index * height, width, height);
141
138
  });
@@ -233,22 +230,22 @@ const convertToFcrBoardToolShape = (tool, shape) => {
233
230
  case _enum.ApplianceNames.hand:
234
231
  return [_enum.FcrBoardToolType.HAND];
235
232
  }
236
- switch ("".concat(tool || '').concat(shape || '')) {
237
- case "".concat(_enum.ApplianceNames.rectangle):
233
+ switch (`${tool || ''}${shape || ''}`) {
234
+ case `${_enum.ApplianceNames.rectangle}`:
238
235
  return [, _enum.FcrBoardShape.Rectangle];
239
- case "".concat(_enum.ApplianceNames.ellipse):
236
+ case `${_enum.ApplianceNames.ellipse}`:
240
237
  return [, _enum.FcrBoardShape.Ellipse];
241
- case "".concat(_enum.ApplianceNames.straight):
238
+ case `${_enum.ApplianceNames.straight}`:
242
239
  return [, _enum.FcrBoardShape.Straight];
243
- case "".concat(_enum.ApplianceNames.arrow):
240
+ case `${_enum.ApplianceNames.arrow}`:
244
241
  return [, _enum.FcrBoardShape.Arrow];
245
- case "".concat(_enum.ApplianceNames.pencil):
242
+ case `${_enum.ApplianceNames.pencil}`:
246
243
  return [, _enum.FcrBoardShape.Curve];
247
- case "".concat(_enum.ApplianceNames.shape).concat(_enum.ShapeType.Triangle):
244
+ case `${_enum.ApplianceNames.shape}${_enum.ShapeType.Triangle}`:
248
245
  return [, _enum.FcrBoardShape.Triangle];
249
- case "".concat((_enum.ApplianceNames.shape, _enum.ShapeType.Pentagram)):
246
+ case `${_enum.ApplianceNames.shape, _enum.ShapeType.Pentagram}`:
250
247
  return [, _enum.FcrBoardShape.Pentagram];
251
- case "".concat(_enum.ApplianceNames.shape).concat(_enum.ShapeType.Rhombus):
248
+ case `${_enum.ApplianceNames.shape}${_enum.ShapeType.Rhombus}`:
252
249
  return [, _enum.FcrBoardShape.Rhombus];
253
250
  }
254
251
  return [];
@@ -275,9 +272,9 @@ const src2DataURL = src => {
275
272
  const ctx = canvas.getContext('2d');
276
273
  const image = new Image();
277
274
  image.onload = () => {
278
- canvas.setAttribute('width', "".concat(image.width));
279
- canvas.setAttribute('height', "".concat(image.height));
280
- ctx === null || ctx === void 0 || ctx.drawImage(image, 0, 0);
275
+ canvas.setAttribute('width', `${image.width}`);
276
+ canvas.setAttribute('height', `${image.height}`);
277
+ ctx?.drawImage(image, 0, 0);
281
278
  resolve(canvas.toDataURL('image/jpeg', 0.8));
282
279
  };
283
280
  image.onerror = () => {
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.FcrStandaloneAnnotationControlImpl = exports.FcrAnnotationControlImpl = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
7
  var _error = require("../../../utilities/error");
10
8
  var _logger = require("../../../utilities/logger");
11
9
  var _base = require("../base");
@@ -18,22 +16,20 @@ const addBoardConnectingObserver = (board, sceneConfig) => {
18
16
  onConnectionStateUpdated: state => {
19
17
  if (state === _type2.AgoraRteConnectionState.CONNECTED) {
20
18
  if (sceneConfig.isAndroidByOwner()) {
21
- var _board$getMainWindow;
22
- (_board$getMainWindow = board.getMainWindow()) === null || _board$getMainWindow === void 0 || _board$getMainWindow.setAutoCancelDraw(true);
19
+ board.getMainWindow()?.setAutoCancelDraw(true);
23
20
  } else {
24
- var _board$getMainWindow2;
25
- (_board$getMainWindow2 = board.getMainWindow()) === null || _board$getMainWindow2 === void 0 || _board$getMainWindow2.setAutoCancelDraw(false);
21
+ board.getMainWindow()?.setAutoCancelDraw(false);
26
22
  }
27
23
  }
28
24
  }
29
25
  });
30
26
  };
31
27
  class FcrAnnotationControlImpl extends _base.FcrBaseWhiteboardControlImpl {
28
+ logger = (0, _logger.createLogger)({
29
+ prefix: 'FcrAnnotationControlImpl'
30
+ });
32
31
  constructor(rtmClient, config, forgeInitConfigFetcher, _sceneConfig, _api) {
33
32
  super(rtmClient, config, forgeInitConfigFetcher, _api);
34
- (0, _defineProperty2.default)(this, "logger", (0, _logger.createLogger)({
35
- prefix: 'FcrAnnotationControlImpl'
36
- }));
37
33
  this.rtmClient = rtmClient;
38
34
  this.config = config;
39
35
  this._sceneConfig = _sceneConfig;
@@ -47,7 +43,7 @@ class FcrAnnotationControlImpl extends _base.FcrBaseWhiteboardControlImpl {
47
43
  } catch (e) {
48
44
  const error = e;
49
45
  const errorMessage = error.message;
50
- throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.FCR_ROOM_WHITEBOARD, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, "sync screen share owner annotation open done failed: ".concat(errorMessage), errorMessage);
46
+ throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.FCR_ROOM_WHITEBOARD, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, `sync screen share owner annotation open done failed: ${errorMessage}`, errorMessage);
51
47
  }
52
48
  }
53
49
  async syncWhiteboardWriteCount(isWritable) {
@@ -55,7 +51,7 @@ class FcrAnnotationControlImpl extends _base.FcrBaseWhiteboardControlImpl {
55
51
  roomId: this.config.roomId,
56
52
  userId: this.config.userId,
57
53
  state: isWritable ? 1 : 0
58
- }), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, "set whiteboard write permission to ".concat(isWritable, " failed"));
54
+ }), _imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, `set whiteboard write permission to ${isWritable} failed`);
59
55
  return 0;
60
56
  }
61
57
  async open() {
@@ -82,11 +78,11 @@ class FcrAnnotationControlImpl extends _base.FcrBaseWhiteboardControlImpl {
82
78
  }
83
79
  exports.FcrAnnotationControlImpl = FcrAnnotationControlImpl;
84
80
  class FcrStandaloneAnnotationControlImpl extends _base.FcrBaseWhiteboardControlImpl {
81
+ logger = (0, _logger.createLogger)({
82
+ prefix: 'FcrStandaloneAnnotationControlImpl'
83
+ });
85
84
  constructor(rtmClient, config, forgeInitConfigFetcher, _sceneConfig) {
86
85
  super(rtmClient, config, forgeInitConfigFetcher);
87
- (0, _defineProperty2.default)(this, "logger", (0, _logger.createLogger)({
88
- prefix: 'FcrStandaloneAnnotationControlImpl'
89
- }));
90
86
  this.rtmClient = rtmClient;
91
87
  this.config = config;
92
88
  this._sceneConfig = _sceneConfig;
@@ -1,35 +1,25 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.push.js");
4
- require("core-js/modules/esnext.iterator.constructor.js");
5
- require("core-js/modules/esnext.iterator.filter.js");
6
- require("core-js/modules/esnext.iterator.for-each.js");
7
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
11
6
  exports.FcrAnnotationControlFactoryImpl = void 0;
12
7
  require("core-js/modules/es.json.stringify.js");
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
8
  var _control = require("./control");
15
9
  var _logger = require("../../../utilities/logger");
16
10
  var _error = require("../../../utilities/error");
17
11
  var _sharedStorage = require("../../../utilities/shared-storage");
18
12
  var _imports = require("../../../imports");
19
- 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; }
20
- 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; }
21
13
  class FcrAnnotationControlFactoryImpl {
22
- constructor() {
23
- (0, _defineProperty2.default)(this, "logger", (0, _logger.createLogger)({
24
- prefix: 'FcrAnnotationControlFactory'
25
- }));
26
- }
14
+ logger = (0, _logger.createLogger)({
15
+ prefix: 'FcrAnnotationControlFactory'
16
+ });
27
17
  createForSubProcess(rtmClient, config, annotationSceneConfig) {
28
- this.logger.info("create for sub process with config: ".concat(JSON.stringify(config)));
18
+ this.logger.info(`create for sub process with config: ${JSON.stringify(config)}`);
29
19
  return new _control.FcrStandaloneAnnotationControlImpl(rtmClient, config, () => {
30
20
  const forgeInitConfig = (0, _sharedStorage.getAnnotationBoardOptions)();
31
21
  if (!forgeInitConfig) {
32
- throw (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _imports.DetailErrorCode.UNDEFINED_ERROR, "whiteboard init config is not exist");
22
+ throw (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM_WHITEBOARD, _imports.DetailErrorCode.UNDEFINED_ERROR, `whiteboard init config is not exist`);
33
23
  }
34
24
  return Promise.resolve(forgeInitConfig);
35
25
  }, annotationSceneConfig);
@@ -48,9 +38,10 @@ class FcrAnnotationControlFactoryImpl {
48
38
  };
49
39
  return async () => {
50
40
  const response = await getObjectInitConfig(roomId, userId);
51
- return _objectSpread(_objectSpread({}, response.data), {}, {
41
+ return {
42
+ ...response.data,
52
43
  boardPerformance
53
- });
44
+ };
54
45
  };
55
46
  }
56
47
  }