fcr-ui-scene 3.7.5 → 3.7.7-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 (255) hide show
  1. package/lib/creator/index.js +15 -7
  2. package/lib/creator/provider-initializer.browser.js +13 -4
  3. package/lib/creator/provider-initializer.electron.js +22 -10
  4. package/lib/electron/bootstrap-sdk.js +90 -6
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/struct.d.ts +7 -1
  13. package/lib/electron/struct.js +8 -1
  14. package/lib/electron/until.d.ts +7 -1
  15. package/lib/electron/until.js +11 -2
  16. package/lib/fragments/annotation/store.js +2 -0
  17. package/lib/modules/action-bar/components/item/index.js +1 -0
  18. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  19. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  20. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  21. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  22. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  23. package/lib/modules/audio-stream/index.js +4 -2
  24. package/lib/modules/chat/index.css +8 -0
  25. package/lib/modules/chat/view.js +7 -1
  26. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  27. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  28. package/lib/modules/components/control-bar/index.css +0 -2
  29. package/lib/modules/components/control-bar/index.d.ts +1 -0
  30. package/lib/modules/components/control-bar/index.js +51 -15
  31. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  32. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  33. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  34. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  35. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  36. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  37. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  38. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  39. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  40. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  41. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  42. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  43. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  44. package/lib/modules/components/toolbar/index.js +6 -24
  45. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  46. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  47. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  48. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  49. package/lib/modules/control-bar/hooks.js +2 -1
  50. package/lib/modules/control-bar/store.d.ts +1 -0
  51. package/lib/modules/control-bar/store.js +21 -7
  52. package/lib/modules/control-bar/view.js +96 -28
  53. package/lib/modules/dialog/components/confirm/index.js +6 -24
  54. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  55. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  56. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  57. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  58. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  59. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  60. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  61. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  62. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  63. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  64. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  65. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  66. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  67. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  68. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  69. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  70. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  71. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  72. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  73. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  74. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  75. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  76. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  77. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  78. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  79. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  80. package/lib/modules/dialog/index.css +6 -2
  81. package/lib/modules/dialog/level-config.d.ts +1 -0
  82. package/lib/modules/dialog/level-config.js +2 -1
  83. package/lib/modules/dialog/store.base.d.ts +2 -0
  84. package/lib/modules/dialog/store.browser.d.ts +2 -0
  85. package/lib/modules/dialog/store.browser.js +6 -1
  86. package/lib/modules/dialog/store.electron.d.ts +9 -1
  87. package/lib/modules/dialog/store.electron.js +64 -4
  88. package/lib/modules/dialog/type.d.ts +3 -0
  89. package/lib/modules/event-toast/index.css +0 -1
  90. package/lib/modules/event-toast/index.js +1 -0
  91. package/lib/modules/event-toast/store.base.d.ts +2 -0
  92. package/lib/modules/event-toast/store.base.js +40 -21
  93. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  94. package/lib/modules/event-toast/store.electron.js +19 -9
  95. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  96. package/lib/modules/layout/store.electron.js +1 -1
  97. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  98. package/lib/modules/participant/store.base.d.ts +30 -3
  99. package/lib/modules/participant/store.base.js +249 -96
  100. package/lib/modules/participant/store.browser.js +4 -3
  101. package/lib/modules/participant/store.electron.js +5 -3
  102. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  103. package/lib/modules/secondary-window/store.d.ts +1 -1
  104. package/lib/modules/secondary-window/store.js +14 -22
  105. package/lib/modules/secondary-window/view.js +10 -10
  106. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  107. package/lib/modules/setting/index.js +1 -1
  108. package/lib/modules/setting/state/index.js +1 -1
  109. package/lib/modules/setting/store.base.d.ts +5 -2
  110. package/lib/modules/setting/store.base.js +72 -26
  111. package/lib/modules/share-screen/components/selection/index.css +4 -0
  112. package/lib/modules/share-screen/store.base.js +17 -4
  113. package/lib/modules/share-screen/store.electron.js +5 -2
  114. package/lib/modules/state-bar/layout-config.js +6 -0
  115. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  116. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  117. package/lib/modules/video-window/index.css +6 -0
  118. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  119. package/lib/modules/video-window/popover-watcher.js +34 -31
  120. package/lib/modules/video-window/store.d.ts +32 -5
  121. package/lib/modules/video-window/store.js +156 -63
  122. package/lib/modules/video-window/view.js +50 -1
  123. package/lib/modules/whiteboard/index.d.ts +1 -1
  124. package/lib/modules/whiteboard/index.js +1 -1
  125. package/lib/modules/whiteboard/store.d.ts +3 -0
  126. package/lib/modules/whiteboard/store.js +31 -2
  127. package/lib/modules/whiteboard/view.js +10 -1
  128. package/lib/modules/widget/sdk.js +1 -1
  129. package/lib/modules/widget/store.base.d.ts +1 -0
  130. package/lib/modules/widget/store.browser.d.ts +1 -0
  131. package/lib/modules/widget/store.browser.js +60 -4
  132. package/lib/modules/widget/store.electron.d.ts +1 -0
  133. package/lib/modules/widget/store.electron.js +59 -2
  134. package/lib/modules/widget/type.d.ts +3 -2
  135. package/lib/modules/widget/view.js +9 -4
  136. package/lib/modules/widget/web-widget.d.ts +2 -1
  137. package/lib/modules/widget/web-widget.js +7 -5
  138. package/lib/object-manager.d.ts +2 -2
  139. package/lib/object-manager.js +1 -1
  140. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  141. package/lib/providers/board-share/bar-control/base.js +37 -28
  142. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  143. package/lib/providers/board-share/bar-control/electron.js +19 -16
  144. package/lib/providers/board-share/provider.base.d.ts +8 -1
  145. package/lib/providers/board-share/provider.base.js +12 -2
  146. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  147. package/lib/providers/board-share/provider.browser.js +21 -3
  148. package/lib/providers/device-provider.d.ts +16 -2
  149. package/lib/providers/device-provider.js +53 -60
  150. package/lib/providers/dialog/provider.base.d.ts +1 -0
  151. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  152. package/lib/providers/dialog/provider.browser.js +7 -2
  153. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  154. package/lib/providers/dialog/provider.electron.js +94 -2
  155. package/lib/providers/dialog/type.d.ts +7 -0
  156. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  157. package/lib/providers/mouse-detect/provider.js +119 -5
  158. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  159. package/lib/providers/mouse-detect/struct.js +1 -0
  160. package/lib/providers/mouse-detect/type.d.ts +2 -0
  161. package/lib/providers/multi-display-provider.d.ts +3 -5
  162. package/lib/providers/multi-display-provider.js +0 -9
  163. package/lib/providers/renderer-provider.d.ts +5 -0
  164. package/lib/providers/renderer-provider.js +5 -0
  165. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  166. package/lib/providers/room-provider/room-provider.js +28 -39
  167. package/lib/providers/screen-share/provider.base.js +3 -11
  168. package/lib/providers/screen-share/provider.browser.js +23 -14
  169. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  170. package/lib/providers/screen-share/provider.electron.js +44 -17
  171. package/lib/providers/screen-share/strategy/browser.js +16 -13
  172. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  173. package/lib/providers/screen-share/strategy/electron.js +15 -10
  174. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  175. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  176. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  177. package/lib/providers/screen-share/struct.d.ts +9 -7
  178. package/lib/providers/screen-share/struct.js +11 -8
  179. package/lib/providers/screen-share/type.d.ts +7 -1
  180. package/lib/providers/widget-provider.d.ts +5 -3
  181. package/lib/providers/widget-provider.js +12 -18
  182. package/lib/providers/window/main-window.d.ts +0 -5
  183. package/lib/providers/window/main-window.js +3 -44
  184. package/lib/providers/window/renderer-window.d.ts +1 -0
  185. package/lib/providers/window/renderer-window.js +13 -2
  186. package/lib/runtime.d.ts +1 -0
  187. package/lib/runtime.js +2 -1
  188. package/lib/scenes/main-scene.js +5 -0
  189. package/lib/shared-context/board-context.d.ts +2 -0
  190. package/lib/shared-context/board-context.js +2 -0
  191. package/lib/shared-data/member-data.d.ts +0 -8
  192. package/lib/shared-data/member-data.js +26 -78
  193. package/lib/shared-data/widget-data.d.ts +13 -0
  194. package/lib/shared-data/widget-data.js +50 -0
  195. package/lib/translations/enUS.d.ts +0 -2
  196. package/lib/translations/enUS.js +4 -6
  197. package/lib/translations/zhCN.d.ts +0 -2
  198. package/lib/translations/zhCN.js +4 -6
  199. package/lib/type.d.ts +5 -0
  200. package/lib/ui-scene.d.ts +2 -4
  201. package/lib/ui-scene.js +31 -42
  202. package/lib/utilities/constant.d.ts +3 -1
  203. package/lib/utilities/constant.js +5 -2
  204. package/lib/utilities/default-config.d.ts +18 -0
  205. package/lib/utilities/default-config.js +19 -1
  206. package/lib/utilities/focus-helper.js +10 -3
  207. package/lib/utilities/logger.js +3 -1
  208. package/lib/utilities/renderer.d.ts +1 -0
  209. package/lib/utilities/renderer.js +7 -1
  210. package/package.json +5 -5
  211. package/public/index.html +35 -4
  212. package/lib/modules/action-bar/index.d.ts +0 -17
  213. package/lib/modules/action-bar/index.js +0 -63
  214. package/lib/modules/action-bar/store.base.d.ts +0 -15
  215. package/lib/modules/action-bar/store.base.js +0 -117
  216. package/lib/modules/action-bar/view.d.ts +0 -5
  217. package/lib/modules/action-bar/view.js +0 -112
  218. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  219. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  220. package/lib/modules/control-bar/types.d.ts +0 -31
  221. package/lib/modules/control-bar/types.js +0 -6
  222. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  223. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  224. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  225. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  226. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  227. package/lib/modules/event-toast/store.d.ts +0 -23
  228. package/lib/modules/event-toast/store.js +0 -187
  229. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  230. package/lib/modules/setting/common/advance-link.js +0 -27
  231. package/lib/modules/setting/common/index.css +0 -26
  232. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  233. package/lib/modules/setting/common/useNamespace.js +0 -66
  234. package/lib/modules/widget/store.d.ts +0 -17
  235. package/lib/modules/widget/store.js +0 -71
  236. package/lib/providers/board-share/bar-control.d.ts +0 -51
  237. package/lib/providers/board-share/bar-control.js +0 -390
  238. package/lib/providers/board-share/provider.d.ts +0 -66
  239. package/lib/providers/board-share/provider.js +0 -456
  240. package/lib/providers/screen-share/provider.d.ts +0 -69
  241. package/lib/providers/screen-share/provider.js +0 -615
  242. package/lib/providers/whiteboard-provider.d.ts +0 -26
  243. package/lib/providers/whiteboard-provider.js +0 -131
  244. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  245. package/lib/providers/window/browser-window-proxy.js +0 -1
  246. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  247. package/lib/providers/window/ipc-protocol.js +0 -1
  248. package/lib/providers/window/main-process-handler.d.ts +0 -0
  249. package/lib/providers/window/main-process-handler.js +0 -1
  250. package/lib/providers/window/main-process-integration.d.ts +0 -0
  251. package/lib/providers/window/main-process-integration.js +0 -1
  252. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  253. package/lib/shared-data/whiteboard-data.js +0 -342
  254. package/lib/utilities/ipc-protocol.d.ts +0 -91
  255. package/lib/utilities/ipc-protocol.js +0 -61
