fcr-ui-scene 3.6.2 → 3.6.3

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 (197) hide show
  1. package/lib/creator.d.ts +1 -0
  2. package/lib/creator.js +38 -26
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/injections.d.ts +3 -2
  6. package/lib/electron/injections.js +5 -6
  7. package/lib/electron/main.js +15 -11
  8. package/lib/electron/window.js +0 -3
  9. package/lib/fragments/annotation/index.d.ts +1 -0
  10. package/lib/fragments/annotation/index.js +55 -40
  11. package/lib/fragments/annotation/store.d.ts +7 -2
  12. package/lib/fragments/annotation/store.js +170 -90
  13. package/lib/fragments/annotation/view.d.ts +1 -0
  14. package/lib/fragments/annotation/view.js +10 -2
  15. package/lib/modules/action-bar/index.css +4 -0
  16. package/lib/modules/action-bar/store.d.ts +1 -7
  17. package/lib/modules/action-bar/store.js +35 -82
  18. package/lib/modules/annotation/board-cursor.css +76 -0
  19. package/lib/modules/annotation/components/control-bar/index.js +42 -2
  20. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +3 -1
  21. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
  22. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
  23. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
  24. package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
  25. package/lib/modules/annotation/index.d.ts +2 -0
  26. package/lib/modules/annotation/index.js +2 -1
  27. package/lib/modules/annotation/store.d.ts +11 -3
  28. package/lib/modules/annotation/store.js +209 -184
  29. package/lib/modules/annotation/style.css +3 -3
  30. package/lib/modules/annotation/view.d.ts +1 -0
  31. package/lib/modules/annotation/view.js +26 -9
  32. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  33. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  34. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
  35. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
  36. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  37. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  38. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  39. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  40. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  41. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  42. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  43. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  44. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  45. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  46. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  47. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  48. package/lib/modules/components/member-window/index.css +37 -0
  49. package/lib/modules/control-bar/index.d.ts +0 -4
  50. package/lib/modules/control-bar/index.js +0 -32
  51. package/lib/modules/control-bar/store.d.ts +4 -6
  52. package/lib/modules/control-bar/store.js +63 -103
  53. package/lib/modules/control-bar/view.js +45 -3
  54. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  55. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  56. package/lib/modules/dialog/hooks/useElectron.js +3 -2
  57. package/lib/modules/dialog/index.d.ts +0 -3
  58. package/lib/modules/dialog/index.js +1 -25
  59. package/lib/modules/dialog/store.d.ts +6 -8
  60. package/lib/modules/dialog/store.js +21 -55
  61. package/lib/modules/layout/components/CommonVideoRenderer.js +5 -2
  62. package/lib/modules/layout/type.d.ts +7 -0
  63. package/lib/modules/participant/store.js +59 -28
  64. package/lib/modules/setting/index.d.ts +2 -0
  65. package/lib/modules/setting/index.js +3 -3
  66. package/lib/modules/setting/store.d.ts +8 -10
  67. package/lib/modules/setting/store.js +22 -20
  68. package/lib/modules/share-screen/store.d.ts +3 -0
  69. package/lib/modules/share-screen/store.js +63 -54
  70. package/lib/modules/state-bar/index.css +8 -6
  71. package/lib/modules/state-bar/index.d.ts +2 -0
  72. package/lib/modules/state-bar/index.js +2 -1
  73. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  74. package/lib/modules/state-bar/layout-config.js +15 -5
  75. package/lib/modules/state-bar/store.d.ts +5 -1
  76. package/lib/modules/state-bar/store.js +8 -1
  77. package/lib/modules/state-bar/view.js +9 -5
  78. package/lib/modules/whiteboard/components/control-bar/store.js +2 -0
  79. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
  80. package/lib/modules/whiteboard/components/toolbar/store.js +61 -35
  81. package/lib/modules/whiteboard/index.js +3 -2
  82. package/lib/modules/whiteboard/style.css +0 -4
  83. package/lib/modules/whiteboard/view.js +8 -2
  84. package/lib/providers/annotation-provider.d.ts +63 -12
  85. package/lib/providers/annotation-provider.js +51 -41
  86. package/lib/providers/device-provider.d.ts +3 -3
  87. package/lib/providers/device-provider.js +8 -6
  88. package/lib/providers/event-provider.d.ts +3 -3
  89. package/lib/providers/screen-share-provider.js +53 -60
  90. package/lib/providers/sharing-provider.d.ts +5 -1
  91. package/lib/providers/sharing-provider.js +16 -1
  92. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  93. package/lib/providers/user-setting-storage-provider.js +74 -0
  94. package/lib/scenes/main-scene.js +2 -3
  95. package/lib/scenes/waiting-scene.js +1 -1
  96. package/lib/shared-data-source/config.d.ts +1 -5
  97. package/lib/shared-data-source/config.js +11 -81
  98. package/lib/shared-data-source/screen-share-data.d.ts +4 -0
  99. package/lib/shared-data-source/screen-share-data.js +1 -0
  100. package/lib/shared-data-source/setting.d.ts +13 -13
  101. package/lib/shared-data-source/setting.js +10 -6
  102. package/lib/shared-data-source/video-window.d.ts +2 -1
  103. package/lib/shared-data-source/video-window.js +56 -36
  104. package/lib/translations/enUS.d.ts +8 -0
  105. package/lib/translations/enUS.js +9 -1
  106. package/lib/translations/zhCN.d.ts +8 -0
  107. package/lib/translations/zhCN.js +11 -3
  108. package/lib/type.d.ts +2 -1
  109. package/lib/ui-scene.js +11 -6
  110. package/lib/utilities/constant.d.ts +2 -1
  111. package/lib/utilities/constant.js +1 -0
  112. package/lib/utilities/setting-config-storage.d.ts +5 -6
  113. package/lib/utilities/setting-config-storage.js +33 -39
  114. package/lib/utilities/tools.d.ts +1 -0
  115. package/lib/utilities/tools.js +3 -2
  116. package/package.json +8 -6
  117. package/dist/132.js +0 -2
  118. package/dist/132.js.LICENSE.txt +0 -311
  119. package/dist/317.js +0 -2
  120. package/dist/317.js.LICENSE.txt +0 -20
  121. package/dist/651.js +0 -2
  122. package/dist/651.js.LICENSE.txt +0 -1
  123. package/dist/689343b64b60bfb7ffff.png +0 -0
  124. package/dist/73.js +0 -1
  125. package/dist/885f9369ea05a8ac0e56.png +0 -0
  126. package/dist/90f383876a6e93e7c7ca.png +0 -0
  127. package/dist/9b37584780995fc5df8c.gif +0 -0
  128. package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
  129. package/dist/annotation.html +0 -1
  130. package/dist/annotation.js +0 -2
  131. package/dist/annotation.js.LICENSE.txt +0 -252
  132. package/dist/assets/browser/images/default1.jpg +0 -0
  133. package/dist/assets/browser/images/default2.jpg +0 -0
  134. package/dist/assets/browser/images/default3.jpg +0 -0
  135. package/dist/assets/browser/images/default4.jpg +0 -0
  136. package/dist/assets/browser/images/default5.jpg +0 -0
  137. package/dist/assets/browser/images/default6.jpg +0 -0
  138. package/dist/assets/browser/images/default7.jpg +0 -0
  139. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  140. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  141. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  142. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  143. package/dist/assets/browser/videos/default8.mp4 +0 -0
  144. package/dist/assets/browser/videos/default9.mp4 +0 -0
  145. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  146. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  147. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  148. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  149. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  150. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  151. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  152. package/dist/assets/electron/images/default1.jpg +0 -0
  153. package/dist/assets/electron/images/default2.jpg +0 -0
  154. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  155. package/dist/assets/electron/videos/default8.mp4 +0 -0
  156. package/dist/assets/fcr_chat_reddot.svg +0 -5
  157. package/dist/assets/fcr_defaultpage.png +0 -0
  158. package/dist/assets/fcr_grid_big.svg +0 -3
  159. package/dist/assets/fcr_leave2.svg +0 -58
  160. package/dist/assets/fcr_listontop_big.svg +0 -3
  161. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  162. package/dist/assets/leave-meeting.png +0 -0
  163. package/dist/assets/loading.gif +0 -0
  164. package/dist/assets/login_confirm.png +0 -0
  165. package/dist/assets/pretest.mp3 +0 -0
  166. package/dist/assets/state-bar-logo.png +0 -0
  167. package/dist/assets/step-gradient.svg +0 -10
  168. package/dist/b74b002687a3a3346bec.png +0 -0
  169. package/dist/b94869094481702f949b.png +0 -0
  170. package/dist/ebeace75fd46b90d890e.png +0 -0
  171. package/dist/electron/app.js +0 -194
  172. package/dist/electron/bootstrap-dev.js +0 -46
  173. package/dist/electron/bootstrap-sdk.js +0 -211
  174. package/dist/electron/default-options.js +0 -25
  175. package/dist/electron/env.js +0 -13
  176. package/dist/electron/index.js +0 -20
  177. package/dist/electron/injections.js +0 -903
  178. package/dist/electron/ipc/ipc.js +0 -141
  179. package/dist/electron/ipc/type.js +0 -19
  180. package/dist/electron/logger.js +0 -65
  181. package/dist/electron/main.js +0 -94
  182. package/dist/electron/plugins/devtool-shortcut.js +0 -33
  183. package/dist/electron/plugins/meeting-state.js +0 -39
  184. package/dist/electron/plugins/screenshot.js +0 -54
  185. package/dist/electron/preload.js +0 -108
  186. package/dist/electron/tools.js +0 -66
  187. package/dist/electron/window.js +0 -123
  188. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  189. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  190. package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
  191. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  192. package/dist/fad688b9135b15d6c405.png +0 -0
  193. package/dist/index.html +0 -224
  194. package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
  195. package/dist/main.js +0 -2
  196. package/dist/main.js.LICENSE.txt +0 -272
  197. package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
