fcr-ui-scene 3.7.7 → 3.7.8-rc.1

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 (212) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +5 -1
  3. package/lib/creator/provider-initializer.browser.js +2 -2
  4. package/lib/creator/provider-initializer.electron.js +2 -2
  5. package/lib/electron/bootstrap-sdk.js +70 -33
  6. package/lib/electron/hang-detection/index.d.ts +3 -0
  7. package/lib/electron/hang-detection/index.js +15 -0
  8. package/lib/electron/hang-detection/manager.d.ts +28 -0
  9. package/lib/electron/hang-detection/manager.js +231 -0
  10. package/lib/electron/hang-detection/types.d.ts +14 -0
  11. package/lib/electron/until.d.ts +1 -4
  12. package/lib/electron/until.js +9 -4
  13. package/lib/modules/action-bar/components/screen-share/index.electron.js +1 -1
  14. package/lib/modules/components/control-bar/components/switch-theme/index.js +4 -2
  15. package/lib/modules/components/control-bar/index.js +1 -3
  16. package/lib/modules/participant/store.base.js +0 -1
  17. package/lib/modules/share-screen/store.electron.js +9 -0
  18. package/lib/modules/state-bar/store.base.electron.js +6 -2
  19. package/lib/providers/board-share/bar-control/base.d.ts +2 -0
  20. package/lib/providers/board-share/bar-control/base.js +13 -3
  21. package/lib/providers/board-share/bar-control/electron.d.ts +1 -0
  22. package/lib/providers/board-share/bar-control/electron.js +15 -4
  23. package/lib/providers/board-share/provider.base.d.ts +1 -0
  24. package/lib/providers/board-share/provider.base.js +3 -1
  25. package/lib/providers/board-share/provider.electron.d.ts +1 -0
  26. package/lib/providers/board-share/provider.electron.js +8 -2
  27. package/lib/providers/board-share/type.d.ts +2 -0
  28. package/lib/providers/dialog/provider.electron.js +10 -2
  29. package/lib/providers/screen-share/strategy/browser.js +50 -3
  30. package/lib/providers/screen-share/strategy/electron.js +77 -8
  31. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -1
  32. package/lib/providers/screen-share/stream-state-sync.js +133 -40
  33. package/package.json +5 -5
  34. package/lib/creator.d.ts +0 -36
  35. package/lib/creator.js +0 -465
  36. package/lib/modules/action-bar/index.d.ts +0 -58
  37. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  38. package/lib/modules/action-bar/index.dev.js +0 -94
  39. package/lib/modules/action-bar/index.js +0 -109
  40. package/lib/modules/action-bar/store.d.ts +0 -259
  41. package/lib/modules/action-bar/store.js +0 -1529
  42. package/lib/modules/action-bar/types.d.ts +0 -90
  43. package/lib/modules/action-bar/view.d.ts +0 -5
  44. package/lib/modules/action-bar/view.js +0 -112
  45. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  46. package/lib/modules/annotation/annotation-index.js +0 -80
  47. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  48. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  49. package/lib/modules/annotation/board-cursor.css +0 -77
  50. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  51. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  52. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  53. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  54. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  55. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  56. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  57. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  58. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  59. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  60. package/lib/modules/annotation/components/expansion/index.d.ts +0 -1
  61. package/lib/modules/annotation/components/expansion/index.js +0 -100
  62. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  63. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  64. package/lib/modules/annotation/components/history.d.ts +0 -2
  65. package/lib/modules/annotation/components/history.js +0 -78
  66. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  67. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  68. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  69. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  70. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  71. package/lib/modules/annotation/components/item/index.js +0 -43
  72. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  73. package/lib/modules/annotation/components/move-handle.js +0 -134
  74. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  75. package/lib/modules/annotation/components/pen-picker.js +0 -155
  76. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  77. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  78. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  79. package/lib/modules/annotation/components/shape-picker.js +0 -210
  80. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  81. package/lib/modules/annotation/hooks/index.js +0 -292
  82. package/lib/modules/annotation/index.d.ts +0 -45
  83. package/lib/modules/annotation/index.js +0 -168
  84. package/lib/modules/annotation/store.d.ts +0 -98
  85. package/lib/modules/annotation/store.js +0 -620
  86. package/lib/modules/annotation/style.css +0 -36
  87. package/lib/modules/annotation/view.d.ts +0 -3
  88. package/lib/modules/annotation/view.js +0 -44
  89. package/lib/modules/components/device-control/store.d.ts +0 -42
  90. package/lib/modules/components/device-control/store.js +0 -241
  91. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  92. package/lib/modules/components/leave-meeting/store.js +0 -270
  93. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  94. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  95. package/lib/modules/control-bar/types.d.ts +0 -20
  96. package/lib/modules/control-bar/types.js +0 -6
  97. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  98. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  99. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -62
  100. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  101. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  102. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  103. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -110
  104. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  105. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  106. package/lib/modules/dialog/store.d.ts +0 -135
  107. package/lib/modules/dialog/store.js +0 -616
  108. package/lib/modules/event-confirm/components/window/index.d.ts +0 -7
  109. package/lib/modules/event-confirm/components/window/index.js +0 -221
  110. package/lib/modules/event-confirm/index.css +0 -24
  111. package/lib/modules/event-confirm/index.d.ts +0 -27
  112. package/lib/modules/event-confirm/index.js +0 -76
  113. package/lib/modules/event-confirm/store.d.ts +0 -50
  114. package/lib/modules/event-confirm/store.js +0 -394
  115. package/lib/modules/event-confirm/view.d.ts +0 -2
  116. package/lib/modules/event-confirm/view.js +0 -55
  117. package/lib/modules/event-toast/store.d.ts +0 -27
  118. package/lib/modules/event-toast/store.js +0 -205
  119. package/lib/modules/layout/store.d.ts +0 -176
  120. package/lib/modules/layout/store.js +0 -1452
  121. package/lib/modules/participant/store.d.ts +0 -222
  122. package/lib/modules/participant/store.js +0 -1929
  123. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  124. package/lib/modules/pc-audio-connect/index.js +0 -67
  125. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  126. package/lib/modules/pc-audio-connect/store.js +0 -304
  127. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  128. package/lib/modules/setting/common/advance-link.js +0 -27
  129. package/lib/modules/setting/common/index.css +0 -26
  130. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  131. package/lib/modules/setting/common/useNamespace.js +0 -66
  132. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  133. package/lib/modules/setting/dialog-wrapper.js +0 -110
  134. package/lib/modules/setting/store.d.ts +0 -261
  135. package/lib/modules/setting/store.js +0 -1321
  136. package/lib/modules/share-screen/store.d.ts +0 -148
  137. package/lib/modules/share-screen/store.js +0 -960
  138. package/lib/modules/share-screen/types.d.ts +0 -26
  139. package/lib/modules/share-screen/types.js +0 -6
  140. package/lib/modules/state-bar/store.d.ts +0 -124
  141. package/lib/modules/state-bar/store.js +0 -664
  142. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  143. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  144. package/lib/modules/widget/store.d.ts +0 -14
  145. package/lib/modules/widget/store.js +0 -28
  146. package/lib/providers/annotation-provider.d.ts +0 -124
  147. package/lib/providers/annotation-provider.js +0 -369
  148. package/lib/providers/dialog-provider.d.ts +0 -137
  149. package/lib/providers/dialog-provider.js +0 -194
  150. package/lib/providers/message-provider.d.ts +0 -69
  151. package/lib/providers/message-provider.js +0 -140
  152. package/lib/providers/room-provider.d.ts +0 -194
  153. package/lib/providers/room-provider.js +0 -916
  154. package/lib/providers/screen-share-provider.d.ts +0 -245
  155. package/lib/providers/screen-share-provider.js +0 -850
  156. package/lib/providers/sharing-provider.d.ts +0 -42
  157. package/lib/providers/sharing-provider.js +0 -228
  158. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  159. package/lib/providers/user-setting-storage-provider.js +0 -65
  160. package/lib/providers/whiteboard-provider.d.ts +0 -24
  161. package/lib/providers/whiteboard-provider.js +0 -128
  162. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  163. package/lib/shared-data-source/annotation-data.js +0 -110
  164. package/lib/shared-data-source/app-list-data.d.ts +0 -34
  165. package/lib/shared-data-source/app-list-data.js +0 -133
  166. package/lib/shared-data-source/chat-data.d.ts +0 -25
  167. package/lib/shared-data-source/chat-data.js +0 -139
  168. package/lib/shared-data-source/config.d.ts +0 -35
  169. package/lib/shared-data-source/config.js +0 -40
  170. package/lib/shared-data-source/confirm-data.d.ts +0 -44
  171. package/lib/shared-data-source/confirm-data.js +0 -201
  172. package/lib/shared-data-source/device-privilege-data.d.ts +0 -8
  173. package/lib/shared-data-source/device-privilege-data.js +0 -25
  174. package/lib/shared-data-source/interpreter.d.ts +0 -77
  175. package/lib/shared-data-source/interpreter.js +0 -247
  176. package/lib/shared-data-source/layout-data.d.ts +0 -31
  177. package/lib/shared-data-source/layout-data.js +0 -189
  178. package/lib/shared-data-source/meeting-time.d.ts +0 -90
  179. package/lib/shared-data-source/meeting-time.js +0 -416
  180. package/lib/shared-data-source/member-data.d.ts +0 -139
  181. package/lib/shared-data-source/member-data.js +0 -517
  182. package/lib/shared-data-source/pin-data.d.ts +0 -13
  183. package/lib/shared-data-source/pin-data.js +0 -111
  184. package/lib/shared-data-source/screen-share-data.d.ts +0 -357
  185. package/lib/shared-data-source/screen-share-data.js +0 -513
  186. package/lib/shared-data-source/security-data.d.ts +0 -39
  187. package/lib/shared-data-source/security-data.js +0 -156
  188. package/lib/shared-data-source/setting.d.ts +0 -67
  189. package/lib/shared-data-source/setting.js +0 -220
  190. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  191. package/lib/shared-data-source/speaker-spotlight.js +0 -15
  192. package/lib/shared-data-source/video-window.d.ts +0 -165
  193. package/lib/shared-data-source/video-window.js +0 -1266
  194. package/lib/shared-data-source/waiting-room.d.ts +0 -46
  195. package/lib/shared-data-source/waiting-room.js +0 -222
  196. package/lib/shared-data-source/whiteboard-data.d.ts +0 -70
  197. package/lib/shared-data-source/whiteboard-data.js +0 -348
  198. package/lib/utilities/board-context.d.ts +0 -4
  199. package/lib/utilities/board-context.js +0 -12
  200. package/lib/utilities/copyText.d.ts +0 -2
  201. package/lib/utilities/copyText.js +0 -48
  202. package/lib/utilities/renderer-event.d.ts +0 -10
  203. package/lib/utilities/renderer-event.js +0 -95
  204. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  205. package/lib/utilities/screen-capture-permission.js +0 -24
  206. package/lib/utilities/screen.d.ts +0 -3
  207. package/lib/utilities/screen.js +0 -53
  208. package/lib/utilities/video-track-render-context.d.ts +0 -6
  209. package/lib/utilities/video-track-render-context.js +0 -9
  210. package/lib/waiting-room-control-manager.d.ts +0 -28
  211. package/lib/waiting-room-control-manager.js +0 -230
  212. /package/lib/{modules/action-bar → electron/hang-detection}/types.js +0 -0
