fcr-ui-scene 3.7.8 → 3.7.9-alpha

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 (216) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +13 -19
  4. package/lib/creator/provider-initializer.browser.js +4 -3
  5. package/lib/electron/app.js +1 -0
  6. package/lib/electron/bootstrap-sdk.js +19 -2
  7. package/lib/electron/sdk-helper.js +6 -2
  8. package/lib/electron/until.js +3 -0
  9. package/lib/index.js +8 -1
  10. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  11. package/lib/modules/components/leave-meeting/store.base.js +46 -5
  12. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +1 -0
  13. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +2 -1
  14. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +0 -12
  15. package/lib/modules/setting/store.base.d.ts +1 -1
  16. package/lib/modules/setting/store.base.js +3 -2
  17. package/lib/modules/share-screen/store.base.js +0 -2
  18. package/lib/modules/share-screen/store.electron.js +54 -31
  19. package/lib/modules/video-window/popover-watcher.js +4 -1
  20. package/lib/modules/video-window/store.js +7 -1
  21. package/lib/modules/video-window/view.js +14 -4
  22. package/lib/providers/device-provider.js +1 -1
  23. package/lib/providers/screen-share/strategy/browser.js +1 -1
  24. package/lib/providers/window/main-window.js +0 -3
  25. package/lib/providers/window/renderer-window.d.ts +3 -0
  26. package/lib/providers/window/renderer-window.js +47 -4
  27. package/lib/providers/window/type.d.ts +1 -0
  28. package/lib/scenes/main-scene.d.ts +1 -0
  29. package/lib/scenes/main-scene.js +32 -1
  30. package/lib/shared-data/setting.js +1 -1
  31. package/lib/utilities/default-config.js +1 -1
  32. package/lib/utilities/logger.js +1 -1
  33. package/package.json +6 -6
  34. package/public/index.html +2 -149
  35. package/public/meeting-manager.js +391 -0
  36. package/lib/creator.d.ts +0 -36
  37. package/lib/creator.js +0 -465
  38. package/lib/modules/action-bar/index.d.ts +0 -56
  39. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  40. package/lib/modules/action-bar/index.dev.js +0 -94
  41. package/lib/modules/action-bar/index.js +0 -108
  42. package/lib/modules/action-bar/store.d.ts +0 -256
  43. package/lib/modules/action-bar/store.js +0 -1572
  44. package/lib/modules/action-bar/types.d.ts +0 -90
  45. package/lib/modules/action-bar/types.js +0 -6
  46. package/lib/modules/action-bar/view.d.ts +0 -5
  47. package/lib/modules/action-bar/view.js +0 -112
  48. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  49. package/lib/modules/annotation/annotation-index.js +0 -80
  50. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  51. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  52. package/lib/modules/annotation/board-cursor.css +0 -77
  53. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  54. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  55. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  56. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  57. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  58. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  59. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  60. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  61. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  62. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  63. package/lib/modules/annotation/components/expansion/index.d.ts +0 -1
  64. package/lib/modules/annotation/components/expansion/index.js +0 -100
  65. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  66. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  67. package/lib/modules/annotation/components/history.d.ts +0 -2
  68. package/lib/modules/annotation/components/history.js +0 -78
  69. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  70. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  71. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  72. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  73. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  74. package/lib/modules/annotation/components/item/index.js +0 -43
  75. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  76. package/lib/modules/annotation/components/move-handle.js +0 -134
  77. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  78. package/lib/modules/annotation/components/pen-picker.js +0 -155
  79. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  80. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  81. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  82. package/lib/modules/annotation/components/shape-picker.js +0 -210
  83. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  84. package/lib/modules/annotation/hooks/index.js +0 -292
  85. package/lib/modules/annotation/index.d.ts +0 -45
  86. package/lib/modules/annotation/index.js +0 -168
  87. package/lib/modules/annotation/store.d.ts +0 -98
  88. package/lib/modules/annotation/store.js +0 -621
  89. package/lib/modules/annotation/style.css +0 -36
  90. package/lib/modules/annotation/view.d.ts +0 -3
  91. package/lib/modules/annotation/view.js +0 -44
  92. package/lib/modules/components/device-control/store.d.ts +0 -42
  93. package/lib/modules/components/device-control/store.js +0 -241
  94. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  95. package/lib/modules/components/leave-meeting/store.js +0 -270
  96. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  97. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  98. package/lib/modules/control-bar/reactor.d.ts +0 -2
  99. package/lib/modules/control-bar/reactor.js +0 -8
  100. package/lib/modules/control-bar/types.d.ts +0 -20
  101. package/lib/modules/control-bar/types.js +0 -6
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -62
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  106. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -110
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  110. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  111. package/lib/modules/dialog/store.d.ts +0 -135
  112. package/lib/modules/dialog/store.js +0 -616
  113. package/lib/modules/event-confirm/components/window/index.d.ts +0 -4
  114. package/lib/modules/event-confirm/components/window/index.js +0 -197
  115. package/lib/modules/event-confirm/index.css +0 -24
  116. package/lib/modules/event-confirm/index.d.ts +0 -27
  117. package/lib/modules/event-confirm/index.js +0 -76
  118. package/lib/modules/event-confirm/store.d.ts +0 -45
  119. package/lib/modules/event-confirm/store.js +0 -345
  120. package/lib/modules/event-confirm/view.d.ts +0 -2
  121. package/lib/modules/event-confirm/view.js +0 -53
  122. package/lib/modules/event-toast/store.d.ts +0 -27
  123. package/lib/modules/event-toast/store.js +0 -205
  124. package/lib/modules/layout/store.d.ts +0 -176
  125. package/lib/modules/layout/store.js +0 -1466
  126. package/lib/modules/participant/store.d.ts +0 -222
  127. package/lib/modules/participant/store.js +0 -1927
  128. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  129. package/lib/modules/pc-audio-connect/index.js +0 -67
  130. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  131. package/lib/modules/pc-audio-connect/store.js +0 -304
  132. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  133. package/lib/modules/setting/common/advance-link.js +0 -27
  134. package/lib/modules/setting/common/index.css +0 -26
  135. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  136. package/lib/modules/setting/common/useNamespace.js +0 -66
  137. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  138. package/lib/modules/setting/dialog-wrapper.js +0 -110
  139. package/lib/modules/setting/store.d.ts +0 -261
  140. package/lib/modules/setting/store.js +0 -1321
  141. package/lib/modules/share-screen/store.d.ts +0 -148
  142. package/lib/modules/share-screen/store.js +0 -950
  143. package/lib/modules/share-screen/types.d.ts +0 -26
  144. package/lib/modules/share-screen/types.js +0 -6
  145. package/lib/modules/state-bar/store.d.ts +0 -124
  146. package/lib/modules/state-bar/store.js +0 -664
  147. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  148. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  149. package/lib/modules/widget/store.d.ts +0 -14
  150. package/lib/modules/widget/store.js +0 -28
  151. package/lib/providers/annotation-provider.d.ts +0 -124
  152. package/lib/providers/annotation-provider.js +0 -369
  153. package/lib/providers/dialog-provider.d.ts +0 -137
  154. package/lib/providers/dialog-provider.js +0 -194
  155. package/lib/providers/message-provider.d.ts +0 -69
  156. package/lib/providers/message-provider.js +0 -140
  157. package/lib/providers/room-provider.d.ts +0 -194
  158. package/lib/providers/room-provider.js +0 -916
  159. package/lib/providers/screen-share-provider.d.ts +0 -244
  160. package/lib/providers/screen-share-provider.js +0 -835
  161. package/lib/providers/sharing-provider.d.ts +0 -42
  162. package/lib/providers/sharing-provider.js +0 -221
  163. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  164. package/lib/providers/user-setting-storage-provider.js +0 -65
  165. package/lib/providers/whiteboard-provider.d.ts +0 -24
  166. package/lib/providers/whiteboard-provider.js +0 -127
  167. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  168. package/lib/shared-data-source/annotation-data.js +0 -110
  169. package/lib/shared-data-source/app-list-data.d.ts +0 -34
  170. package/lib/shared-data-source/app-list-data.js +0 -133
  171. package/lib/shared-data-source/chat-data.d.ts +0 -25
  172. package/lib/shared-data-source/chat-data.js +0 -139
  173. package/lib/shared-data-source/config.d.ts +0 -35
  174. package/lib/shared-data-source/config.js +0 -40
  175. package/lib/shared-data-source/confirm-data.d.ts +0 -25
  176. package/lib/shared-data-source/confirm-data.js +0 -97
  177. package/lib/shared-data-source/device-privilege-data.d.ts +0 -8
  178. package/lib/shared-data-source/device-privilege-data.js +0 -25
  179. package/lib/shared-data-source/interpreter.d.ts +0 -77
  180. package/lib/shared-data-source/interpreter.js +0 -247
  181. package/lib/shared-data-source/layout-data.d.ts +0 -31
  182. package/lib/shared-data-source/layout-data.js +0 -189
  183. package/lib/shared-data-source/meeting-time.d.ts +0 -90
  184. package/lib/shared-data-source/meeting-time.js +0 -416
  185. package/lib/shared-data-source/member-data.d.ts +0 -139
  186. package/lib/shared-data-source/member-data.js +0 -517
  187. package/lib/shared-data-source/pin-data.d.ts +0 -13
  188. package/lib/shared-data-source/pin-data.js +0 -111
  189. package/lib/shared-data-source/screen-share-data.d.ts +0 -364
  190. package/lib/shared-data-source/screen-share-data.js +0 -520
  191. package/lib/shared-data-source/security-data.d.ts +0 -39
  192. package/lib/shared-data-source/security-data.js +0 -156
  193. package/lib/shared-data-source/setting.d.ts +0 -67
  194. package/lib/shared-data-source/setting.js +0 -220
  195. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  196. package/lib/shared-data-source/speaker-spotlight.js +0 -15
  197. package/lib/shared-data-source/video-window.d.ts +0 -165
  198. package/lib/shared-data-source/video-window.js +0 -1266
  199. package/lib/shared-data-source/waiting-room.d.ts +0 -46
  200. package/lib/shared-data-source/waiting-room.js +0 -222
  201. package/lib/shared-data-source/whiteboard-data.d.ts +0 -68
  202. package/lib/shared-data-source/whiteboard-data.js +0 -347
  203. package/lib/utilities/board-context.d.ts +0 -4
  204. package/lib/utilities/board-context.js +0 -12
  205. package/lib/utilities/copyText.d.ts +0 -2
  206. package/lib/utilities/copyText.js +0 -48
  207. package/lib/utilities/renderer-event.d.ts +0 -10
  208. package/lib/utilities/renderer-event.js +0 -95
  209. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  210. package/lib/utilities/screen-capture-permission.js +0 -24
  211. package/lib/utilities/screen.d.ts +0 -3
  212. package/lib/utilities/screen.js +0 -53
  213. package/lib/utilities/video-track-render-context.d.ts +0 -6
  214. package/lib/utilities/video-track-render-context.js +0 -9
  215. package/lib/waiting-room-control-manager.d.ts +0 -28
  216. package/lib/waiting-room-control-manager.js +0 -230