package/lib/creator.d.ts CHANGED
@@ -9,6 +9,7 @@ export declare class FcrUISceneCreator {
9
9
  accessor observableSettingStore: FcrObservableSettingStore;
10
10
  protected logger: import("agora-foundation/lib/logger").Logger;
11
11
  private _settingConfigStorage;
12
+ private _userSettingStorageProvider;
12
13
  private _registeredWidgetConfigs;
13
14
  private _released;
14
15
  private _scene;
package/lib/creator.js CHANGED
@@ -38,7 +38,6 @@ require("core-js/modules/es.array.map.js");
38
38
  require("core-js/modules/es.date.to-json.js");
39
39
  require("core-js/modules/es.json.stringify.js");
40
40
  require("core-js/modules/es.map.js");
41
- require("core-js/modules/es.object.assign.js");
42
41
  require("core-js/modules/es.object.keys.js");
43
42
  require("core-js/modules/es.object.to-string.js");
44
43
  require("core-js/modules/es.string.iterator.js");
@@ -97,6 +96,7 @@ var _imports = require("fcr-core/lib/imports");
97
96
  var _localStorageProvider = require("./providers/local-storage-provider");
98
97
  var _logger = require("./utilities/logger");
99
98
  var _uiResources = require("./utilities/ui-resources");
99
+ var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
100
100
  var _jsxRuntime = require("react/jsx-runtime");
101
101
  var _excluded = ["rtc.microphone.keep.recording"];
102
102
  var _FcrUISceneCreator;
@@ -135,9 +135,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
135
135
  this._config = _config;
136
136
  this.logger.info("creator config: ".concat(JSON.stringify(_config)));
137
137
  this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
138
+ this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
138
139
  this._localStorageProvider.write('annotation_rtm_app_id', this._config.appId);
139
140
  this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
140
- localStorageProvider: this._localStorageProvider
141
+ userSettingStorageProvider: this._userSettingStorageProvider
141
142
  });