@@ -84,12 +84,16 @@ var StateBarElectronStoreBase = exports["default"] = /*#__PURE__*/function () {
84
84
  }, {
85
85
  key: "enterFullScreen",
86
86
  value: function enterFullScreen() {
87
- this._mainWindow.setFullScreen(true);
87
+ if (!this._mainWindow.isFullScreen()) {
88
+ this._mainWindow.setFullScreen(true);
89
+ }
88
90
  }
89
91
  }, {
90
92
  key: "exitFullScreen",
91
93
  value: function exitFullScreen() {
92
- this._mainWindow.setFullScreen(false);
94
+ if (this._mainWindow.isFullScreen()) {
95
+ this._mainWindow.setFullScreen(false);
96
+ }
93
97
  }
94
98
  }, {
95
99
  key: "addFullScreenChangeEventListener",
@@ -27,12 +27,14 @@ export declare abstract class FcrUIBoardControlShareProviderBase implements FcrU
27
27
  constructor(_privilegeProvider: FcrUIPrivilegeProvider, _boardControl: FcrPrivilegedWhiteboardControl);
28
28
  setControlEnable(enable: boolean): void;
29
29
  setSharingUser(userInfo: FcrUserInfo): void;
30
+ updateSubProcessBackgroundColor(color: string): void;
30
31
  setBackgroundColor(color: string): void;
31
32
  setWhiteboardTool(tool: {
32
33
  action: WhiteboardToolAction;
33
34
  tool: FcrBoardToolType | FcrBoardShape | string | number;
34
35
  }): void;
35
36
  setTheme(theme: WhiteboardThemeType): void;
37
+ setCurrentTheme(theme: Required<WhiteboardThemeType>): void;
36
38
  setShowLoading(show: boolean): void;
37
39
  setCommonColors(colors: string[]): void;
38
40
  saveDraft(): void;
@@ -62,7 +62,7 @@ var _utils = require("../../../modules/whiteboard/utils");
62
62
  var _toolbar = require("../../../modules/components/toolbar");
63
63
  var _dayjs = _interopRequireDefault(require("dayjs"));
64
64
  var _FcrUIBoardControlShareProviderBase;
65
- var _initProto, _init__showLoading, _init_currentTheme, _init_sharingUserInfo, _init_backgroundColor, _init_hasWriteBoardPermission, _init_connectionState, _init_joinSuccess, _init_toolbarState, _setControlEnableDecs, _setSharingUserDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setShowLoadingDecs, _setCommonColorsDecs, _setProgressDecs, _setJoinSuccessDecs, _handleDraftSavedDecs, _ref;
65
+ var _initProto, _init__showLoading, _init_currentTheme, _init_sharingUserInfo, _init_backgroundColor, _init_hasWriteBoardPermission, _init_connectionState, _init_joinSuccess, _init_toolbarState, _setControlEnableDecs, _setSharingUserDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setCurrentThemeDecs, _setShowLoadingDecs, _setCommonColorsDecs, _setProgressDecs, _setJoinSuccessDecs, _handleDraftSavedDecs, _ref;
66
66
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
67
67
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
68
68
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -81,7 +81,7 @@ var _E = /*#__PURE__*/new WeakMap();
81
81
  var _F = /*#__PURE__*/new WeakMap();
82
82
  var _G = /*#__PURE__*/new WeakMap();
83
83
  var _H = /*#__PURE__*/new WeakMap();
84
- _ref = (_setControlEnableDecs = [_mobx.action, _mobx.action.bound], _setSharingUserDecs = [_mobx.action, _mobx.action.bound], _setBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardToolDecs = [_mobx.action, _mobx.action.bound], _setThemeDecs = [_mobx.action, _mobx.action.bound], _setShowLoadingDecs = [_mobx.action, _mobx.action.bound], _setCommonColorsDecs = [_mobx.action, _mobx.action.bound], _setProgressDecs = [_mobx.action, _mobx.action.bound], _setJoinSuccessDecs = [_mobx.action, _mobx.action.bound], _handleDraftSavedDecs = [_mobx.action, _mobx.action.bound], "logger");
84
+ _ref = (_setControlEnableDecs = [_mobx.action, _mobx.action.bound], _setSharingUserDecs = [_mobx.action, _mobx.action.bound], _setBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardToolDecs = [_mobx.action, _mobx.action.bound], _setThemeDecs = [_mobx.action, _mobx.action.bound], _setCurrentThemeDecs = [_mobx.action, _mobx.action.bound], _setShowLoadingDecs = [_mobx.action, _mobx.action.bound], _setCommonColorsDecs = [_mobx.action, _mobx.action.bound], _setProgressDecs = [_mobx.action, _mobx.action.bound], _setJoinSuccessDecs = [_mobx.action, _mobx.action.bound], _handleDraftSavedDecs = [_mobx.action, _mobx.action.bound], "logger");
85
85
  var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderBase = /*#__PURE__*/function () {
86
86
  function FcrUIBoardControlShareProviderBase(_privilegeProvider, _boardControl) {
87
87
  (0, _classCallCheck2["default"])(this, FcrUIBoardControlShareProviderBase);
@@ -205,6 +205,11 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
205
205
  value: function setSharingUser(userInfo) {
206
206
  this.sharingUserInfo = userInfo;
207
207
  }
208
+ }, {
209
+ key: "updateSubProcessBackgroundColor",
210
+ value: function updateSubProcessBackgroundColor(color) {
211
+ // do nothing in base
212
+ }
208
213
  }, {
209
214
  key: "setBackgroundColor",
210
215
  value: function setBackgroundColor(color) {
@@ -240,6 +245,11 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
240
245
  });
241
246
  this._boardControl.setBackgroundColor(theme.background);
242
247
  }
248
+ }, {
249
+ key: "setCurrentTheme",
250
+ value: function setCurrentTheme(theme) {
251
+ this.currentTheme = theme;
252
+ }
243
253
  }, {
244
254
  key: "setShowLoading",
245
255
  value: function setShowLoading(show) {
@@ -301,7 +311,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
301
311
  }]);