@@ -93,15 +93,16 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function (_ParticipantS
93
93
  }, {
94
94
  key: "_openChangeNameDialog",
95
95
  value: function _openChangeNameDialog(userId) {
96
- this._operatorRenameUserId = userId;
97
- var user = this.userMap.get(this._operatorRenameUserId);
96
+ this._renamingUserId = userId;
97
+ var user = this.userMap.get(this._renamingUserId);
98
98
  if (!user) {
99
99
  this.logger.error('User not found', {
100
100
  userId: userId
101
101
  });
102
102
  return;
103
103
  }
104
- this._operatorRenameUserName = user.userInfo.userName;
104
+ this._renamingUserName = user.userInfo.userName;
105
+ this.newName = user.userInfo.userName;
105
106
  this._openDialog(_constant.FcrUIDialogKey.RENAME);
106
107
  }
107
108
  }, {
@@ -91,17 +91,19 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function (_ParticipantS
91
91
  }, {
92
92
  key: "_openChangeNameDialog",
93
93
  value: function _openChangeNameDialog(userId) {
94
- this._operatorRenameUserId = userId;
95
- var user = this.userMap.get(this._operatorRenameUserId);
94
+ this._renamingUserId = userId;
95
+ var user = this.userMap.get(this._renamingUserId);
96
96
  if (!user) {
97
97
  this.logger.error('User not found', {
98
98
  userId: userId
99
99
  });
100
100
  return;
101
101
  }
102
- this._operatorRenameUserName = user.userInfo.userName;
102
+ this._renamingUserName = user.userInfo.userName;
103
+ this.newName = user.userInfo.userName;
103
104
  this._openDialog(_constant.FcrUIDialogKey.RENAME);
104
105
  var renameWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.RENAME);
106
+ this.logger.info('windows_index setAlwaysOnTop in participant openChangeNameDialog');
105
107
  renameWindow.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.RENAME_WINDOW_LEVEL);
106
108
  }