142
143
  this._setKeepRecordingValueFromParameters(this._config.parameters || {});
143
144
  var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
@@ -286,13 +287,12 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
286
287
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
287
288
  this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
288
289
  this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
289
- this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._localStorageProvider);
290
+ this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._userSettingStorageProvider);
290
291
  this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
291
292
  creatorConfig: this._config,
292
- settingConfig: this._settingConfigStorage,
293
- localStorageProvider: this._localStorageProvider
293
+ settingConfig: this._settingConfigStorage
294
294
  });
295
- this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._localStorageProvider);
295
+ this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
296
296
  openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
297
297
  openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
298
298
  if (openDefaultCamera) {
@@ -323,8 +323,8 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
323
323
  sharedSettingDataSource: sharedSettingDataSource,
324
324
  dialogProvider: dialogProvider,
325
325
  settingConfig: sharedConfigDataSource.settingConfig,
326
- localStorageProvider: this._localStorageProvider,
327
- userId: this._config.userId
326
+ userId: this._config.userId,
327
+ userSettingStorageProvider: this._userSettingStorageProvider
328
328
  });
329
329
  case 21:
330
330
  case "end":
@@ -389,28 +389,40 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
389
389
  }, {
390
390
  key: "_filterKeepRecordingValueFromParameters",
391
391
  value: function _filterKeepRecordingValueFromParameters(parameters) {
392
- var filteredParameters = Object.assign({}, parameters);
393
- filteredParameters.rtc = filteredParameters.rtc.map(function (item) {
394
- var _JSON$parse = JSON.parse(item),
395
- _ = _JSON$parse['rtc.microphone.keep.recording'],
396
- rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
397
- return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
398
- }).filter(function (item) {
399
- return item !== null;
400
- });
401
- return filteredParameters;
392
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
393
+ try {
394
+ var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
395
+ var _JSON$parse = JSON.parse(item),
396
+ _ = _JSON$parse['rtc.microphone.keep.recording'],
397
+ rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
398
+ return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
399
+ }).filter(function (item) {
400
+ return item !== null;
401
+ });
402
+ return _objectSpread(_objectSpread({}, parameters), {}, {
403
+ rtc: rtc
404
+ });
405
+ } catch (e) {
406
+ this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
407
+ return parameters;
408
+ }
402
409
  }