302
312
  }();
303
313
  _FcrUIBoardControlShareProviderBase = FcrUIBoardControlShareProviderBase;
304
- var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderBase, [[_mobx.observable, 1, "_showLoading"], [_mobx.observable, 1, "currentTheme"], [_mobx.observable, 1, "sharingUserInfo"], [_mobx.observable, 1, "backgroundColor"], [_mobx.observable, 1, "hasWriteBoardPermission"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "joinSuccess"], [_mobx.observable, 1, "toolbarState"], [_mobx.computed, 3, "canWriteBoard"], [_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_setShowLoadingDecs, 18, "setShowLoading"], [_setCommonColorsDecs, 18, "setCommonColors"], [_imports.bound, 2, "saveDraft"], [_setProgressDecs, 18, "setProgress"], [_setJoinSuccessDecs, 18, "setJoinSuccess"], [_imports.bound, 2, "resetWhiteboardTool"], [_handleDraftSavedDecs, 18, "_handleDraftSaved"]], []).e;
314
+ var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderBase, [[_mobx.observable, 1, "_showLoading"], [_mobx.observable, 1, "currentTheme"], [_mobx.observable, 1, "sharingUserInfo"], [_mobx.observable, 1, "backgroundColor"], [_mobx.observable, 1, "hasWriteBoardPermission"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "joinSuccess"], [_mobx.observable, 1, "toolbarState"], [_mobx.computed, 3, "canWriteBoard"], [_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_setCurrentThemeDecs, 18, "setCurrentTheme"], [_setShowLoadingDecs, 18, "setShowLoading"], [_setCommonColorsDecs, 18, "setCommonColors"], [_imports.bound, 2, "saveDraft"], [_setProgressDecs, 18, "setProgress"], [_setJoinSuccessDecs, 18, "setJoinSuccess"], [_imports.bound, 2, "resetWhiteboardTool"], [_handleDraftSavedDecs, 18, "_handleDraftSaved"]], []).e;
305
315
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 9);
306
316
  _init__showLoading = _applyDecs$e2[0];