107
109
  }, {
@@ -279,6 +279,7 @@ var ConnectionGatewayStoreMainScene = exports["default"] = /*#__PURE__*/function
279
279
  hasOpenMicrophonePrivilege = _context2.sent;
280
280
  includeMicrophone = shouldIncludeMicrophone && hasOpenMicrophonePrivilege;
281
281
  this._deviceProvider.connectAudio(includeMicrophone);
282
+ this._dialogProvider.closeDialog(_constant.FcrUIDialogKey.CONNECTION_GATEWAY);
282
283
  case 2:
283
284
  case "end":
284
285
  return _context2.stop();
@@ -21,7 +21,6 @@ export declare class SecondaryWindowStore {
21
21
  private _diffScalcValue;
22
22
  private accessor _screenShareScalcValue;
23
23
  accessor isSharingWhiteboard: boolean;
24
- accessor iframeLoaded: boolean;
25
24
  accessor interceptedClose: boolean;
26
25
  get secondaryWindowContentType(): "speaker" | "gallery" | "hidden" | "local-camera" | "remote-camera" | "sharing-screen" | "sharing-screen-with-annotation" | "sharing-whiteboard";
27
26
  get videoWindowData(): VideoWindowDataReturn<typeof this.secondaryWindowContentType>;
@@ -47,6 +46,7 @@ export declare class SecondaryWindowStore {
47
46
  get isSharingWithAudio(): boolean;
48
47
  get videoRenderContext(): FcrVideoTrackRenderer;
49
48
  get isActive(): boolean;
49
+ get baseUrl(): string;
50
50
  constructor({ objectManager }: SecondaryWindowStoreArgs);
51
51
  getContent(): void;
52
52
  handleIframeLoad(iframe: HTMLIFrameElement): void;
@@ -65,7 +65,7 @@ var _type2 = require("../layout/type");
65
65
  var _objectManager = require("../../object-manager");
66
66
  var _type3 = require("../../providers/dialog/type");
67
67
  var _SecondaryWindowStore;
68
- var _initProto, _init__screenShareScalcValue, _init_isSharingWhiteboard, _init_iframeLoaded, _init_interceptedClose;
68
+ var _initProto, _init__screenShareScalcValue, _init_isSharingWhiteboard, _init_interceptedClose;
69
69
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
70
70
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
71
71
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -79,7 +79,6 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
79
79
  var _A = /*#__PURE__*/new WeakMap();
80
80
  var _B = /*#__PURE__*/new WeakMap();
81
81
  var _C = /*#__PURE__*/new WeakMap();
82
- var _D = /*#__PURE__*/new WeakMap();
83
82
  var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function () {
84
83
  function SecondaryWindowStore(_ref) {
85
84
  var _this = this;
@@ -103,8 +102,7 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
103
102
  (0, _defineProperty2["default"])(this, "_diffScalcValue", 0.5);
104
103
  _classPrivateFieldInitSpec(this, _A, _init__screenShareScalcValue(this, 1));
105
104
  _classPrivateFieldInitSpec(this, _B, _init_isSharingWhiteboard(this, false));
106
- _classPrivateFieldInitSpec(this, _C, _init_iframeLoaded(this, false));
107
- _classPrivateFieldInitSpec(this, _D, _init_interceptedClose(this, false));
105
+ _classPrivateFieldInitSpec(this, _C, _init_interceptedClose(this, false));
108
106
  (0, _defineProperty2["default"])(this, "_handleSecondaryWindowClosed", function (dialogKey) {
109
107
  if (dialogKey !== _constant.FcrUIDialogKey.SUB_WINDOW) {
110
108
  return false;
@@ -160,21 +158,13 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
160
158
  _classPrivateFieldSet(_B, this, v);
161
159
  }
162
160
  }, {
163
- key: "iframeLoaded",
161
+ key: "interceptedClose",
164
162
  get: function get() {
165
163
  return _classPrivateFieldGet(_C, this);
166
164
  },
167
165
  set: function set(v) {
168
166
  _classPrivateFieldSet(_C, this, v);
169
167
  }
170
- }, {
171
- key: "interceptedClose",
172
- get: function get() {
173
- return _classPrivateFieldGet(_D, this);
174
- },
175
- set: function set(v) {
176
- _classPrivateFieldSet(_D, this, v);
177
- }
178
168
  }, {
179
169
  key: "secondaryWindowContentType",
180
170
  get: function get() {
@@ -272,17 +262,17 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
272
262
  }, {
273
263
  key: "connectionState",
274
264
  get: function get() {
275
- return this._boardShareProvider.connectionState;
265
+ return this._boardShareProvider.boardBarControl.connectionState;
276
266
  }
277
267
  }, {
278
268
  key: "showLoading",
279
269
  get: function get() {
280
- return this._boardShareProvider.loading;
270
+ return this._boardShareProvider.boardBarControl.showLoading;
281
271
  }
282
272
  }, {
283
273
  key: "joinSuccess",
284
274
  get: function get() {
285
- return this._boardShareProvider.joined;
275
+ return this._boardShareProvider.boardBarControl.joinSuccess;
286
276
  }
287
277
  }, {
288
278
  key: "isMyBoard",
@@ -327,6 +317,11 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
327
317
  get: function get() {
328
318
  return this._boardShareProvider.isActive;
329
319
  }
320
+ }, {
321
+ key: "baseUrl",
322
+ get: function get() {
323
+ return this._renderer.getBaseUrl();
324
+ }
330
325
  }, {
331
326
  key: "getContent",
332
327
  value: function getContent() {}
@@ -337,7 +332,6 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
337
332
  iframe === null || iframe === void 0 || iframe.addEventListener('load', function () {
338
333
  iframe.style.width = '100%';
339
334
  iframe.style.height = '100%';
340
- _this2.iframeLoaded = true;
341
335
  if (!iframe.contentWindow) {
342
336
  _this2.logger.error('Iframe has no contentWindow');
343
337
  return;
@@ -494,16 +488,14 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
494
488
  }, {
495
489
  key: "_closeSecondaryWindow",
496
490
  value: function _closeSecondaryWindow() {
497
- this.iframeLoaded = false;
498
491
  this._dialogProvider.closeDialog(_constant.FcrUIDialogKey.SUB_WINDOW);
499
492
  }
500
493
  }]);
501
494
  }();
502
495
  _SecondaryWindowStore = SecondaryWindowStore;
503
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SecondaryWindowStore, [[_mobx.observable, 1, "_screenShareScalcValue"], [_mobx.observable, 1, "isSharingWhiteboard"], [_mobx.observable, 1, "iframeLoaded"], [_mobx.observable, 1, "interceptedClose"], [_mobx.computed, 3, "videoWindowData"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_mobx.computed, 3, "scalValue"], [_decorator.bound, 2, "handleIframeLoad"], [_decorator.bound, 2, "zoomIn"], [_decorator.bound, 2, "zoomOut"], [_decorator.bound, 2, "fullContainer"], [_decorator.bound, 2, "setInterceptedClose"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "setOriginScalc"], [_decorator.bound, 2, "setSpeakerViewSize"], [_decorator.bound, 2, "setWhiteboardTool"], [_decorator.bound, 2, "saveWhiteboardDraft"], [_decorator.bound, 2, "setProgress"], [_decorator.bound, 2, "setTheme"], [_decorator.bound, 2, "setControlEnable"], [_decorator.bound, 2, "setShowLoading"], [_decorator.bound, 2, "setCommonColors"], [_decorator.bound, 2, "log"]], []).e, 5);
496
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SecondaryWindowStore, [[_mobx.observable, 1, "_screenShareScalcValue"], [_mobx.observable, 1, "isSharingWhiteboard"], [_mobx.observable, 1, "interceptedClose"], [_mobx.computed, 3, "videoWindowData"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_mobx.computed, 3, "scalValue"], [_decorator.bound, 2, "handleIframeLoad"], [_decorator.bound, 2, "zoomIn"], [_decorator.bound, 2, "zoomOut"], [_decorator.bound, 2, "fullContainer"], [_decorator.bound, 2, "setInterceptedClose"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "setOriginScalc"], [_decorator.bound, 2, "setSpeakerViewSize"], [_decorator.bound, 2, "setWhiteboardTool"], [_decorator.bound, 2, "saveWhiteboardDraft"], [_decorator.bound, 2, "setProgress"], [_decorator.bound, 2, "setTheme"], [_decorator.bound, 2, "setControlEnable"], [_decorator.bound, 2, "setShowLoading"], [_decorator.bound, 2, "setCommonColors"], [_decorator.bound, 2, "log"]], []).e, 4);
504
497
  _init__screenShareScalcValue = _applyDecs$e[0];
505
498
  _init_isSharingWhiteboard = _applyDecs$e[1];
506
- _init_iframeLoaded = _applyDecs$e[2];
507
- _init_interceptedClose = _applyDecs$e[3];
508
- _initProto = _applyDecs$e[4];
499
+ _init_interceptedClose = _applyDecs$e[2];
500
+ _initProto = _applyDecs$e[3];
509
501
  var SecondaryWindowStoreContext = exports.SecondaryWindowStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -47,7 +47,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
47
47
  isAspectRatioPreserved = store.isAspectRatioPreserved,
48
48
  isShowToolbar = store.isShowToolbar,
49
49
  isActive = store.isActive,
50
- iframeLoaded = store.iframeLoaded,
50
+ baseUrl = store.baseUrl,
51
51
  setOriginScalc = store.setOriginScalc,
52
52
  zoomIn = store.zoomIn,
53
53
  zoomOut = store.zoomOut,
@@ -104,7 +104,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
104
104
  var content = null;
105
105
  if (isBoardShare) {
106
106
  content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
107
- children: [showLoading && !iframeLoaded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.Loading, {
107
+ children: [showLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.Loading, {
108
108
  joined: joinSuccess,
109
109
  connectionState: connectionState,
110
110
  canOperate: canWriteBoard,
@@ -114,7 +114,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
114
114
  }), toolbarState.progress > 0 && toolbarState.progress < 100 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_progress["default"], {
115
115
  title: "".concat((0, _i18n.transI18n)('fmt_screenshare_whiteboard_tips_downloading'), "..."),
116
116
  progress: toolbarState.progress
117
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar.WhiteboardControlbar, {
117
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_controlBar.WhiteboardControlbar, {
118
118
  onClose: function onClose() {},
119
119
  onEnable: function onEnable(enable) {
120
120
  setControlEnable(enable);
@@ -127,17 +127,17 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
127
127
  sharingType: 'whiteboard',
128
128
  ownerUserName: videoWindowData.userName,
129
129
  isMyBoard: isActive && store.isMyBoard,
130
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
130
+ children: [!isShowToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
+ className: "whiteboard-action-prevent"
132
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
131
133
  ref: handleIframeLoad,
132
134
  allow: "webview",
133
- src: "/whiteboard.html?type=whiteboard",
135
+ src: "".concat(baseUrl, "/whiteboard.html?type=whiteboard"),
134
136
  style: {
135
137
  width: '100vw',
136
- height: '100vh',
137
- minWidth: '100vw',
138
- minHeight: '100vh'
138
+ height: 'calc(100vh - 28px)'
139
139
  }
140
- })
140
+ })]
141
141
  })]
142
142
  });
143
143
  } else {
@@ -181,7 +181,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
181
181
  }), secondaryWindowContentType === _type2.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION && annotationHasStart && /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