@@ -145,9 +145,6 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
145
145
  }, {
146
146
  key: "setAlwaysOnTop",
147
147
  value: function setAlwaysOnTop(flag) {
148
- // 这里目前没有地方调用,因为annotation调用了setAlwaysOnTop,并且设置了pop-up-menu
149
- // 窗口在windows上设置的是pop-up-menu,看看是不是要成对出现
150
- this.logger.info('windows_index setAlwaysOnTop in main-window');
151
148
  this.browserWindow.setAlwaysOnTop(flag);
152
149
  }
153
150
  }, {
@@ -22,6 +22,8 @@ export declare class FcrUIWindowImpl implements FcrUIWindow, FcrUIManagedObject
22
22
  private _alwaysOnTop?;
23
23
  private _alwaysOnTopLevel?;
24
24
  private _relativeLevel?;
25
+ private _visibleOnAllWorkspaces?;
26
+ private _visibleOnAllWorkspacesOptions?;
25
27
  private _resizable?;
26
28
  private _aspectRatio?;
27
29
  private _minimumSize?;
@@ -56,6 +58,7 @@ export declare class FcrUIWindowImpl implements FcrUIWindow, FcrUIManagedObject
56
58
  forward: boolean;
57
59
  }): void;
58
60
  setAlwaysOnTop(flag: boolean, level?: 'normal' | 'floating' | 'torn-off-menu' | 'modal-panel' | 'main-menu' | 'status' | 'pop-up-menu' | 'screen-saver', relativeLevel?: number): void;