307
317
  _init_currentTheme = _applyDecs$e2[1];
@@ -15,6 +15,7 @@ export declare class FcrUIBoardControlShareProviderImpl extends FcrUIBoardContro
15
15
  constructor(privilegeProvider: FcrUIPrivilegeProvider, boardControl: FcrPrivilegedWhiteboardControl, _fcrUIMainWindowRenderer: FcrUIMainWindowRenderer);
16
16
  setControlEnable(enable: boolean): void;
17
17
  setSharingUser(userInfo: FcrUserInfo): void;
18
+ updateSubProcessBackgroundColor(color: string): void;
18
19
  setBackgroundColor(color: string): void;
19
20
  setWhiteboardTool(tool: {
20
21
  action: WhiteboardToolAction;
@@ -61,7 +61,7 @@ var _type = require("fcr-core/lib/type");
61
61
  var _mobx = require("mobx");
62
62
  var _base = require("./base");
63
63
  var _FcrUIBoardControlShareProviderImpl;
64
- var _initProto, _setControlEnableDecs, _setSharingUserDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setIsDualDisplayModeDecs, _handleSubProcessStateUpdatedDecs, _ref;
64
+ var _initProto, _setControlEnableDecs, _setSharingUserDecs, _updateSubProcessBackgroundColorDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setIsDualDisplayModeDecs, _handleSubProcessStateUpdatedDecs, _ref;
65
65
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
66
66
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
67
67
  function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
@@ -70,7 +70,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
70
70
  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); }
71
71
  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; }
72
72
  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; }