182
182
  ref: handleIframeLoad,
183
183
  allow: "webview",
184
- src: "/whiteboard.html?type=annotation",
184
+ src: "".concat(baseUrl, "/whiteboard.html?type=annotation"),
185
185
  style: {
186
186
  width: '100%',
187
187
  height: '100%',
@@ -177,23 +177,6 @@ var AudioSettings = exports.AudioSettings = (0, _mobxReact.observer)(function ()
177
177
  value: microphoneVolumeLevel,
178
178
  barCount: 13
179
179
  })]
180
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
181
- className: ns.e('form-item'),
182
- onMouseDown: function onMouseDown(e) {
183
- return e.stopPropagation();
184
- },
185
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
186
- className: ns.e('form-label'),
187
- children: t('fmt_internalsetting_label_inputvolume')
188
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_slider.FcrSlider, {
189
- value: microphoneVolume,
190
- min: 0,
191
- max: 400,
192
- step: 1,
193
- onChange: setMicrophoneVolume,
194
- draggableDom: containerDom
195
- // disabled={setting.autoAdjustmentMicrophoneVolume}
196
- })]
197
180
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
198
181
  className: ns.em('checkbox-wrapper', 'bordered'),
199
182
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
@@ -87,7 +87,7 @@ var SettingUIModule = exports.SettingUIModule = /*#__PURE__*/function (_UIModule
87
87
  _this.store.handleExitRoom();
88
88
  },