61
+ setVisibleOnAllWorkspaces(visible: boolean, options?: Electron.VisibleOnAllWorkspacesOptions): void;
59
62
  setTitle(title: string): void;
60
63
  getTitle(): string;
61
64
  maximize(): void;
@@ -116,7 +116,8 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
116
116
  dom.append(_this.rootNode);
117
117
  _this._rendererWindow = rendererWindow;
118
118
  _this._windowId = windowId;
119
- _this.logger.info("initialized, windowId: ".concat(windowId, ", windowName: ").concat(windowName));
119
+ _this.logger.info("renderer window is opened, windowId: ".concat(windowId, ", windowName: ").concat(windowName));
120
+
120
121
  // 创建代理对象,使用从 window 对象获取的 ID
121
122
  _this._browserWindowProxy = renderer.createWindowProxy(windowId);
122
123
  _this._setupEventListeners();
@@ -141,6 +142,7 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
141
142
  }, options);
142
143
  this._addLogObserver();
143
144
  this._rootNode = document.createElement('div');
145
+ this.logger.info("initialized, windowName: ".concat(windowName));
144
146
  }
145
147
  return (0, _createClass2["default"])(FcrUIWindowImpl, [{
146
148
  key: "setResizable",
@@ -289,10 +291,18 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
289
291
  this._alwaysOnTopLevel = level;
290
292
  this._relativeLevel = relativeLevel;
291
293
  if (this._isBrowserWindowReady) {
292
- this.logger.info('windows_index setAlwaysOnTop in renderer-window');
293
294
  this.browserWindow.setAlwaysOnTop(flag, level, relativeLevel);
294
295
  }
295
296
  }
297
+ }, {
298
+ key: "setVisibleOnAllWorkspaces",
299
+ value: function setVisibleOnAllWorkspaces(visible, options) {
300
+ this._visibleOnAllWorkspaces = visible;
301
+ this._visibleOnAllWorkspacesOptions = options;
302
+ if (this._isBrowserWindowReady) {
303
+ this.browserWindow.setVisibleOnAllWorkspaces(visible, options);
304
+ }
305
+ }
296
306
  }, {
297
307
  key: "setTitle",
298
308
  value: function setTitle(title) {
@@ -330,7 +340,10 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
330
340
  }, {
331
341
  key: "isVisible",
332
342
  value: function isVisible() {
333
- return this.browserWindow.isVisible();
343
+ if (this._isBrowserWindowReady) {
344
+ return this.browserWindow.isVisible();
345
+ }
346
+ return this._visible;
334
347
  }
335
348
  }, {
336
349
  key: "show",
@@ -447,62 +460,92 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
447
460
  value: function _synBrowserWindowStateToInnerState() {
448
461
  this.browserWindow.webContents.setBackgroundThrottling(false);
449
462
  if (this._isClosed) {
463
+ this.logger.info('window is marked as closed, closing the browser window.');
450
464
  this.browserWindow.close();
451
465
  return;
452
466
  }
467
+
468
+ // 重置 visibleOnAllWorkspaces
469
+ this.browserWindow.setVisibleOnAllWorkspaces(false, {
470
+ skipTransformProcessType: true
471
+ });
472
+ if ((0, _isBoolean["default"])(this._visibleOnAllWorkspaces)) {
473
+ var _this$_visibleOnAllWo;
474
+ this.logger.info('setting the browser window visible on all workspaces.');
475
+ this.browserWindow.setVisibleOnAllWorkspaces(this._visibleOnAllWorkspaces, {
476
+ visibleOnFullScreen: (_this$_visibleOnAllWo = this._visibleOnAllWorkspacesOptions) === null || _this$_visibleOnAllWo === void 0 ? void 0 : _this$_visibleOnAllWo.visibleOnFullScreen,
477
+ skipTransformProcessType: true
478
+ });
479
+ }
453
480
  if (this._visible) {
481
+ this.logger.info('window is marked as visible, showing the browser window.');
454
482
  this.browserWindowProxy.setPreventClose(this._preventClose);
455
483
  if (this._showInactive) {
484
+ this.logger.info('showing the browser window as inactive.');
456
485
  this.browserWindow.showInactive();
457
486
  } else {
487
+ this.logger.info('showing and focusing the browser window.');
458
488
  this.browserWindow.show();
459
489
  this.browserWindow.focus();
460
490
  this.browserWindow.moveTop();
461
491
  }
462
492
  } else {
493
+ this.logger.info('window is marked as hidden, hiding the browser window.');
463
494
  this.browserWindow.hide();
464
495
  }
465
496
  if (this._backgroundColor) {
497
+ this.logger.info('setting the browser window background color.');
466
498
  this.browserWindow.setBackgroundColor(this._backgroundColor);
467
499
  }
468
500
  if (this._bounds) {
501
+ this.logger.info('setting the browser window bounds.');
469
502
  this.browserWindow.setBounds(this._bounds);
470
503
  }
471
504
  if (this._title) {
505
+ this.logger.info('setting the browser window title.');
472
506
  this.browserWindow.setTitle(this._title);
473
507
  }
474
508
  if ((0, _isBoolean["default"])(this._ignoreMouseEvents)) {
509
+ this.logger.info('setting the browser window ignore mouse events.');
475
510
  this.browserWindow.setIgnoreMouseEvents(this._ignoreMouseEvents, this._ignoreMouseEventsOptions);
476
511
  }
477
512
  if ((0, _isBoolean["default"])(this._alwaysOnTop)) {
513
+ this.logger.info('setting the browser window always on top.');
478
514
  this.browserWindow.setAlwaysOnTop(this._alwaysOnTop, this._alwaysOnTopLevel, this._relativeLevel);
479
515
  }
480
516
  if ((0, _isBoolean["default"])(this._resizable)) {
517
+ this.logger.info('setting the browser window resizable.');
481
518
  this.browserWindow.setResizable(this._resizable);
482
519
  }
483
520
  if ((0, _isBoolean["default"])(this._aspectRatio)) {
521
+ this.logger.info('setting the browser window aspect ratio.');
484
522
  this.browserWindow.setAspectRatio(this._aspectRatio);
485
523
  }
486
524
  if (this._minimumSize) {
487
525
  var _this$_minimumSize = this._minimumSize,
488
526
  width = _this$_minimumSize.width,
489
527
  height = _this$_minimumSize.height;
528
+ this.logger.info('setting the browser window minimum size.');
490
529
  this.browserWindow.setMinimumSize(width, height);
491
530
  }
492
531
  if (this._maximumSize) {
493
532
  var _this$_maximumSize = this._maximumSize,
494
533
  _width = _this$_maximumSize.width,
495
534
  _height = _this$_maximumSize.height;
535
+ this.logger.info('setting the browser window maximum size.');
496
536
  this.browserWindow.setMaximumSize(_width, _height);
497
537
  }
498
538
  if ((0, _isBoolean["default"])(this._isMaximized)) {
499
539
  if (this._isMaximized) {
540
+ this.logger.info('maximizing the browser window.');
500
541
  this.browserWindow.maximize();
501
542
  } else {
543
+ this.logger.info('unmaximizing the browser window.');
502
544
  this.browserWindow.unmaximize();
503
545
  }
504
546
  }
505
547
  if ((0, _isBoolean["default"])(this._fullscreen)) {
548
+ this.logger.info('setting the browser window fullscreen state.');
506
549
  this.browserWindow.setFullScreen(this._fullscreen);
507
550
  }
508
551
  }
@@ -514,7 +557,7 @@ var FcrUIWindowImpl = exports.FcrUIWindowImpl = /*#__PURE__*/function () {
514
557
  }]);
515
558
  }();