73
- _ref = (_setControlEnableDecs = [_mobx.action, _mobx.action.bound], _setSharingUserDecs = [_mobx.action, _mobx.action.bound], _setBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardToolDecs = [_mobx.action, _mobx.action.bound], _setThemeDecs = [_mobx.action, _mobx.action.bound], _setIsDualDisplayModeDecs = [_mobx.action, _mobx.action.bound], _handleSubProcessStateUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
73
+ _ref = (_setControlEnableDecs = [_mobx.action, _mobx.action.bound], _setSharingUserDecs = [_mobx.action, _mobx.action.bound], _updateSubProcessBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardToolDecs = [_mobx.action, _mobx.action.bound], _setThemeDecs = [_mobx.action, _mobx.action.bound], _setIsDualDisplayModeDecs = [_mobx.action, _mobx.action.bound], _handleSubProcessStateUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
74
74
  var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderImpl = /*#__PURE__*/function (_FcrUIBoardControlSha) {
75
75
  function FcrUIBoardControlShareProviderImpl(privilegeProvider, boardControl, _fcrUIMainWindowRenderer) {
76
76
  var _this;
@@ -110,6 +110,13 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
110
110
  value: function setSharingUser(userInfo) {
111
111
  this.sharingUserInfo = userInfo;
112
112
  }
113
+ }, {
114
+ key: "updateSubProcessBackgroundColor",
115
+ value: function updateSubProcessBackgroundColor(color) {
116
+ if (this._isDualDisplayMode) {
117
+ this._fcrUIMainWindowRenderer.notifyObservers('onBackgroundColorUpdated', color);
118
+ }
119
+ }
113
120
  }, {
114
121
  key: "setBackgroundColor",
115
122
  value: function setBackgroundColor(color) {
@@ -184,11 +191,15 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
184
191
  }, {
185
192
  key: "_handleSubProcessStateUpdated",
186
193
  value: function _handleSubProcessStateUpdated(state) {
194
+ var _this3 = this;
187
195
  this.connectionState = state;
188
196
  if (state === _type.FcrConnectionState.CONNECTED) {
189
197
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setShowLoading", this, 3)([false]);
190
198
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setJoinSuccess", this, 3)([true]);
191
- setTimeout(this.resetWhiteboardTool);
199
+ setTimeout(function () {
200
+ _this3.updateSubProcessBackgroundColor(_this3.currentTheme.background);
201
+ _this3.resetWhiteboardTool();
202
+ });
192
203
  }
193
204
  if (state === _type.FcrConnectionState.CONNECTING || state === _type.FcrConnectionState.DISCONNECTED) {
194
205
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setShowLoading", this, 3)([true]);
@@ -199,7 +210,7 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
199
210
  }]);
200
211
  }(_base.FcrUIBoardControlShareProviderBase);
201
212
  _FcrUIBoardControlShareProviderImpl = FcrUIBoardControlShareProviderImpl;
202
- var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderImpl, [[_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_imports.bound, 2, "saveDraft"], [_imports.bound, 2, "inActive"], [_setIsDualDisplayModeDecs, 18, "setIsDualDisplayMode"], [_handleSubProcessStateUpdatedDecs, 18, "_handleSubProcessStateUpdated"]], [], 0, void 0, _base.FcrUIBoardControlShareProviderBase).e;
213
+ var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderImpl, [[_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_updateSubProcessBackgroundColorDecs, 18, "updateSubProcessBackgroundColor"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_imports.bound, 2, "saveDraft"], [_imports.bound, 2, "inActive"], [_setIsDualDisplayModeDecs, 18, "setIsDualDisplayMode"], [_handleSubProcessStateUpdatedDecs, 18, "_handleSubProcessStateUpdated"]], [], 0, void 0, _base.FcrUIBoardControlShareProviderBase).e;
203
214
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
204
215
  _initProto = _applyDecs$e2[0];
205
216
  _applyDecs$e;
@@ -18,6 +18,7 @@ export declare abstract class FcrUIBoardShareProviderBase implements FcrUIBoardS
18
18
  protected _boardMainWindow: FcrBoardMainWindow | undefined;
19
19
  private _userControl;
20
20
  private _dialogProvider;
21
+ private _userId;
21
22
  private _observer;
22
23
  private _boardObserver;
23
24
  protected get boardMainWindow(): FcrBoardMainWindow;
@@ -116,6 +116,7 @@ var FcrUIBoardShareProviderBase = exports.FcrUIBoardShareProviderBase = /*#__PUR
116
116
  this._sharingControl.addObserver(this._observer);
117
117
  this._addLogger();
118
118
  this.boardState = this._sharingControl.getWhiteboardState();
119
+ this._userId = this._userControl.getLocalUser().userId;
119
120
  if (this.isActive) {
120
121
  this._boardControl.open();
121
122
  }
@@ -198,7 +199,7 @@ var FcrUIBoardShareProviderBase = exports.FcrUIBoardShareProviderBase = /*#__PUR
198
199
  key: "isMyBoard",
199
200
  get: function get() {
200
201
  if (this.isActive) {
201
- return this.ownerUser.userId === this._userControl.getLocalUser().userId;
202
+ return this.ownerUser.userId === this._userId;
202
203
  } else {
203
204
  throw new Error('get isMyBoard failed, no user is sharing board currently');
204
205
  }
@@ -372,6 +373,7 @@ var FcrUIBoardShareProviderBase = exports.FcrUIBoardShareProviderBase = /*#__PUR
372
373
  });
373
374
  if (theme) {
374
375
  this.boardBarControl.toolbarState.themeColors = theme.colors;
376
+ this.boardBarControl.setCurrentTheme(theme);
375
377
  } else {
376
378
  this.logger.warn("setBackgroundColor ".concat(color, " not match in theme"));
377
379
  }
@@ -19,4 +19,5 @@ export declare class FcrUIBoardShareProviderImpl extends FcrUIBoardShareProvider
19
19
  private _handleRedoStateUpdated;
20
20
  private _handleUndoStateUpdated;
21
21
  private _resetWhiteboardTool;
22
+ private _handleBackgroundColorUpdatedForSubProcess;
22
23
  }
@@ -83,7 +83,8 @@ var FcrUIBoardShareProviderImpl = exports.FcrUIBoardShareProviderImpl = /*#__PUR
83
83
  onUndoStateUpdated: _this._handleUndoStateUpdated
84
84
  });
85
85
  (0, _defineProperty2["default"])(_this, "_boardControlObserver", {
86
- onConnectionStateUpdated: _this._handleStateUpdated
86
+ onConnectionStateUpdated: _this._handleStateUpdated,
87
+ onBackgroundColorUpdated: _this._handleBackgroundColorUpdatedForSubProcess
87
88
  });
88
89
  _this._objectManager = _objectManager;
89
90
  _this._mainWindowRenderer = _mainWindowRenderer;
@@ -154,10 +155,15 @@ var FcrUIBoardShareProviderImpl = exports.FcrUIBoardShareProviderImpl = /*#__PUR
154
155
  this.boardMainWindow.setStrokeColor(this._boardBarControl.currentTheme.colors[2]);
155
156
  this.boardBarControl.resetWhiteboardTool();
156
157
  }
158
+ }, {
159
+ key: "_handleBackgroundColorUpdatedForSubProcess",
160
+ value: function _handleBackgroundColorUpdatedForSubProcess(color) {
161
+ this._boardBarControl.updateSubProcessBackgroundColor(color);
162
+ }
157
163
  }]);
158
164
  }(_provider.FcrUIBoardShareProviderBase);
159
165
  _FcrUIBoardShareProviderImpl = FcrUIBoardShareProviderImpl;
160
- var _applyDecs$e = _applyDecs(_FcrUIBoardShareProviderImpl, [[_decorator.bound, 2, "captureScreen"], [_handleStateUpdatedDecs, 18, "_handleStateUpdated"], [_handleRedoStateUpdatedDecs, 18, "_handleRedoStateUpdated"], [_handleUndoStateUpdatedDecs, 18, "_handleUndoStateUpdated"], [_decorator.bound, 2, "_resetWhiteboardTool"]], [], 0, void 0, _provider.FcrUIBoardShareProviderBase).e;
166
+ var _applyDecs$e = _applyDecs(_FcrUIBoardShareProviderImpl, [[_decorator.bound, 2, "captureScreen"], [_handleStateUpdatedDecs, 18, "_handleStateUpdated"], [_handleRedoStateUpdatedDecs, 18, "_handleRedoStateUpdated"], [_handleUndoStateUpdatedDecs, 18, "_handleUndoStateUpdated"], [_decorator.bound, 2, "_resetWhiteboardTool"], [_decorator.bound, 2, "_handleBackgroundColorUpdatedForSubProcess"]], [], 0, void 0, _provider.FcrUIBoardShareProviderBase).e;
161
167
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
162
168
  _initProto = _applyDecs$e2[0];
163
169
  _applyDecs$e;
@@ -142,12 +142,14 @@ export interface FcrUIBoardBarControl {
142
142
  get toolbarState(): FcrToolbarState;
143
143
  release(): void;
144
144
  setSharingUser: (userInfo: FcrUserInfo) => void;
145
+ updateSubProcessBackgroundColor: (color: string) => void;
145
146
  setBackgroundColor: (color: string) => void;
146
147
  setWhiteboardTool: (tool: {
147
148
  action: WhiteboardToolAction;
148
149
  tool: FcrBoardToolType | FcrBoardShape | string | number;
149
150
  }) => void;
150
151
  setTheme: (theme: WhiteboardThemeType) => void;
152
+ setCurrentTheme: (theme: Required<WhiteboardThemeType>) => void;
151
153
  setControlEnable: (enable: boolean) => void;
152
154
  setShowLoading: (show: boolean) => void;
153
155
  setCommonColors: (colors: string[]) => void;
@@ -48,6 +48,7 @@ require("core-js/modules/es.string.includes.js");
48
48
  require("core-js/modules/esnext.iterator.constructor.js");
49
49
  require("core-js/modules/esnext.iterator.find.js");
50
50
  require("core-js/modules/web.dom-collections.iterator.js");
51
+ require("core-js/modules/web.timers.js");
51
52
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
52
53
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
53
54
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -221,6 +222,7 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
221
222
  }
222
223
  },
223
224
  onClosed: function onClosed() {
225
+ _this2.logger.warn("dialog provider openWithKeyAndId onClosed dialogKey: ".concat(dialogKey, " dialogId: ").concat(dialogId));
224
226
  window.removeObserver(windowObserver);
225
227
  _this2.dialogKeyMap["delete"](dialogKey);
226
228
  _this2.dialogIdMap["delete"](dialogId);
@@ -241,9 +243,15 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
241
243
  window.addObserver(windowObserver);
242
244
  window.setPreventClose(true);
243
245
  window.show(showOptions);
244
- if (params !== null && params !== void 0 && params.alwaysOnTop) {
246
+ if (params && params.alwaysOnTop) {
245
247
  window.setAlwaysOnTop(true, 'pop-up-menu');
246
248
  }
249
+ setTimeout(function () {
250
+ _this2.logger.warn("dialog provider openWithKeyAndId setTimeout dialogKey: ".concat(dialogKey, " dialogId: ").concat(dialogId, ",title: ").concat(window.getTitle(), ",isVisible: ").concat(window.isVisible(), ",showOptions: ").concat((0, _imports.jsonstring)(showOptions)));
251
+ if (!window.isVisible() && _this2.dialogKeyMap.has(dialogKey) && _this2.dialogIdMap.has(dialogId)) {
252
+ window.show(showOptions);
253
+ }
254
+ }, 1000);
247
255
  this.observable.notifyObservers('onDialogOpen', dialogKey, dialogId, params);
248
256
  }
249
257
  }, {
@@ -263,7 +271,7 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
263
271
  }]);
264
272
  }(_provider.FcrUIDialogProviderBase);
265
273
  _FcrUIElectronDialogProviderImpl = FcrUIElectronDialogProviderImpl;
266
- var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"], [_decorator.trace, 2, "setSharingDisplayBounds"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
274
+ var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"], [_decorator.trace, 2, "openWithKeyAndId"], [_decorator.trace, 2, "setSharingDisplayBounds"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
267
275
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
268
276
  _initProto = _applyDecs$e2[0];
269
277
  _applyDecs$e;
@@ -1,8 +1,40 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.array.is-array.js");
7
+ require("core-js/modules/es.array.iterator.js");
8
+ require("core-js/modules/es.array.push.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.bind.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
3
15
  require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
4
17
  require("core-js/modules/es.reflect.construct.js");
18
+ require("core-js/modules/es.string.iterator.js");
19
+ require("core-js/modules/esnext.function.metadata.js");
20
+ require("core-js/modules/esnext.map.delete-all.js");
21
+ require("core-js/modules/esnext.map.emplace.js");
22
+ require("core-js/modules/esnext.map.every.js");
23
+ require("core-js/modules/esnext.map.filter.js");
24
+ require("core-js/modules/esnext.map.find.js");
25
+ require("core-js/modules/esnext.map.find-key.js");
26
+ require("core-js/modules/esnext.map.includes.js");
27
+ require("core-js/modules/esnext.map.key-of.js");
28
+ require("core-js/modules/esnext.map.map-keys.js");
29
+ require("core-js/modules/esnext.map.map-values.js");
30
+ require("core-js/modules/esnext.map.merge.js");
31
+ require("core-js/modules/esnext.map.reduce.js");
32
+ require("core-js/modules/esnext.map.some.js");
33
+ require("core-js/modules/esnext.map.update.js");
34
+ require("core-js/modules/esnext.symbol.metadata.js");
35
+ require("core-js/modules/web.dom-collections.iterator.js");
5
36
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
37
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
38
  Object.defineProperty(exports, "__esModule", {
7
39
  value: true
8
40
  });
@@ -12,6 +44,7 @@ require("core-js/modules/es.error.cause.js");
12
44
  require("core-js/modules/es.error.to-string.js");
13
45
  require("core-js/modules/es.object.to-string.js");
14
46
  require("core-js/modules/es.promise.js");
47
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
48
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
49
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
50
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -25,16 +58,24 @@ var _type = require("./type");
25
58
  var _objectManager2 = require("../../../object-manager");
26
59
  var _type2 = require("fcr-core/lib/type");
27
60
  var _defaultConfig = require("../../../utilities/default-config");
61
+ var _decorator = require("agora-foundation/lib/decorator");
62
+ var _FcrUIBrowserScreenShareStrategy;
63
+ var _initProto;
28
64
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
65
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
66
+ 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 set(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 k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(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 s(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)]; } }; }
67
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
68
+ 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); }
69
+ 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; }
70
+ 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; }
30
71
  var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy = /*#__PURE__*/function (_FcrUIScreenShareStra) {
31
72
  function FcrUIBrowserScreenShareStrategy(_objectManager) {
32
73
  var _this;
33
74
  (0, _classCallCheck2["default"])(this, FcrUIBrowserScreenShareStrategy);
34
75
  _this = _callSuper(this, FcrUIBrowserScreenShareStrategy);
35
- (0, _defineProperty2["default"])(_this, "logger", (0, _logger.createLogger)({
76
+ (0, _defineProperty2["default"])(_this, "logger", (_initProto(_this), (0, _logger.createLogger)({
36
77
  prefix: 'BrowserScreenShareStrategy'
37
- }));
78
+ })));
38
79
  (0, _defineProperty2["default"])(_this, "_screenTrack", null);
39
80
  (0, _defineProperty2["default"])(_this, "_loopbackDeviceId", 'default');
40
81
  (0, _defineProperty2["default"])(_this, "_isReplacing", false);
@@ -60,6 +101,7 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
60
101
  }
61
102
  }
62
103
  };