89
89
  onRoutingChanged: function onRoutingChanged() {
90
- _this.store.handleExitRoom();
90
+ _this.store.handleExitRoom(true);
91
91
  _this.store.handleJoinRoom();
92
92
  }
93
93
  });
@@ -184,7 +184,7 @@ var State = exports.State = (0, _mobxReact.observer)(function () {
184
184
  title: t('fmt_qualitystatistics_label_video'),
185
185
  data: videoData
186
186
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DataCard, {
187
- title: t('fmt_screenshare_label_screenshare'),
187
+ title: t('fmt_screenshare_controlbar_security_list_participant_screenshare'),
188
188
  data: screenShareData
189
189
  })]
190
190
  })]
@@ -35,6 +35,7 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
35
35
  private _monitorObserver;
36
36
  private _roomObserver;
37
37
  private _streamObserver;
38
+ private _deviceProviderObserver;
38
39
  private _objectManager;
39
40
  private _interpreterRoomControlReaction;
40
41
  private _streamControl;
@@ -179,7 +180,7 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
179
180
  clearGetSystemInfoInterval(): void;
180
181
  changeMediaSetting(key: keyof typeof this._sharedSettingDataSource.media, value: any): void;
181
182
  handleJoinRoom(): void;
182
- handleExitRoom(): void;
183
+ handleExitRoom(isRoutingChange?: boolean): void;
183
184
  private _onNetworkStatsUpdated;
184
185
  private _onLocalAudioStatsUpdated;
185
186
  private _onRemoteAudioStatsUpdated;
@@ -190,9 +191,11 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
190
191
  private _onStreamsRemoved;
191
192
  private _onPerformanceUpdated;
192
193
  private _handleCameraChanged;
193
- private _handleCameraListUpdated;
194
194
  private _onAudioVolumeUpdated;
195
195
  private _preHandleSetting;
196
196
  private _setMeetingSettingsToLocalStorage;