516
559
  _FcrUIWindowImpl = FcrUIWindowImpl;
517
- var _applyDecs$e = _applyDecs(_FcrUIWindowImpl, [[_log.trace, 2, "moveTop"], [_log.trace, 2, "setPosition"], [_log.trace, 2, "getPosition"], [_log.trace, 2, "getRootNode"], [_log.trace, 2, "close"], [_log.trace, 2, "isFullScreen"], [_log.trace, 2, "setFullScreen"], [_log.trace, 2, "setIgnoreMouseEvents"], [_log.trace, 2, "setAlwaysOnTop"], [_log.trace, 2, "setTitle"], [_log.trace, 2, "getTitle"], [_log.trace, 2, "maximize"], [_log.trace, 2, "unmaximize"], [_log.trace, 2, "isMaximized"], [_log.trace, 2, "isVisible"], [_log.trace, 2, "show"], [_log.trace, 2, "hide"], [_log.trace, 2, "focus"], [_log.trace, 2, "setBounds"], [_log.trace, 2, "getBounds"], [_log.trace, 2, "setPreventClose"], [_log.trace, 2, "isPreventClose"], [_log.trace, 2, "addObserver"], [_log.trace, 2, "removeObserver"], [_log.trace, 2, "release"]], []).e;
560
+ var _applyDecs$e = _applyDecs(_FcrUIWindowImpl, [[_log.trace, 2, "moveTop"], [_log.trace, 2, "setPosition"], [_log.trace, 2, "getPosition"], [_log.trace, 2, "getRootNode"], [_log.trace, 2, "close"], [_log.trace, 2, "isFullScreen"], [_log.trace, 2, "setFullScreen"], [_log.trace, 2, "setIgnoreMouseEvents"], [_log.trace, 2, "setAlwaysOnTop"], [_log.trace, 2, "setVisibleOnAllWorkspaces"], [_log.trace, 2, "setTitle"], [_log.trace, 2, "getTitle"], [_log.trace, 2, "maximize"], [_log.trace, 2, "unmaximize"], [_log.trace, 2, "isMaximized"], [_log.trace, 2, "isVisible"], [_log.trace, 2, "show"], [_log.trace, 2, "hide"], [_log.trace, 2, "focus"], [_log.trace, 2, "setBounds"], [_log.trace, 2, "getBounds"], [_log.trace, 2, "setPreventClose"], [_log.trace, 2, "isPreventClose"], [_log.trace, 2, "addObserver"], [_log.trace, 2, "removeObserver"], [_log.trace, 2, "release"]], []).e;
518
561
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
519
562
  _initProto = _applyDecs$e2[0];