104
+ _this.addObserver((0, _logger.generateLogObserver)(_this.logger, ['onScreenCaptureError', 'onScreenCaptureReplaced', 'onScreenCaptureStarted', 'onScreenCaptureStopped']));
63
105
  return _this;
64
106
  }
65
107
  (0, _inherits2["default"])(FcrUIBrowserScreenShareStrategy, _FcrUIScreenShareStra);
@@ -263,4 +305,9 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
263
305
  return _stopTrackAndWaitUntilSuccess;
264
306
  }()
265
307
  }]);
266
- }(_type.FcrUIScreenShareStrategy);
308
+ }(_type.FcrUIScreenShareStrategy);
309
+ _FcrUIBrowserScreenShareStrategy = FcrUIBrowserScreenShareStrategy;
310
+ var _applyDecs$e = _applyDecs(_FcrUIBrowserScreenShareStrategy, [[_decorator.trace, 2, "startLoopbackCapture"], [_decorator.trace, 2, "stopLoopbackCapture"], [_decorator.trace, 2, "replaceScreenCaptureSource"], [_decorator.trace, 2, "startScreenCapture"], [_decorator.trace, 2, "stopScreenCapture"]], [], 0, void 0, _type.FcrUIScreenShareStrategy).e;
311
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
312
+ _initProto = _applyDecs$e2[0];
313
+ _applyDecs$e;
@@ -1,8 +1,40 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.array.is-array.js");
7
+ require("core-js/modules/es.array.iterator.js");
8
+ require("core-js/modules/es.array.push.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.bind.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
3
15
  require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
4
17
  require("core-js/modules/es.reflect.construct.js");
18
+ require("core-js/modules/es.string.iterator.js");
19
+ require("core-js/modules/esnext.function.metadata.js");
20
+ require("core-js/modules/esnext.map.delete-all.js");
21
+ require("core-js/modules/esnext.map.emplace.js");
22
+ require("core-js/modules/esnext.map.every.js");
23
+ require("core-js/modules/esnext.map.filter.js");
24
+ require("core-js/modules/esnext.map.find.js");
25
+ require("core-js/modules/esnext.map.find-key.js");
26
+ require("core-js/modules/esnext.map.includes.js");
27
+ require("core-js/modules/esnext.map.key-of.js");
28
+ require("core-js/modules/esnext.map.map-keys.js");
29
+ require("core-js/modules/esnext.map.map-values.js");
30
+ require("core-js/modules/esnext.map.merge.js");
31
+ require("core-js/modules/esnext.map.reduce.js");
32
+ require("core-js/modules/esnext.map.some.js");
33
+ require("core-js/modules/esnext.map.update.js");
34
+ require("core-js/modules/esnext.symbol.metadata.js");
35
+ require("core-js/modules/web.dom-collections.iterator.js");
5
36
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
37
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
38
  Object.defineProperty(exports, "__esModule", {
7
39
  value: true
8
40
  });
@@ -13,6 +45,7 @@ require("core-js/modules/es.error.to-string.js");
13
45
  require("core-js/modules/es.array.concat.js");
14
46
  require("core-js/modules/es.object.to-string.js");
15
47
  require("core-js/modules/es.promise.js");
48
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
49
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
50
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
18
51
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -24,16 +57,24 @@ var _logger = require("../../../utilities/logger");
24
57
  var _type = require("./type");
25
58
  var _objectManager2 = require("../../../object-manager");
26
59
  var _fcrCore = require("fcr-core");
60
+ var _decorator = require("agora-foundation/lib/decorator");
61
+ var _FcrUIElectronScreenShareStrategy;
62
+ var _initProto;
27
63
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
28
64
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
65
+ 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 set(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 k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(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 s(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)]; } }; }
66
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
67
+ 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); }
68
+ 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; }
69
+ 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; }
29
70
  var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy = /*#__PURE__*/function (_FcrUIScreenShareStra) {
30
71
  function FcrUIElectronScreenShareStrategy(_objectManager) {
31
72
  var _this;
32
73
  (0, _classCallCheck2["default"])(this, FcrUIElectronScreenShareStrategy);
33
74
  _this = _callSuper(this, FcrUIElectronScreenShareStrategy);
34
- (0, _defineProperty2["default"])(_this, "logger", (0, _logger.createLogger)({
75
+ (0, _defineProperty2["default"])(_this, "logger", (_initProto(_this), (0, _logger.createLogger)({
35
76
  prefix: 'ElectronScreenShareStrategy'
36
- }));
77
+ })));
37
78
  (0, _defineProperty2["default"])(_this, "_screenTrack", null);
38
79
  (0, _defineProperty2["default"])(_this, "_loopbackTrack", null);
39
80
  (0, _defineProperty2["default"])(_this, "_isReplacing", false);
@@ -43,10 +84,16 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
43
84
  _this._screenTrackObserver = {
44
85
  onScreenCaptureStateUpdated: function onScreenCaptureStateUpdated(sourceId, state) {
45
86
  if (state === _fcrCore.FcrMediaSourceState.ERROR) {
87
+ if (_this._screenTrack) {
88
+ _this._screenTrack.removeObserver(_this._screenTrackObserver);
89
+ }
46
90
  _this._screenTrack = null;
47
91
  _this.observable.notifyObservers('onScreenCaptureError', sourceId, _type.FcrUIScreenShareCaptureError.UNKNOWN);
48
92
  }
49
93
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
94
+ if (_this._screenTrack) {
95
+ _this._screenTrack.removeObserver(_this._screenTrackObserver);
96
+ }
50
97
  _this._screenTrack = null;
51
98
  if (!_this._isReplacing) {
52
99
  _this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
@@ -62,6 +109,7 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
62
109
  }
63
110
  }
64
111
  };
112
+ _this.addObserver((0, _logger.generateLogObserver)(_this.logger, ['onScreenCaptureError', 'onScreenCaptureReplaced', 'onScreenCaptureStarted', 'onScreenCaptureStopped']));
65
113
  return _this;
66
114
  }
67
115
  (0, _inherits2["default"])(FcrUIElectronScreenShareStrategy, _FcrUIScreenShareStra);
@@ -214,6 +262,13 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
214
262
  frameRate = _args4.length > 4 ? _args4[4] : undefined;
215
263
  bitrate = _args4.length > 5 ? _args4[5] : undefined;
216
264
  this._screenTrack = screenTrack;
265
+ if (!(screenTrack.getState() === _fcrCore.FcrMediaSourceState.OPEN)) {
266
+ _context4.next = 1;
267
+ break;
268
+ }
269
+ this.logger.info('the screen track is already started');
270
+ return _context4.abrupt("return");
271
+ case 1:
217
272
  p = new Promise(function (resolve, reject) {
218
273
  var waitObserver = {
219
274
  onScreenCaptureStateUpdated: function onScreenCaptureStateUpdated(sourceId, state) {
@@ -239,9 +294,9 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
239
294
  bitrate: bitrate
240
295
  });
241
296
  screenTrack.start(captureType, excludeWindows);
242
- _context4.next = 1;
297
+ _context4.next = 2;
243
298
  return p;
244
- case 1:
299
+ case 2:
245
300
  case "end":
246
301
  return _context4.stop();
247
302
  }
@@ -261,6 +316,15 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
261
316
  return _regenerator["default"].wrap(function (_context5) {
262
317
  while (1) switch (_context5.prev = _context5.next) {
263
318
  case 0:
319
+ if (!(screenTrack.getState() === _fcrCore.FcrMediaSourceState.CLOSE)) {
320
+ _context5.next = 1;
321
+ break;
322
+ }
323
+ this.logger.info('the screen track is already stopped');
324
+ screenTrack.removeObserver(this._screenTrackObserver);
325
+ this._screenTrack = null;
326
+ return _context5.abrupt("return");
327
+ case 1:
264
328
  p = new Promise(function (resolve) {
265
329
  var waitObserver = {
266
330
  onScreenCaptureStateUpdated: function onScreenCaptureStateUpdated(sourceId, state) {
@@ -274,12 +338,12 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
274
338
  screenTrack.addObserver(waitObserver);
275
339
  });
276
340
  screenTrack.stop();
277
- _context5.next = 1;
341
+ _context5.next = 2;
278
342
  return p;
279
- case 1:
343
+ case 2:
280
344
  screenTrack.removeObserver(this._screenTrackObserver);
281
345
  this._screenTrack = null;
282
- case 2:
346
+ case 3:
283
347
  case "end":
284
348
  return _context5.stop();
285
349
  }
@@ -291,4 +355,9 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
291
355
  return _stopTrackAndWaitUntilSuccess;
292
356
  }()
293
357
  }]);
294
- }(_type.FcrUIScreenShareStrategy);
358
+ }(_type.FcrUIScreenShareStrategy);
359
+ _FcrUIElectronScreenShareStrategy = FcrUIElectronScreenShareStrategy;
360
+ var _applyDecs$e = _applyDecs(_FcrUIElectronScreenShareStrategy, [[_decorator.trace, 2, "startScreenCapture"], [_decorator.trace, 2, "stopScreenCapture"], [_decorator.trace, 2, "startLoopbackCapture"], [_decorator.trace, 2, "stopLoopbackCapture"], [_decorator.trace, 2, "replaceScreenCaptureSource"]], [], 0, void 0, _type.FcrUIScreenShareStrategy).e;
361
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
362
+ _initProto = _applyDecs$e2[0];
363
+ _applyDecs$e;
@@ -4,13 +4,15 @@ import { FcrVideoEncoderConfig } from 'fcr-core/lib/type';
4
4
  import { FcrUIScreenStreamUpdateParams } from './type';
5
5
  export declare class FcrUIScreenStreamSync implements FcrUIManagedObject {
6
6
  protected logger: import("agora-foundation/lib/logger").Logger;
7
+ private _videoWindowDataSource;
7
8
  private _myCurrentScreenShareStreamId;
8
9
  private _sharingControl;
9
10
  private _streamControl;
10
11
  private _released;
12
+ private _isStopped;
11
13
  constructor(objectManager: FcrUIObjectManager);
12
14
  release(): void;
13
- checkIfMyScreenShareStreamExists(): string | null;
15
+ checkIfMyScreenShareStreamExists(): boolean;
14
16
  startScreenStream(createConfig: FcrScreenStreamCreateConfig, encoderConfig: FcrVideoEncoderConfig): Promise<void>;
15
17
  stopScreenStream(): Promise<void>;
16
18
  updateStream({ videoSourceId, audioPublishPrivilege, videoPublishPrivilege, }: FcrUIScreenStreamUpdateParams): Promise<void>;