197
+ private _handleSystemSelectedDeviceChanged;
198
+ private _showSystemSelectedDeviceChangedToast;
199
+ private _windows10UnsupportAirPods;
197
200
  }
198
201
  export declare const StoreContext: import("react").Context<SettingStoreBase>;
@@ -16,7 +16,6 @@ require("core-js/modules/es.object.define-properties.js");
16
16
  require("core-js/modules/es.object.define-property.js");
17
17
  require("core-js/modules/es.object.get-own-property-descriptor.js");
18
18
  require("core-js/modules/es.object.get-own-property-descriptors.js");
19
- require("core-js/modules/es.regexp.exec.js");
20
19
  require("core-js/modules/es.regexp.test.js");
21
20
  require("core-js/modules/es.regexp.to-string.js");
22
21
  require("core-js/modules/esnext.function.metadata.js");
@@ -41,6 +40,7 @@ require("core-js/modules/es.array.filter.js");
41
40
  require("core-js/modules/es.array.find.js");
42
41
  require("core-js/modules/es.array.for-each.js");
43
42
  require("core-js/modules/es.array.from.js");
43
+ require("core-js/modules/es.array.includes.js");
44
44
  require("core-js/modules/es.array.iterator.js");
45
45
  require("core-js/modules/es.array.map.js");
46
46
  require("core-js/modules/es.array.push.js");
@@ -54,7 +54,10 @@ require("core-js/modules/es.object.assign.js");
54
54
  require("core-js/modules/es.object.entries.js");
55
55
  require("core-js/modules/es.object.keys.js");
56
56
  require("core-js/modules/es.object.to-string.js");
57
+ require("core-js/modules/es.regexp.exec.js");
58
+ require("core-js/modules/es.string.includes.js");
57
59
  require("core-js/modules/es.string.iterator.js");
60
+ require("core-js/modules/es.string.replace.js");
58
61
  require("core-js/modules/es.weak-map.js");
59
62
  require("core-js/modules/esnext.iterator.constructor.js");
60
63
  require("core-js/modules/esnext.iterator.filter.js");
@@ -93,6 +96,7 @@ var _roomProvider = require("../../providers/room-provider/room-provider");
93
96
  var _type = require("./type");
94
97
  var _objectManager = require("../../object-manager");
95
98
  var _react = require("react");
99
+ var _env = require("agora-foundation/lib/utilities/env");
96
100
  var _SettingStoreBase;
97
101
  var _initProto, _init_loudestStreamVolumeLevel, _init_microphoneVolumeLevel, _init_isWifiConnected, _init_dialogConfig, _init_networkState, _init_performanceState, _init_localAudioStreamMap, _init_remoteAudioStreamMap, _init_localVideoStreamMap, _init_remoteVideoStreamMap, _init_systemMemorySize, _init_systemCpuDesc, _init_getSystemInfoTimer, _init_isHiddenStateTab, _setDialogConfigDecs, _setSettingDecs, _clearGetSystemInfoIntervalDecs, _changeMediaSettingDecs, _handleJoinRoomDecs, _handleExitRoomDecs, _onNetworkStatsUpdatedDecs, _onLocalAudioStatsUpdatedDecs, _onRemoteAudioStatsUpdatedDecs, _onLocalVideoStatsUpdatedDecs, _onRemoteVideoStatsUpdatedDecs, _onStreamsAddedDecs, _onStreamsUpdatedDecs, _onStreamsRemovedDecs, _onPerformanceUpdatedDecs, _onAudioVolumeUpdatedDecs, _preHandleSettingDecs, _setMeetingSettingsToLocalStorageDecs, _ref;
98
102
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
@@ -161,7 +165,6 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
161
165
  (0, _defineProperty2["default"])(this, "_disposers", []);
162
166
  (0, _defineProperty2["default"])(this, "_settingVideoOpened", false);
163
167
  (0, _defineProperty2["default"])(this, "_deviceStoreObserver", {
164
- onCameraListUpdated: this._handleCameraListUpdated,
165
168
  onCameraChanged: this._handleCameraChanged
166
169
  });
167
170
  (0, _defineProperty2["default"])(this, "_streamVolumeMap", new Map());
@@ -184,6 +187,9 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
184
187
  onStreamsAdded: this._onStreamsAdded,
185
188
  onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated
186
189
  });
190
+ (0, _defineProperty2["default"])(this, "_deviceProviderObserver", {
191
+ onSystemSelectedDeviceChanged: this._handleSystemSelectedDeviceChanged
192
+ });
187
193
  (0, _defineProperty2["default"])(this, "_interpreterRoomControlReaction", null);
188
194
  (0, _defineProperty2["default"])(this, "_streamControl", null);
189
195
  _classPrivateFieldInitSpec(this, _A, _init_loudestStreamVolumeLevel(this, 0));
@@ -1079,10 +1085,23 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1079
1085
  this._interpreterRoomControlReaction = this._createInterpreterRoomControlReaction();
1080
1086
  this._disposers.push(this._interpreterRoomControlReaction);
1081
1087
  this.isHiddenStateTab = false;
1088
+ if (this._deviceProvider.followSystemSpeakerDevice) {
1089
+ this._showSystemSelectedDeviceChangedToast({
1090
+ deviceId: this._deviceProvider.currentDeviceId.speakerDeviceId,
1091
+ deviceName: this._deviceProvider.currentDeviceName.speakerDeviceName
1092
+ });
1093
+ }
1094
+ if (this._deviceProvider.followSystemMicrophoneDevice) {
1095
+ this._showSystemSelectedDeviceChangedToast({
1096
+ deviceId: this._deviceProvider.currentDeviceId.microphoneDeviceId,
1097
+ deviceName: this._deviceProvider.currentDeviceName.microphoneDeviceName
1098
+ });
1099
+ }
1100
+ this._deviceProvider.addObserver(this._deviceProviderObserver);
1082
1101
  }