520
563
  _applyDecs$e;
@@ -61,6 +61,7 @@ export interface FcrUIWindow {
61
61
  forward: boolean;
62
62
  }): void;
63
63
  setAlwaysOnTop(flag: boolean, level?: 'normal' | 'floating' | 'torn-off-menu' | 'modal-panel' | 'main-menu' | 'status' | 'pop-up-menu' | 'screen-saver', relativeLevel?: number): void;
64
+ setVisibleOnAllWorkspaces(visible: boolean, options?: Electron.VisibleOnAllWorkspacesOptions): void;
64
65
  setPreventClose(prevent: boolean): void;
65
66
  setResizable(resizable: boolean): void;
66
67
  setAspectRatio(aspectRatio: number): void;
@@ -4,6 +4,7 @@ export declare class FcrMainUIScene extends FcrBaseUIScene {
4
4
  protected logger: import("agora-foundation/lib/logger").Logger;
5
5
  private _isWaitingRoomNotify;
6
6
  private _roomObserver;
7
+ private _windowObserver;
7
8
  constructor(args: FcrMainUISceneArgs);
8
9
  mount(dom: HTMLElement): void;
9
10
  unmount(dom: HTMLElement): void;
@@ -75,6 +75,8 @@ var _shareScreenSelection = require("../modules/dialog/dialogs/share-screen-sele
75
75
  var _mainScene3 = require("../modules/state-bar/main-scene");
76
76
  var _muteAll = require("../modules/dialog/dialogs/mute-all");
77
77
  var _controlBarLeaveMeeting = require("../modules/dialog/dialogs/control-bar-leave-meeting");
78
+ var _platform = require("../utilities/platform");
79
+ var _env = require("agora-foundation/lib/utilities/env");
78
80
  var _jsxRuntime = require("react/jsx-runtime");
79
81
  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)); }