403
410
  }, {
404
411
  key: "_setKeepRecordingValueFromParameters",
405
412
  value: function _setKeepRecordingValueFromParameters(parameters) {
406
- var rtcs = parameters.rtc;
407
- var keepRecording = rtcs.find(function (item) {
408
- return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
409
- });
410
- if (keepRecording) {
411
- var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
412
- this._microphoneKeepRecording = !!keepRecordingValue;
413
- this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
413
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
414
+ try {
415
+ var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
416
+ var keepRecording = rtcs.find(function (item) {
417
+ return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
418
+ });
419
+ if (keepRecording) {
420
+ var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
421
+ this._microphoneKeepRecording = !!keepRecordingValue;
422
+ this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
423
+ }
424
+ } catch (e) {
425
+ this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
414
426
  }
415
427
  }
416
428
  }]);
@@ -9,11 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.hookApp = void 0;
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ require("core-js/modules/es.array.concat.js");
12
13
  require("core-js/modules/es.array.find.js");
13
14
  require("core-js/modules/es.array.for-each.js");
14
15
  require("core-js/modules/es.array.join.js");
15
- require("core-js/modules/es.date.to-json.js");
16
- require("core-js/modules/es.json.stringify.js");
17
16
  require("core-js/modules/es.object.keys.js");