1083
1102
  }, {
1084
1103
  key: "handleExitRoom",
1085
- value: function handleExitRoom() {
1104
+ value: function handleExitRoom(isRoutingChange) {
1086
1105
  var _this8 = this,
1087
1106
  _this$_streamControl,
1088
1107
  _this$_currentRoomCon3,
@@ -1097,10 +1116,19 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1097
1116
  (_this$_streamControl = this._streamControl) === null || _this$_streamControl === void 0 || _this$_streamControl.removeObserver(this._streamObserver);
1098
1117
  (_this$_currentRoomCon3 = this._currentRoomControl) === null || _this$_currentRoomCon3 === void 0 || _this$_currentRoomCon3.removeObserver(this._roomObserver);
1099
1118
  (_this$_interpreterRoo = this._interpreterRoomControl) === null || _this$_interpreterRoo === void 0 || _this$_interpreterRoo.removeObserver(this._roomObserver);
1100
- this._deviceProvider.resetDevice();
1119
+ if (!isRoutingChange) {
1120
+ this._deviceProvider.resetDevice();
1121
+ }
1101
1122
  this.isHiddenStateTab = true;
1102
1123
  this._currentRoomControl = undefined;
1103
1124
  this._interpreterRoomControl = undefined;
1125
+ this._deviceProvider.removeObserver(this._deviceProviderObserver);
1126
+ this.localAudioStreamMap.clear();
1127
+ this.remoteAudioStreamMap.clear();
1128
+ this.localVideoStreamMap.clear();
1129
+ this.remoteVideoStreamMap.clear();
1130
+ this._streamVolumeMap.clear();
1131
+ this._streamInfoList.clear();
1104
1132
  }
1105
1133
  }, {
1106
1134
  key: "_onNetworkStatsUpdated",
@@ -1235,27 +1263,6 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1235
1263
  this._deviceProvider.toggleLocalCameraPreview(true);
1236
1264
  }
1237
1265
  }
1238
- }, {
1239
- key: "_handleCameraListUpdated",
1240
- value: function () {
1241
- var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(cameraList) {
1242
- return _regenerator["default"].wrap(function (_context2) {
1243
- while (1) switch (_context2.prev = _context2.next) {
1244
- case 0:
1245
- if (cameraList.length > 0) {
1246
- this._settingVideoOpened && this._deviceProvider.startOrStopCamera(true);
1247
- }
1248
- case 1:
1249
- case "end":
1250
- return _context2.stop();
1251
- }
1252
- }, _callee2, this);
1253
- }));
1254
- function _handleCameraListUpdated(_x) {
1255
- return _handleCameraListUpdated2.apply(this, arguments);
1256
- }
1257
- return _handleCameraListUpdated;
1258
- }()
1259
1266
  }, {
1260
1267
  key: "_onAudioVolumeUpdated",
1261
1268
  value: function _onAudioVolumeUpdated(roomId, streamId, volume) {
@@ -1277,10 +1284,49 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1277
1284
  value: function _setMeetingSettingsToLocalStorage(value) {
1278
1285
  this._sharedSettingDataSource.setSetting(value);
1279
1286
  }
1287
+ }, {
1288
+ key: "_handleSystemSelectedDeviceChanged",
1289
+ value: function _handleSystemSelectedDeviceChanged(device) {
1290
+ this._showSystemSelectedDeviceChangedToast(device);
1291
+ }
1292
+ }, {
1293
+ key: "_showSystemSelectedDeviceChangedToast",
1294
+ value: function _showSystemSelectedDeviceChangedToast(defaultDevice) {
1295
+ var message = (0, _i18n.transI18n)('fmt_device_toast_switch_device');
1296
+ message = message.replace('{reason1}', defaultDevice.deviceName);
1297
+ this._messageProvider.showToast({
1298
+ type: 'normal',
1299
+ message: message
1300
+ });
1301
+ this._windows10UnsupportAirPods(defaultDevice);
1302
+ }
1303
+ }, {
1304
+ key: "_windows10UnsupportAirPods",
1305
+ value: function _windows10UnsupportAirPods(defaultDevice) {
1306
+ if (!(0, _env.isWindows)()) {
1307
+ return;
1308
+ }
1309
+ var version = (0, _env.windowsVersion)();
1310
+ if (!version) {
1311
+ return;
1312
+ }
1313
+ version = version.split('.')[0];
1314
+ if (version !== '10') {
1315
+ return;
1316
+ }
1317
+ if (!defaultDevice.deviceName.includes('AirPods')) {
1318
+ return;
1319
+ }
1320
+ var message = "windows 10 maybe not support ".concat(defaultDevice.deviceName);
1321
+ this._messageProvider.showToast({
1322
+ type: 'warn',
1323
+ message: message
1324
+ });
1325
+ }
1280
1326
  }]);
1281
1327
  }();
1282
1328
  _SettingStoreBase = SettingStoreBase;
1283
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleCameraListUpdated"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"]], []).e, 15);
1329
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_decorator.bound, 2, "_handleSystemSelectedDeviceChanged"]], []).e, 15);
1284
1330
  _init_loudestStreamVolumeLevel = _applyDecs$e[0];
1285
1331
  _init_microphoneVolumeLevel = _applyDecs$e[1];
1286
1332
  _init_isWifiConnected = _applyDecs$e[2];
@@ -31,6 +31,10 @@
31
31
  -webkit-app-region: no-drag;
32
32
  }
33
33
 