80
82
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
@@ -140,6 +142,26 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
140
142
  waitingRoomUserControl.addObserver(waitingRoomUserObserver);
141
143
  }
142
144
  };
145
+ _this._windowObserver = {
146
+ onWindowCreated: function onWindowCreated(dialogKey, _, window) {
147
+ if (dialogKey === _constant.FcrUIDialogKey.SHARE_SCREEN_SELECTION) {
148
+ window.setAlwaysOnTop(true, (0, _platform.isMac)() ? 'floating' : 'normal');
149
+ if ((0, _platform.isMac)()) {
150
+ window.setVisibleOnAllWorkspaces(true, {
151
+ visibleOnFullScreen: true
152
+ });
153
+ }
154
+ }
155
+ if (dialogKey === _constant.FcrUIDialogKey.LEAVE_MEETING) {
156
+ window.setAlwaysOnTop(true, (0, _platform.isMac)() ? 'floating' : 'normal');
157
+ if ((0, _platform.isMac)()) {
158
+ window.setVisibleOnAllWorkspaces(true, {
159
+ visibleOnFullScreen: true
160
+ });
161
+ }
162
+ }
163
+ }
164
+ };
143
165
  return _this;
144
166
  }
145
167
  (0, _inherits2["default"])(FcrMainUIScene, _FcrBaseUIScene);
@@ -505,14 +527,23 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
505
527
  var objectManager = this.objectManager;
506
528
  var roomProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ROOM_PROVIDER);
507
529
  roomProvider.addObserver(this._roomObserver);
530
+ if ((0, _env.isElectron)()) {
531
+ var windowProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
532
+ windowProvider.addObserver(this._windowObserver);
533
+ }
508
534
  this._runSettingConfig();
509
535
  }
510
536
  }, {
511
537
  key: "onNodeWillInactive",
512
538
  value: function onNodeWillInactive() {
513
539
  this._closeDialogs();
514
- var roomProvider = this.objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ROOM_PROVIDER);
540
+ var objectManager = this.objectManager;
541
+ var roomProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ROOM_PROVIDER);
515
542
  roomProvider.removeObserver(this._roomObserver);
543
+ if ((0, _env.isElectron)()) {
544
+ var windowProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
545
+ windowProvider.removeObserver(this._windowObserver);
546
+ }
516
547
  }