18
17
  require("core-js/modules/es.object.to-string.js");
19
18
  require("core-js/modules/es.string.starts-with.js");
@@ -38,6 +37,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
38
37
  app.commandLine.appendSwitch('ignore-certificate-errors');
39
38
  app.addListener('browser-window-created', function (_, window) {
40
39
  var windowId = window.id;
40
+ var windowTitle = window.getTitle();
41
+ logger.info("browser window is created, id: ".concat(windowId, ", title: ").concat(windowTitle));
41
42
  window.addListener('close', function () {
42
43
  _electron.BrowserWindow.getAllWindows().forEach(function (window) {
43
44
  if (!isWindowDestroyed(window)) {
@@ -48,8 +49,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
48
49
  }
49
50
  });
50
51
  });
51
- window.webContents.addListener('render-process-gone', function (event, arg) {
52
- logger.info("render-process-gone: ".concat(JSON.stringify(arg)));
52
+ window.webContents.addListener('render-process-gone', function (event, details) {
53
+ logger.info("rowser window render-process-gone, window id: ".concat(windowId, ", window title: ").concat(windowTitle, ", details.exitCode: ").concat(details.exitCode, ", details.reason: ").concat(details.reason));
53
54
  });
54
55
  window.webContents.addListener('did-finish-load', function () {
55
56
  setTimeout(function () {
@@ -28,6 +28,9 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
28
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
29
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
30
  (0, _main.initialize)();
31
+ _electron.crashReporter.start({
32
+ uploadToServer: false
33
+ });
31
34
  (0, _app.hookApp)(_electron.app);
32
35
  _electron.app.addListener('ready', function () {
33
36
  var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
@@ -1,6 +1,7 @@
1
1
  import { IpcRendererEvent } from 'electron';
2
2
  import { BrowserWindowConstructorOptions } from 'electron/renderer';
3
3
  import os from 'os';
4
+ import type { WindowManager } from '../type';
4
5
  export declare enum FcrNumericExitReason {
5
6
  LEAVE_ROOM = 1,// 自己离开而退出
6
7
  CLOSE_ROOM = 2,// 房间关闭而退出
@@ -27,8 +28,8 @@ export declare const captureScreen: (options?: {
27
28
  hideWindow?: boolean;
28
29
  alwaysHide?: boolean;
29
30
  }) => void;
30
- export declare const getActiveWindow: () => undefined;
31
- export declare const getWindows: () => never[];
31
+ export declare const getActiveWindow: () => WindowManager;
32
+ export declare const getWindows: () => WindowManager[];
32
33
  export declare const openRendererWindow: (frameName: string, renderFn: (dom: Element, browserWindow: Electron.BrowserWindow, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
33
34
  export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
34
35
  export declare const openSystemPreferences: (mediaType: "microphone" | "camera") => void;
@@ -57,8 +57,7 @@ var _path2 = _interopRequireDefault(require("path"));
57
57
  var _fs2 = _interopRequireDefault(require("fs"));
58
58
  var _promises = _interopRequireDefault(require("fs/promises"));
59
59
  var _jszip = _interopRequireDefault(require("jszip"));
60
- // import { windowManager } from 'node-window-manager';
61
-
60
+ var _nodeWindowManager = require("node-window-manager");
62
61
  var USER_SETTING_DATA_FILE_NAME = 'UserSettingData.json';
63
62
 
64
63
  // Numeric exit reason enum
@@ -165,12 +164,12 @@ var captureScreen = exports.captureScreen = function captureScreen(options) {
165
164
  _electron.ipcRenderer.send('short-cut-capture', "short-cut-capture-reply-".concat(Date.now()), options);
166
165
  };
167
166
  var getActiveWindow = exports.getActiveWindow = function getActiveWindow() {
168
- // return windowManager.getActiveWindow() as unknown as WindowManager;
169
- return undefined;
167
+ return _nodeWindowManager.windowManager.getActiveWindow();
168
+ //return undefined;
170
169
  };
171
170
  var getWindows = exports.getWindows = function getWindows() {
172
- // return windowManager.getWindows() as unknown as WindowManager[];
173
- return [];
171
+ return _nodeWindowManager.windowManager.getWindows();
172
+ //return [];
174
173
  };
175
174
  var rendererWindows = {};
176
175
  var rendererWindowMutationObservers = {};
@@ -16,15 +16,15 @@ var _meetingState = require("./plugins/meeting-state");
16
16
  var logger = (0, _logger.getLogger)();
17
17
  var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
18
18
  mainWindow.webContents.addListener('did-create-window', function (window, details) {
19
- logger.info("browser window is opened, frameName: ".concat(details.frameName));
19
+ logger.info("[electron][window]: browser window is opened, frameName: ".concat(details.frameName));
20
20
  var builtinFrameNames = ['device-settings', 'chat', 'live-streaming', 'participant', 'share-screen-selection', 'invite', 'video-window', 'confirm', 'connection-gateway', 'whiteboard', 'progress-dialog', 'operation-waiting-room', 'operation-waiting-room', 'interpreter-setting', 'waiting-room-single-remove', 'waiting-room-all-remove', 'waiting-room-all-admit', 'control-bar', 'show-toast', 'system-preference', 'rename', 'annotation-tool', 'leave-meeting'];
21
21
  if (!builtinFrameNames.includes(details.frameName) && !details.frameName.startsWith('widget')) {
22
- logger.info("frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
22
+ logger.info("[electron][window]: frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
23
23
  return;
24
24
  }
25
25
  (0, _window.putRendererWindow)(details.frameName, window);
26
26
  window.webContents.addListener('destroyed', function () {
27
- logger.info("browser window is destroyed, frameName: ".concat(details.frameName));
27
+ logger.info("[electron][window]: browser window is destroyed, frameName: ".concat(details.frameName));
28
28
  (0, _window.deleteRendererWindow)(details.frameName);
29
29
  });
30
30
 
@@ -32,17 +32,20 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
32
32
  // renderer process will receive the will-close event, do some clean up and then call window.close() to close the window
33
33
  window.addListener('close', function (event) {
34
34
  event.preventDefault();
35
- logger.info("Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
35
+ logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
36
36
  window.emit('will-close');
37
37
  });
38
38
  window.addListener('will-resize', function (event, newBounds, details) {
39
- logger.info("Window [".concat(window.title, ":").concat(window.id, "] is resized, send 'custom-resize' event to that window"));
39
+ logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is resized, send 'custom-resize' event to that window"));
40
40
  window.emit('custom-resize', event, newBounds, details);
41
41
  });
42
- window.addListener('move', function () {
43
- logger.info("Window [".concat(window.title, ":").concat(window.id, "] is move, send 'custom-move' event to that window"));
44
- window.emit('custom-move');
45
- });
42
+
43
+ // window.addListener('move', () => {
44
+ // logger.info(
45
+ // `Window [${window.title}:${window.id}] is move, send 'custom-move' event to that window`,
46
+ // );
47
+ // window.emit('custom-move');
48
+ // });
46
49
 
47
50
  // screen?.addListener('display-metrics-changed', (event, display, changedMetrics) => {
48
51
  // logger.info(
@@ -55,11 +58,11 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
55
58
  attachEventOnMethod(window, 'show', 'CALL_SHOW');
56
59
  });
57
60
  mainWindow.webContents.addListener('render-process-gone', function (event, details) {
58
- logger.info("main window render-process-gone, details: ".concat(details));
61
+ logger.info("[electron][window]: main window render-process-gone, details.exitCode: ".concat(details.exitCode, ", details.reason: ").concat(details.reason));
59
62
  (0, _window.closeAllWindows)();
60
63
  (0, _window.clearAllRendererWindows)();
61
64
  setTimeout(function () {
62
- logger.info('start reloading main window...');
65
+ logger.info('[electron][window]: start reloading main window...');
63
66
  mainWindow.reload();
64
67
  }, 1000);
65
68
  });
@@ -78,6 +81,7 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
78
81
  };
79
82
  var attachEventOnMethod = function attachEventOnMethod(browserWindow, method, action) {
80
83
  var func = browserWindow[method];
84
+ logger.info("[electron][window]: attachEventOnMethod, method: ".concat(String(method), ", action: ").concat(action));
81
85
  if (typeof func === 'function') {
82
86
  // @ts-ignore
83
87
  browserWindow[method] = function () {
@@ -68,9 +68,6 @@ var open = exports.open = function open(entryPath, dialogId) {
68
68
  delete windows[key];
69
69
  delete windowKeyById[windowId];
70
70
  });
71
- browserWindow.webContents.addListener('render-process-gone', function (event, arg) {
72
- logger.info("BrowserWindow [".concat(entryPath, "] render-process-gone: ").concat(arg));
73
- });
74
71
  loadFragment(browserWindow, entryPath);
75
72
  windows[key] = browserWindow;
76
73
  windowKeyById[windowId] = entryPath;
@@ -1,5 +1,6 @@
1
1
  import { BaseFragment } from '../base';
2
2
  export declare class Annotation extends BaseFragment {
3
+ private _store;
3
4
  get name(): string;
4
5
  get component(): import("react/jsx-runtime").JSX.Element;
5
6
  constructor(runtime: Runtime);
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.array.iterator.js");
3
4
  require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
4
7
  require("core-js/modules/es.reflect.construct.js");
8
+ require("core-js/modules/es.string.iterator.js");
9
+ require("core-js/modules/es.weak-map.js");
10
+ require("core-js/modules/esnext.weak-map.delete-all.js");
11
+ require("core-js/modules/esnext.weak-map.emplace.js");
12
+ require("core-js/modules/web.dom-collections.iterator.js");
5
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
15
  Object.defineProperty(exports, "__esModule", {
7
16
  value: true
8
17
  });
@@ -15,62 +24,65 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
15
24
  var _react = _interopRequireDefault(require("react"));
16
25
  var _reactDom = _interopRequireDefault(require("react-dom"));
17
26
  var _base = require("../base");
18
- var _root = require("react-hot-loader/root");
27
+ var _store = _interopRequireWildcard(require("./store"));
28
+ var _constant = require("../../utilities/constant");
29
+ var _view = _interopRequireDefault(require("./view"));
19
30
  var _jsxRuntime = require("react/jsx-runtime");
31
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
32
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
33
  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)); }
21
34
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
35
  var Annotation = exports.Annotation = /*#__PURE__*/function (_BaseFragment) {
23
36
  function Annotation(runtime) {
37
+ var _this;
24
38
  (0, _classCallCheck2["default"])(this, Annotation);
25
- return _callSuper(this, Annotation, [runtime]); // this._store = new AnnotationStore();
26
- // window.addEventListener('keydown', (event) => {
27
- // if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
28
- // event.preventDefault();
29
- // }
30
- // });
39
+ _this = _callSuper(this, Annotation, [runtime]);
40
+ _this._store = new _store["default"]();
41
+ window.addEventListener('keydown', function (event) {
42
+ if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
43
+ event.preventDefault();
44
+ }
45
+ });
46
+ return _this;
31
47
  }
32
48
  (0, _inherits2["default"])(Annotation, _BaseFragment);
33
49
  return (0, _createClass2["default"])(Annotation, [{
34
50
  key: "name",
35
- get:
36
- // private _store: AnnotationStore;
37
-
38
- function get() {
51
+ get: function get() {
39
52
  return 'annotation';
40
53
  }
41
54
  }, {
42
55
  key: "component",
43
56
  get: function get() {
44
- // return (
45
- // <AnnotationStoreContext.Provider value={this._store}>
46
- // <View />
47
- // </AnnotationStoreContext.Provider>
48
- // );
49
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {});
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.AnnotationStoreContext.Provider, {
58
+ value: this._store,
59
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view["default"], {})
60
+ });
50
61
  }
51
62
  }, {
52
63
  key: "onEvent",
53
64
  value: function onEvent(event) {
54
- // switch (event.action) {
55
- // case FcrUIRendererEventAction.SET_ANNOTATION_TO_SHOW:
56
- // if (event.payload) {
57
- // console.log('show annotation');
58
- // this._store.open();
59
- // } else {
60
- // console.log('hide annotation');
61
- // this._store.close();
62
- // }
63
- // break;
64
- // case FcrUIRendererEventAction.SET_CURRENT_SHARE_SCREEN_BOUNDS:
65
- // this._store.setBounds(event.payload as Electron.Rectangle);
66
- // break;
67
- // case FcrUIRendererEventAction.SET_ANNOTATION_IGNORE:
68
- // this._store.setIgnore(event.payload as boolean);
69
- // break;
70
- // default:
71
- // this._store.toolChanged(event);
72
- // break;
73
- // }
65
+ switch (event.action) {
66
+ case _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_SHOW:
67
+ if (event.payload) {
68
+ console.log('show annotation');
69
+ this._store.open();
70
+ } else {
71
+ console.log('hide annotation');
72
+ this._store.close();
73
+ }
74
+ break;
75
+ case _constant.FcrUIRendererEventAction.SET_CURRENT_SHARE_SCREEN_BOUNDS:
76
+ console.log('[annotation][onEvent]: set current share screen bounds', event);
77
+ this._store.setBounds(event.payload);
78
+ break;
79
+ case _constant.FcrUIRendererEventAction.SET_ANNOTATION_IGNORE:
80
+ this._store.setIgnore(event.payload);
81
+ break;
82
+ default:
83
+ this._store.toolChanged(event);
84
+ break;
85
+ }
74
86
  }
75
87
  }]);
76
88
  }(_base.BaseFragment);
@@ -91,16 +103,19 @@ var windowOptions = exports.windowOptions = {
91
103
  enableLargerThanScreen: true,
92
104
  hasShadow: false,
93
105
  x: 0,
94
- y: 0
106
+ y: 0,
107
+ hiddenInMissionControl: true,
108
+ type: 'panel',
109
+ skipTaskbar: true
95
110
  };
96
111
  var title = exports.title = 'Annotation';
97
112
  var webPreferences = exports.webPreferences = {
98
113
  nodeIntegration: true
99
114
  };
100
115
  var $$fragment = new Annotation(window.runtime);
101
- var App = (0, _root.hot)(function () {
116
+ var App = function App() {
102
117
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
103
118
  children: $$fragment.component
104
119
  });
105
- });
120
+ };
106
121
  _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.getElementById('root'));
@@ -9,17 +9,22 @@ declare class AnnotationStore {
9
9
  private _config;
10
10
  accessor joined: boolean;
11
11
  accessor bounds: Electron.Rectangle;
12
+ accessor currentTool: string;
13
+ private timer;
12
14
  constructor();
13
15
  open(): Promise<void>;
14
16
  handleBoardDomLoad(dom: HTMLDivElement): void;
15
- close(): void;
17
+ close(): Promise<void>;
16
18
  setBounds(bounds: Electron.Rectangle): void;
17
19
  setIgnore(ignore: boolean): void;
18
20
  toolChanged(event: RendererCustomEvent): void;
19
- private _setBoardInstance;
21
+ private _initBoardStyle;
22
+ private _handleSetTool;
20
23
  private _init;
21
24
  private _initBoardRoom;
22
25
  private _initEngine;
26
+ private _launchHandler;
27
+ private _terminalHandler;
23
28
  }
24
29
  export default AnnotationStore;
25
30
  export declare const AnnotationStoreContext: import("react").Context<AnnotationStore>;