34
+ .share-selection-window__share-content::--webkit-scrollbar {
35
+ display: none;
36
+ }
37
+
34
38
  .share-selection-window__header {
35
39
  height: 46px;
36
40
  }
@@ -108,6 +108,9 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
108
108
  (0, _defineProperty2["default"])(this, "_dom", null);
109
109
  (0, _defineProperty2["default"])(this, "_asyncLock", false);
110
110
  (0, _defineProperty2["default"])(this, "_screenShareObserver", {
111
+ onPrepreScreenCapture: function onPrepreScreenCapture() {
112
+ _this.dialogProvider.setSharingDisplayBounds(_this.screenShareProvider.sharingDisplayBounds);
113
+ },
111
114
  onScreenShareStarted: function onScreenShareStarted() {
112
115
  (0, _mobx.runInAction)(function () {
113
116
  _this.isSharing = true;
@@ -117,6 +120,7 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
117
120
  (0, _mobx.runInAction)(function () {
118
121
  _this.isSharing = false;
119
122
  });
123
+ _this.dialogProvider.setSharingDisplayBounds(null);
120
124
  if (reason === _struct.FcrUIScreenShareStopReason.STOPPED_BY_OTHER) {
121
125
  _this.messageProvider.showToast({
122
126
  type: 'info',
@@ -125,6 +129,9 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
125
129
  _this._replaceShareConfirmDialog(operator);
126
130
  }
127
131
  },
132
+ onShareSourceReplaced: function onShareSourceReplaced() {
133
+ _this.dialogProvider.setSharingDisplayBounds(_this.screenShareProvider.sharingDisplayBounds);
134
+ },
128
135
  onScreenShareErrorOccurred: function onScreenShareErrorOccurred(code) {
129
136
  if (code === _struct.FcrUIScreenShareErrorCode.NETWORK_DISCONNECTED) {
130
137
  if (!_this.facilityProvider.isNetworkConnected) {
@@ -311,7 +318,7 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
311
318
  key: "startShareScreen",
312
319
  value: function () {
313
320
  var _startShareScreen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
314
- var params, captureType, videoSourceId;
321
+ var params, captureType, videoSourceId, _t;
315
322
  return _regenerator["default"].wrap(function (_context2) {
316
323
  while (1) switch (_context2.prev = _context2.next) {
317
324
  case 0:
@@ -373,15 +380,21 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
373
380
  });
374
381
  case 6:
375
382
  this.dialogProvider.closeDialog(_constant.FcrUIDialogKey.SHARE_SCREEN_SELECTION);
383
+ _context2.next = 8;
384
+ break;
376
385
  case 7:
377
386
  _context2.prev = 7;
378
- this._asyncLock = false;
379
- return _context2.finish(7);
387
+ _t = _context2["catch"](2);
388
+ this.screenShareProvider.stopShare();
380
389
  case 8:
390
+ _context2.prev = 8;
391
+ this._asyncLock = false;
392
+ return _context2.finish(8);
393
+ case 9:
381
394
  case "end":
382
395
  return _context2.stop();
383
396
  }
384
- }, _callee2, this, [[2,, 7, 8]]);
397
+ }, _callee2, this, [[2, 7, 8, 9]]);
385
398
  }));
386
399
  function startShareScreen() {
387
400
  return _startShareScreen.apply(this, arguments);
@@ -170,7 +170,10 @@ var ElectronShareScreenStore = exports["default"] = /*#__PURE__*/function (_Shar
170
170
  } else {
171
171
  controlBarWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR);
172
172
  }
173
- controlBarWindow.setBounds(sharingDisplayBounds);
173
+
174
+ // 不在这里控制,在control bar模块中控制
175
+ // controlBarWindow.setBounds(sharingDisplayBounds);
176
+
174
177
  if (!isMultiDisplayActive) {
175
178
  var videoWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.VIDEO_WINDOW);
176
179
  (0, _videoWindow.setVideoWindowDialogPosition)(sharingDisplayBounds, videoWindow);
@@ -179,7 +182,7 @@ var ElectronShareScreenStore = exports["default"] = /*#__PURE__*/function (_Shar
179
182
  }, {
180
183
  key: "_interceptDialogClose",
181
184
  value: function _interceptDialogClose(dialogKey) {
182
- if (dialogKey === _constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR || dialogKey === _constant.FcrUIDialogKey.VIDEO_WINDOW) {
185
+ if (dialogKey === _constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR) {
183
186
  return this._isSharing;
184
187
  }
185
188
  return false;
@@ -115,6 +115,12 @@ var LayoutConfig = exports.LayoutConfig = (0, _mobxReact.observer)(function (pro
115
115
  return _type.FcrIconType.FCR_TOPWINDOWS;
116
116
  }
117
117
  }, [layoutView]);
118
+ (0, _react.useEffect)(function () {
119
+ // 布局切换功能被禁用时,如果布局切换弹窗已经处于打开状态,则关闭弹窗
120
+ if (disable && isOpen) {
121
+ _setIsOpen(false);
122
+ }
123
+ }, [disable]);
118
124
  var handleSetLayoutView = function handleSetLayoutView(view) {
119
125
  _setIsOpen(false);
120
126
  toggleLayout(view);
@@ -9,7 +9,9 @@ export declare abstract class StateBarMainSceneStoreBase extends StateBarStoreBa
9
9
  private _sharedVideoWindowDataSource;
10
10
  private _sharedMemberDataSource;
11
11
  private _abilityProvider;
12
+ private _screenShareProvider;
12
13
  constructor(args: StateBarStoreArgs);
14
+ get isSharingScreen(): boolean;
13
15
  get localUser(): import("fcr-core/lib/type").FcrUserInfo;
14
16
  get isUserHost(): boolean;
15
17
  get isRoomDetailSupported(): boolean;