517
548
  }, {
518
549
  key: "_runSettingConfig",
@@ -98,7 +98,7 @@ var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl
98
98
  displayedMaxAttendees: 16,
99
99
  autoAdjustmentSpeakerVolume: true,
100
100
  autoAdjustmentMicrophoneVolume: (0, _env.isElectron)(),
101
- noiseReduce: _type.FcrUIAiDenoiseLevel.LOW,
101
+ noiseReduce: _type.FcrUIAiDenoiseLevel.HIGH,
102
102
  recordingPath: '',
103
103
  videoHD: false,
104
104
  videoLowLight: false,
@@ -51,7 +51,7 @@ var screenCaptureClearityConfig = exports.screenCaptureClearityConfig = {
51
51
  height: 1080
52
52
  },
53
53
  frameRate: 15,
54
- bitrate: 1800,
54
+ bitrate: 1500,
55
55
  isMirror: false
56
56
  };
57
57
  var screenCaptureSmoothConfig = exports.screenCaptureSmoothConfig = {
@@ -48,7 +48,7 @@ var generateLogObserver = exports.generateLogObserver = function generateLogObse
48
48
  return observer;
49
49
  };
50
50
  window.addEventListener('error', function (e) {
51
- getLogger().error('window error event:', JSON.stringify(e));
51
+ getLogger().error('window error event:', JSON.stringify(e), e.error, e.message, e.lineno, e.colno, e.filename);
52
52
  });
53
53
  window.addEventListener('unhandledrejection', function (e) {
54
54
  getLogger().error('window unhandledrejection event:', e.reason);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.7.8",
3
+ "version": "3.7.9-alpha",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -21,14 +21,14 @@
21
21
  "@electron/remote": "2.0.1",
22
22
  "@react-spring/web": "^9.7.3",
23
23
  "@use-gesture/react": "^10.3.1",
24
- "agora-electron-sdk": "4.3.2-build.156-rc.1",
25
- "agora-foundation": "3.7.8",
26
- "agora-ui-foundation": "3.7.8",
24
+ "agora-electron-sdk": "4.3.2-build.201-rc.1",
25
+ "agora-foundation": "3.7.9-alpha",
26
+ "agora-ui-foundation": "3.7.9-alpha",
27
27
  "classnames": "^2.5.1",
28
28
  "core-js": "^3.33.3",
29
29
  "dayjs": "^1.10.4",
30
30
  "electron-screenshots": "^0.5.26",
31
- "fcr-core": "3.7.8",
31
+ "fcr-core": "3.7.9-alpha",
32
32
  "js-md5": "^0.8.3",
33
33
  "jszip": "^3.10.1",
34
34
  "lodash": "^4.17.21",
@@ -59,7 +59,7 @@
59
59
  "@types/react-dom": "^17.0.11",
60
60
  "@types/react-virtualized": "^9.21.30",
61
61
  "@types/tinycolor2": "^1.4.6",
62
- "agora-toolchain": "3.7.8",
62
+ "agora-toolchain": "3.7.9-alpha",
63
63
  "core-js": "^3.33.3",
64
64
  "electron": "22.3.27",
65
65
  "husky": "^9.0.11",
package/public/index.html CHANGED
@@ -157,6 +157,7 @@
157
157
  }
158
158
  }
159
159
  };
160
+
160
161
  const setFullScreenFailureComp = (visible, errorMsg) => {
161
162
  setLoading(false);
162
163
  const dom = document.querySelector('#fcr-launch-failure-comp');
@@ -176,154 +177,6 @@
176
177
  }
177
178
  }
178
179
  };
179
-
180
- (async () => {
181
- let creator;
182
- let uiScene;
183
- let sendExitedEventFlag = true;
184
- window.cppSdkHelper.onCreatorInit = (config) => {
185
- if (creator) {
186
- creator.release();
187
- creator = undefined;
188
- }
189
-
190
- creator = new FcrUIScene.FcrUISceneCreator(config);
191
- };
192
-
193
- window.cppSdkHelper.onSettingOpen = () => {
194
- creator.openSetting();
195
- };
196
-
197
- window.cppSdkHelper.onSettingClose = () => {
198
- creator.closeSetting();
199
- };
200
-
201
- window.cppSdkHelper.onSetParameters = (parameters) => {
202
- creator.setParameters(parameters);
203
- };
204
-
205
- window.cppSdkHelper.onRenewUserToken = (token) => {
206
- creator.renewUserToken(token);
207
- };
208
-
209
- window.cppSdkHelper.onLaunchMeeting = (launchOptions) => {
210
- try {
211
- if (uiScene) {
212
- console.log('the previous sequence ui scene exists, exit it');
213
- uiScene.exit();
214
- sendExitedEventFlag = false;
215
- }
216
- } catch (error) {
217
- // 这里可能会有报错,但是不影响后续的流程
218
- console.error(
219
- ' the previous sequence ui scene exists, exit it,but exit has error',
220
- JSON.stringify(error),
221
- );
222
- }
223
- setFullScreenFailureComp(false);
224
- setLoading(true);
225
-
226
- // 定义事件处理函数,以便可以正确移除
227
- const handleConfirmClick = () => {
228
- setFullScreenFailureComp(false);
229
- console.log('windows_release error button clicked');
230
- window.runtime.getCurrentBrowserWindow().hide();
231
- };
232
-
233
- document
234
- .querySelector('#fcr-launch-failure-confirm-btn')
235
- .removeEventListener('click', handleConfirmClick);
236
- document
237
- .querySelector('#fcr-launch-failure-confirm-btn')
238
- .addEventListener('click', handleConfirmClick);
239
-
240
- const { widgets, ...others } = launchOptions;
241
-
242
- if (widgets && widgets instanceof Array) {
243
- widgets.forEach((w) => {
244
- creator.registerWidget(w);
245
- });
246
- }
247
- uiScene = creator.launch(
248
- others,
249
- () => {
250
- console.log('windows_release ui scene closed callback');
251
- window.runtime.getCurrentBrowserWindow().hide();
252
- },
253
- () => {},
254
- () => {},
255
- document.getElementById('root'),
256
- );
257
-
258
- window.cppSdkHelper.exitUiScene = () => {
259
- try {
260
- uiScene.exit();
261
- } catch (error) {
262
- window.cppSdkHelper.exitedMeeting(roomId, FcrUIExitReason.USER_QUIT);
263
- }
264
- };
265
-
266
- uiScene.addObserver({
267
- onLaunchSuccess: () => {
268
- setLoading(false);
269
- sendExitedEventFlag = true;
270
- const roomProvider = uiScene._objectManager.getObject('roomProvider');
271
- if (!roomProvider) {
272
- throw new Error('roomProvider not found in uiScene');
273
- }
274
- const currentRoomControl = roomProvider.currentRoomControl;
275
- if (!currentRoomControl) {
276
- throw new Error('currentRoomControl not found in uiScene');
277
- }
278
- const roomInfo = currentRoomControl.getRoomInfo();
279
-
280
- if (!roomInfo) {
281
- throw new Error('roomInfo not found in uiScene');
282
- }
283
- const { roomName, roomId } = roomInfo;
284
- document.querySelector('title').innerText = roomName;
285
- window.cppSdkHelper.launchSuccess(roomId);
286
- },
287
- onLaunchFailure: (roomId, error) => {
288
- const errorCode = Number(error.code);
289
- let errorMessage = error.message;
290
-
291
- if (errorCode === 732403100 || errorCode === 631735290) {
292
- errorMessage = window._transI18n('fmt_lock_error');
293
- } else if (errorCode === 732403101) {
294
- errorMessage = window._transI18n('fmt_pc_room_not_exist_error');
295
- } else if (errorCode === 732403103) {
296
- errorMessage = window._transI18n('fmt_host_leave_error');
297
- } else if (errorCode === 720410100) {
298
- errorMessage = window._transI18n('fmt_end_error');
299
- } else {
300
- errorMessage = `Error: code=${errorCode}, message=${errorMessage}`;
301
- }
302
-
303
- setFullScreenFailureComp(true, errorMessage);
304
- window.cppSdkHelper.launchFailure(roomId, errorCode);
305
- },
306
-
307
- onExited: (roomId, reason) => {
308
- if (!sendExitedEventFlag) {
309
- return;
310
- }
311
- console.log('the previous sequence ui scene : ui scene exited');
312
- window.cppSdkHelper.exitedMeeting(roomId, reason);
313
- uiScene = null;
314
- setTimeout(() => {
315
- console.log('windows_release ui scene exited callback');
316
- window.runtime.getCurrentBrowserWindow().hide();
317
- });
318
- },
319
- onWidgetClicked: (widgetId) => {
320
- window.cppSdkHelper.onWidgetClicked(widgetId);
321
- },
322
- onUserTokenWillExpire: () => {
323
- window.cppSdkHelper.onUserTokenWillExpire();
324
- },
325
- });
326
- };
327
- })();
328
180
  </script>
181
+ <script src="meeting-manager.js"></script>
329
182
  </html>