fcr-ui-scene 3.6.3 → 3.6.4

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 (235) hide show
  1. package/lib/base.js +0 -3
  2. package/lib/creator.js +26 -24
  3. package/lib/electron/app.js +31 -13
  4. package/lib/electron/bootstrap-dev.js +2 -3
  5. package/lib/electron/bootstrap-sdk.js +4 -10
  6. package/lib/electron/exit-codes.d.ts +14 -0
  7. package/lib/electron/exit-codes.js +22 -0
  8. package/lib/electron/injections.js +117 -118
  9. package/lib/electron/ipc/ipc.js +0 -1
  10. package/lib/electron/main.js +44 -3
  11. package/lib/electron/tools.js +0 -4
  12. package/lib/electron/window.js +1 -4
  13. package/lib/fragments/annotation/index.js +1 -2
  14. package/lib/fragments/annotation/store.js +47 -48
  15. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  16. package/lib/modules/action-bar/components/apps/app-list.js +2 -5
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
  18. package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
  19. package/lib/modules/action-bar/components/collapse/index.js +0 -4
  20. package/lib/modules/action-bar/components/item/index.js +0 -2
  21. package/lib/modules/action-bar/components/leave/index.js +0 -2
  22. package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
  23. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
  24. package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
  25. package/lib/modules/action-bar/components/screen-share/index.js +0 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
  27. package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
  28. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
  29. package/lib/modules/action-bar/index.js +1 -2
  30. package/lib/modules/action-bar/store.js +32 -36
  31. package/lib/modules/annotation/components/control-bar/index.js +3 -2
  32. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
  33. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +2 -1
  34. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
  35. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
  36. package/lib/modules/annotation/components/toolbar/store.js +0 -1
  37. package/lib/modules/annotation/index.d.ts +2 -0
  38. package/lib/modules/annotation/index.js +2 -1
  39. package/lib/modules/annotation/store.d.ts +5 -3
  40. package/lib/modules/annotation/store.js +35 -43
  41. package/lib/modules/audio-stream/index.js +0 -4
  42. package/lib/modules/chat/chat-room-store.js +6 -10
  43. package/lib/modules/chat/components/chat-bar/index.js +0 -2
  44. package/lib/modules/chat/components/chat-select/index.js +0 -1
  45. package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
  46. package/lib/modules/chat/components/message-list/index.js +1 -3
  47. package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
  48. package/lib/modules/chat/index.js +13 -14
  49. package/lib/modules/chat/store.js +0 -1
  50. package/lib/modules/chat/view.js +11 -15
  51. package/lib/modules/components/annotation-menu/index.js +0 -3
  52. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
  53. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  54. package/lib/modules/components/device-control/store.js +0 -1
  55. package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
  56. package/lib/modules/components/leave-meeting/store.js +11 -12
  57. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
  58. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  59. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -3
  60. package/lib/modules/components/member-window/components/member-actions/index.js +0 -1
  61. package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
  62. package/lib/modules/components/member-window/components/member-actions/store.js +20 -20
  63. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
  64. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
  65. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  66. package/lib/modules/components/member-window/components/video-player/index.js +3 -3
  67. package/lib/modules/components/member-window/index.js +1 -0
  68. package/lib/modules/components/security-menu/index.js +1 -4
  69. package/lib/modules/components/tab-frame/index.js +0 -4
  70. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  71. package/lib/modules/connection-gateway/components/phone/index.js +5 -4
  72. package/lib/modules/connection-gateway/index.js +1 -2
  73. package/lib/modules/connection-gateway/store.js +23 -26
  74. package/lib/modules/control-bar/components/more-actions/index.js +0 -3
  75. package/lib/modules/control-bar/index.js +1 -2
  76. package/lib/modules/control-bar/store.d.ts +1 -0
  77. package/lib/modules/control-bar/store.js +8 -2
  78. package/lib/modules/control-bar/view.js +9 -11
  79. package/lib/modules/device-pretest/settings/beauty.js +1 -2
  80. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  81. package/lib/modules/device-pretest/store.js +2 -4
  82. package/lib/modules/dialog/components/control-bar/index.js +3 -3
  83. package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
  84. package/lib/modules/dialog/components/dialog-container/index.js +1 -2
  85. package/lib/modules/dialog/components/host-area-container/index.js +0 -3
  86. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
  87. package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
  88. package/lib/modules/dialog/components/system-preference/index.js +2 -5
  89. package/lib/modules/dialog/components/video-window/index.js +0 -2
  90. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
  91. package/lib/modules/dialog/hooks/useElectron.js +0 -2
  92. package/lib/modules/dialog/index.js +1 -3
  93. package/lib/modules/dialog/store.js +1 -5
  94. package/lib/modules/dialog/view.js +2 -1
  95. package/lib/modules/event-confirm/components/window/index.js +0 -2
  96. package/lib/modules/event-confirm/index.js +1 -2
  97. package/lib/modules/event-confirm/store.js +4 -7
  98. package/lib/modules/event-confirm/view.js +2 -1
  99. package/lib/modules/event-sound/index.js +1 -2
  100. package/lib/modules/event-sound/sound-effect-player.js +2 -2
  101. package/lib/modules/event-toast/index.js +1 -2
  102. package/lib/modules/event-toast/store.js +0 -2
  103. package/lib/modules/event-toast/view.js +2 -1
  104. package/lib/modules/interpreter/index.js +1 -2
  105. package/lib/modules/interpreter/interpreter-list/index.js +3 -4
  106. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
  107. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  108. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
  109. package/lib/modules/interpreter/store.js +5 -10
  110. package/lib/modules/interpreter/utils.js +15 -14
  111. package/lib/modules/invite/components/pstn-invite.js +22 -23
  112. package/lib/modules/invite/components/voip-invite.js +7 -7
  113. package/lib/modules/invite/enums.js +1 -0
  114. package/lib/modules/invite/index.js +1 -2
  115. package/lib/modules/invite/store.js +46 -45
  116. package/lib/modules/layout/components/CommonVideoRenderer.js +2 -1
  117. package/lib/modules/layout/components/Gallery.js +5 -3
  118. package/lib/modules/layout/components/index.js +0 -1
  119. package/lib/modules/layout/index.js +1 -2
  120. package/lib/modules/layout/store.d.ts +3 -0
  121. package/lib/modules/layout/store.js +38 -14
  122. package/lib/modules/layout/type.js +9 -0
  123. package/lib/modules/live-streaming/index.dev.js +6 -6
  124. package/lib/modules/live-streaming/index.js +1 -2
  125. package/lib/modules/live-streaming/store.js +19 -19
  126. package/lib/modules/notification/index.js +1 -2
  127. package/lib/modules/notification/interpreter-status/index.js +2 -1
  128. package/lib/modules/notification/view.js +1 -2
  129. package/lib/modules/offscreen-pulling/index.js +0 -1
  130. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
  131. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
  132. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
  133. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
  134. package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
  135. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
  136. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
  137. package/lib/modules/participant/index.js +1 -4
  138. package/lib/modules/participant/member-list-data-source.js +0 -3
  139. package/lib/modules/participant/store.js +81 -86
  140. package/lib/modules/pc-audio-connect/index.js +1 -2
  141. package/lib/modules/pc-audio-connect/store.js +9 -10
  142. package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
  143. package/lib/modules/phone-audio-connect/index.js +1 -2
  144. package/lib/modules/phone-audio-connect/store.js +0 -3
  145. package/lib/modules/phone-audio-connect/view.js +5 -4
  146. package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
  147. package/lib/modules/setting/general-settings/general-settings.js +1 -2
  148. package/lib/modules/setting/index.js +1 -2
  149. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
  150. package/lib/modules/setting/state/index.js +0 -4
  151. package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
  152. package/lib/modules/setting/store.js +11 -15
  153. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  154. package/lib/modules/setting/video-settings/video-settings.js +1 -2
  155. package/lib/modules/setting/view.js +1 -2
  156. package/lib/modules/share-screen/components/selection/index.js +16 -9
  157. package/lib/modules/share-screen/index.d.ts +2 -0
  158. package/lib/modules/share-screen/index.js +3 -3
  159. package/lib/modules/share-screen/store.d.ts +9 -2
  160. package/lib/modules/share-screen/store.js +97 -93
  161. package/lib/modules/state-bar/index.js +1 -2
  162. package/lib/modules/state-bar/layout-config.js +2 -1
  163. package/lib/modules/state-bar/live-streaming-state.js +0 -3
  164. package/lib/modules/state-bar/store.js +0 -1
  165. package/lib/modules/video-window/components/members/index.js +2 -1
  166. package/lib/modules/video-window/components/topControl/index.js +0 -3
  167. package/lib/modules/video-window/index.js +1 -2
  168. package/lib/modules/video-window/store.js +0 -4
  169. package/lib/modules/waiting-room-layout/index.js +1 -2
  170. package/lib/modules/whiteboard/components/control-bar/store.js +0 -1
  171. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  172. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  174. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  175. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
  176. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
  177. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  178. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
  179. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
  180. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
  181. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  182. package/lib/modules/whiteboard/components/toolbar/store.js +12 -11
  183. package/lib/modules/whiteboard/index.js +2 -6
  184. package/lib/modules/whiteboard/style.css +12 -0
  185. package/lib/modules/whiteboard/view.js +2 -0
  186. package/lib/modules/widget/index.js +1 -2
  187. package/lib/modules/widget/web-widget.js +1 -1
  188. package/lib/plugins/browser-runtime-plugin.js +1 -1
  189. package/lib/plugins/module-dev-plugin.js +13 -13
  190. package/lib/providers/ability-provider.d.ts +12 -1
  191. package/lib/providers/ability-provider.js +8 -1
  192. package/lib/providers/annotation-provider.js +7 -11
  193. package/lib/providers/device-privilege-provider.js +81 -83
  194. package/lib/providers/device-provider.js +193 -198
  195. package/lib/providers/device-stream-provider.js +24 -27
  196. package/lib/providers/event-provider.js +0 -2
  197. package/lib/providers/interpreter-provider.js +195 -197
  198. package/lib/providers/message-provider.js +0 -2
  199. package/lib/providers/phone-audio-provider.js +17 -19
  200. package/lib/providers/privilege-provider.js +53 -58
  201. package/lib/providers/renderer-provider.d.ts +3 -1
  202. package/lib/providers/renderer-provider.js +18 -4
  203. package/lib/providers/room-provider.js +31 -33
  204. package/lib/providers/screen-share-provider.d.ts +1 -0
  205. package/lib/providers/screen-share-provider.js +66 -65
  206. package/lib/providers/sharing-provider.js +2 -1
  207. package/lib/providers/user-setting-storage-provider.js +0 -2
  208. package/lib/providers/widget-provider.js +0 -1
  209. package/lib/scenes/main-scene.js +11 -13
  210. package/lib/scenes/waiting-scene.js +3 -3
  211. package/lib/shared-data-source/chat-data.js +0 -2
  212. package/lib/shared-data-source/interpreter.js +0 -2
  213. package/lib/shared-data-source/layout-data.js +1 -4
  214. package/lib/shared-data-source/member-data.js +0 -4
  215. package/lib/shared-data-source/pin-data.js +0 -1
  216. package/lib/shared-data-source/screen-share-data.d.ts +2 -2
  217. package/lib/shared-data-source/screen-share-data.js +1 -2
  218. package/lib/shared-data-source/security-data.js +0 -1
  219. package/lib/shared-data-source/setting.js +0 -2
  220. package/lib/shared-data-source/video-window.js +26 -30
  221. package/lib/shared-data-source/waiting-room.js +0 -2
  222. package/lib/type.js +14 -0
  223. package/lib/ui-scene.js +7 -8
  224. package/lib/utilities/constant.js +7 -0
  225. package/lib/utilities/copyText.js +12 -12
  226. package/lib/utilities/hooks.js +1 -2
  227. package/lib/utilities/logger.js +0 -1
  228. package/lib/utilities/parameters.js +2 -2
  229. package/lib/utilities/privilege.js +0 -3
  230. package/lib/utilities/renderer-event.js +0 -2
  231. package/lib/utilities/setting-config-storage.d.ts +2 -0
  232. package/lib/utilities/setting-config-storage.js +24 -4
  233. package/lib/utilities/tools.js +6 -10
  234. package/lib/waiting-room-control-manager.js +26 -28
  235. package/package.json +5 -5
package/lib/base.js CHANGED
@@ -51,9 +51,6 @@ require("core-js/modules/es.reflect.has.js");
51
51
  require("core-js/modules/es.reflect.set.js");
52
52
  require("core-js/modules/es.set.js");
53
53
  require("core-js/modules/es.string.iterator.js");
54
- require("core-js/modules/esnext.async-iterator.filter.js");
55
- require("core-js/modules/esnext.async-iterator.for-each.js");
56
- require("core-js/modules/esnext.async-iterator.map.js");
57
54
  require("core-js/modules/esnext.iterator.constructor.js");
58
55
  require("core-js/modules/esnext.iterator.filter.js");
59
56
  require("core-js/modules/esnext.iterator.for-each.js");
package/lib/creator.js CHANGED
@@ -15,7 +15,6 @@ require("core-js/modules/es.object.define-properties.js");
15
15
  require("core-js/modules/es.object.define-property.js");
16
16
  require("core-js/modules/es.object.get-own-property-descriptor.js");
17
17
  require("core-js/modules/es.object.get-own-property-descriptors.js");
18
- require("core-js/modules/esnext.async-iterator.for-each.js");
19
18
  require("core-js/modules/esnext.function.metadata.js");
20
19
  require("core-js/modules/esnext.iterator.for-each.js");
21
20
  require("core-js/modules/esnext.symbol.metadata.js");
@@ -42,9 +41,6 @@ require("core-js/modules/es.object.keys.js");
42
41
  require("core-js/modules/es.object.to-string.js");
43
42
  require("core-js/modules/es.string.iterator.js");
44
43
  require("core-js/modules/es.weak-map.js");
45
- require("core-js/modules/esnext.async-iterator.filter.js");
46
- require("core-js/modules/esnext.async-iterator.find.js");
47
- require("core-js/modules/esnext.async-iterator.map.js");
48
44
  require("core-js/modules/esnext.iterator.constructor.js");
49
45
  require("core-js/modules/esnext.iterator.filter.js");
50
46
  require("core-js/modules/esnext.iterator.find.js");
@@ -191,18 +187,22 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
191
187
  }
192
188
  (0, _i18n.changeLanguage)(config.language);
193
189
  var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom, this._settingConfigStorage, this._registeredWidgetConfigs, this._engine);
194
- var onLaunchSuccess = function onLaunchSuccess() {
195
- var parameters = _objectSpread(_objectSpread({}, _this._parameters), {}, {
196
- rtc: [JSON.stringify({
197
- 'rtc.microphone.keep.recording': _this._microphoneKeepRecording
198
- })]
199
- });
200
- _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
201
- _this._engine.setParameters(parameters);
190
+ var _onLaunchSuccess = function onLaunchSuccess() {
191
+ if (_this._microphoneKeepRecording) {
192
+ var parameters = {
193
+ rtc: [JSON.stringify({
194
+ 'rtc.microphone.keep.recording': true
195
+ })]
196
+ };
197
+ _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
198
+ _this._engine.setParameters(parameters);
199
+ }
202
200
  return onSuccess;
203
201
  };
204
202
  scene.addObserver({
205
- onLaunchSuccess: onLaunchSuccess(),
203
+ onLaunchSuccess: function onLaunchSuccess() {
204
+ return _onLaunchSuccess();
205
+ },
206
206
  onLaunchFailure: onFailure,
207
207
  onLaunchCancel: onCancel,
208
208
  onSettingStore: function onSettingStore(store) {
@@ -210,13 +210,15 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
210
210
  _this.closeSetting();
211
211
  },
212
212
  onExited: function onExited() {
213
- var parameters = _objectSpread(_objectSpread({}, _this._parameters), {}, {
214
- rtc: [JSON.stringify({
215
- 'rtc.microphone.keep.recording': false
216
- })]
217
- });
218
- _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
219
- _this._engine.setParameters(parameters);
213
+ if (_this._microphoneKeepRecording) {
214
+ var parameters = {
215
+ rtc: [JSON.stringify({
216
+ 'rtc.microphone.keep.recording': false
217
+ })]
218
+ };
219
+ _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
220
+ _this._engine.setParameters(parameters);
221
+ }
220
222
  _this.closeSetting();
221
223
  _this._initSettingStore();
222
224
  _this._resetScene();
@@ -281,7 +283,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
281
283
  value: function () {
282
284
  var _initSettingStore2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
283
285
  var openDefaultCamera, openDefaultMicrophone, eventProvider, deviceProvider, dialogProvider, messageProvider, sharedConfigDataSource, sharedSettingDataSource, monitorProvider;
284
- return _regenerator["default"].wrap(function _callee$(_context) {
286
+ return _regenerator["default"].wrap(function (_context) {
285
287
  while (1) switch (_context.prev = _context.next) {
286
288
  case 0:
287
289
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
@@ -310,9 +312,9 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
310
312
  sharedSettingDataSource = this._sharedSettingDataSource;
311
313
  monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
312
314
  deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
313
- _context.next = 20;
315
+ _context.next = 1;
314
316
  return deviceProvider.init();
315
- case 20:
317
+ case 1:
316
318
  this.observableSettingStore.value = new _store["default"]({
317
319
  uiEventStore: eventProvider,
318
320
  monitorControl: monitorProvider,
@@ -326,7 +328,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
326
328
  userId: this._config.userId,
327
329
  userSettingStorageProvider: this._userSettingStorageProvider
328
330
  });
329
- case 21:
331
+ case 2:
330
332
  case "end":
331
333
  return _context.stop();
332
334
  }
@@ -16,8 +16,6 @@ require("core-js/modules/es.array.join.js");
16
16
  require("core-js/modules/es.object.keys.js");
17
17
  require("core-js/modules/es.object.to-string.js");
18
18
  require("core-js/modules/es.string.starts-with.js");
19
- require("core-js/modules/esnext.async-iterator.find.js");
20
- require("core-js/modules/esnext.async-iterator.for-each.js");
21
19
  require("core-js/modules/esnext.iterator.constructor.js");
22
20
  require("core-js/modules/esnext.iterator.find.js");
23
21
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -29,16 +27,17 @@ var _electron = require("electron");
29
27
  var _path = _interopRequireDefault(require("path"));
30
28
  var _logger = require("./logger");
31
29
  var _child_process = require("child_process");
30
+ var _exitCodes = require("./exit-codes");
32
31
  var logger = (0, _logger.getLogger)();
33
32
  var hookApp = exports.hookApp = function hookApp(app) {
33
+ logger.info("hook app, main process id: ".concat(process.pid));
34
34
  var isWindowDestroyed = function isWindowDestroyed(window) {
35
35
  return window.isDestroyed();
36
36
  };
37
37
  app.commandLine.appendSwitch('ignore-certificate-errors');
38
38
  app.addListener('browser-window-created', function (_, window) {
39
39
  var windowId = window.id;
40
- var windowTitle = window.getTitle();
41
- logger.info("browser window is created, id: ".concat(windowId, ", title: ").concat(windowTitle));
40
+ logger.info("[electron][window]: browser window is created, id: ".concat(windowId));
42
41
  window.addListener('close', function () {
43
42
  _electron.BrowserWindow.getAllWindows().forEach(function (window) {
44
43
  if (!isWindowDestroyed(window)) {
@@ -50,9 +49,28 @@ var hookApp = exports.hookApp = function hookApp(app) {
50
49
  });
51
50
  });
52
51
  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));
52
+ // 安全地获取 window 信息,避免在崩溃状态下访问可能失效的属性
53
+ var windowTitle = 'Unknown';
54
+ var windowId = 'Unknown';
55
+ try {
56
+ // 检查 window 是否仍然有效
57
+ if (!window.isDestroyed()) {
58
+ windowTitle = window.getTitle() || 'Unknown';
59
+ windowId = String(window.id);
60
+ }
61
+ } catch (error) {
62
+ logger.warn("[electron][window]: failed to get window info during crash: ".concat(error));
63
+ }
64
+
65
+ // 输出详细的崩溃信息
66
+ logger.error("[electron][window]: app exit due to render-process-gone event, window crash details - title: ".concat(windowTitle, ", id: ").concat(windowId, ", exitCode: ").concat(details.exitCode, ", reason: ").concat(details.reason));
67
+ logger.error('[electron][window]: exiting process due to render-process-gone event');
68
+ app.exit(_exitCodes.AppExitCode.RENDERER_PROCESS_GONE);
54
69
  });
55
70
  window.webContents.addListener('did-finish-load', function () {
71
+ var title = window.getTitle();
72
+ var processId = window.webContents.getOSProcessId();
73
+ logger.info("[electron][window]: browser window did finish load, id: ".concat(windowId, ", title: ").concat(title, ", process id: ").concat(processId));
56
74
  setTimeout(function () {
57
75
  _electron.BrowserWindow.getAllWindows().forEach(function (window) {
58
76
  if (!isWindowDestroyed(window)) {
@@ -131,11 +149,11 @@ var hookApp = exports.hookApp = function hookApp(app) {
131
149
  _electron.ipcMain.handle('checkMediaPermission', /*#__PURE__*/function () {
132
150
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_, mediaType) {
133
151
  var accessStatus, res;
134
- return _regenerator["default"].wrap(function _callee$(_context) {
152
+ return _regenerator["default"].wrap(function (_context) {
135
153
  while (1) switch (_context.prev = _context.next) {
136
154
  case 0:
137
155
  if (!(mediaType === 'sharing')) {
138
- _context.next = 3;
156
+ _context.next = 1;
139
157
  break;
140
158
  }
141
159
  // below API call will trigger the system to add the permission for screen recording on macOS
@@ -143,20 +161,20 @@ var hookApp = exports.hookApp = function hookApp(app) {
143
161
  types: ['screen']
144
162
  });
145
163
  return _context.abrupt("return", true);
146
- case 3:
164
+ case 1:
147
165
  accessStatus = _electron.systemPreferences.getMediaAccessStatus(mediaType);
148
166
  if (!(accessStatus !== 'granted')) {
149
- _context.next = 11;
167
+ _context.next = 3;
150
168
  break;
151
169
  }
152
- _context.next = 7;
170
+ _context.next = 2;
153
171
  return _electron.systemPreferences.askForMediaAccess(mediaType);
154
- case 7:
172
+ case 2:
155
173
  res = _context.sent;
156
174
  return _context.abrupt("return", res);
157
- case 11:
175
+ case 3:
158
176
  return _context.abrupt("return", true);
159
- case 12:
177
+ case 4:
160
178
  case "end":
161
179
  return _context.stop();
162
180
  }
@@ -10,8 +10,6 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.keys.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
- require("core-js/modules/esnext.async-iterator.filter.js");
14
- require("core-js/modules/esnext.async-iterator.for-each.js");
15
13
  require("core-js/modules/esnext.iterator.constructor.js");
16
14
  require("core-js/modules/esnext.iterator.filter.js");
17
15
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -25,6 +23,7 @@ var _defaultOptions = require("./default-options");
25
23
  var _env = require("./env");
26
24
  var _main2 = require("./main");
27
25
  var _devtoolShortcut = require("./plugins/devtool-shortcut");
26
+ var _exitCodes = require("./exit-codes");
28
27
  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
28
  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
29
  (0, _main.initialize)();
@@ -38,7 +37,7 @@ _electron.app.addListener('ready', function () {
38
37
  }));
39
38
  (0, _main2.hookWindow)(mainWindow);
40
39
  mainWindow.addListener('closed', function () {
41
- _electron.app.exit(0);
40
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
42
41
  });
43
42
  mainWindow.webContents.openDevTools({
44
43
  mode: 'detach'
@@ -8,8 +8,6 @@ require("core-js/modules/es.object.define-properties.js");
8
8
  require("core-js/modules/es.object.define-property.js");
9
9
  require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/esnext.async-iterator.filter.js");
12
- require("core-js/modules/esnext.async-iterator.for-each.js");
13
11
  require("core-js/modules/esnext.iterator.filter.js");
14
12
  require("core-js/modules/esnext.iterator.for-each.js");
15
13
  require("core-js/modules/web.dom-collections.for-each.js");
@@ -23,7 +21,6 @@ require("core-js/modules/es.object.keys.js");
23
21
  require("core-js/modules/es.object.to-string.js");
24
22
  require("core-js/modules/es.parse-int.js");
25
23
  require("core-js/modules/es.string.starts-with.js");
26
- require("core-js/modules/esnext.async-iterator.find.js");
27
24
  require("core-js/modules/esnext.iterator.constructor.js");
28
25
  require("core-js/modules/esnext.iterator.find.js");
29
26
  require("core-js/modules/esnext.json.parse.js");
@@ -41,6 +38,7 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
41
38
  var _ipc = require("./ipc/ipc");
42
39
  var _type = require("./ipc/type");
43
40
  var _meetingState = require("./plugins/meeting-state");
41
+ var _exitCodes = require("./exit-codes");
44
42
  var _process$argv$find;
45
43
  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; }
46
44
  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; }
@@ -65,7 +63,7 @@ ipcClient.addObserver({
65
63
  },
66
64
  onDisconnected: function onDisconnected() {
67
65
  (0, _logger.getLogger)().info('IPC client disconnected from server');
68
- _electron.app.exit(0);
66
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
69
67
  },
70
68
  onMessageReceived: function onMessageReceived(message) {
71
69
  switch (message.cmd) {
@@ -180,21 +178,17 @@ _electron.app.addListener('ready', function () {
180
178
  });
181
179
  });
182
180
  mainWindow.addListener('closed', function () {
183
- _electron.app.exit(0);
181
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
184
182
  });
185
183
  mainWindow.addListener('close', function (e) {
186
184
  var closeListenerCount = mainWindow.listenerCount('close');
187
- (0, _logger.getLogger)().info("mainWindow close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
185
+ (0, _logger.getLogger)().info("main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
188
186
  if (_meetingState.isInMeeting === 0) {
189
187
  e.preventDefault();
190
188
  mainWindow.hide();
191
189
  mainWindow.webContents.send('close-window-before-launch-success');
192
190
  }
193
191
  });
194
- mainWindow.webContents.addListener('render-process-gone', function (e, details) {
195
- (0, _logger.getLogger)().info("app exit due to render-process-gone event: ".concat(JSON.stringify(details)));
196
- _electron.app.exit(0);
197
- });
198
192
  if (_env.isDev) {
199
193
  mainWindow.webContents.openDevTools({
200
194
  mode: 'detach'
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Application exit codes
3
+ *
4
+ * These codes are used when calling app.exit() to indicate the reason for application termination.
5
+ * Using specific exit codes helps with debugging and process monitoring.
6
+ */
7
+ export declare enum AppExitCode {
8
+ NORMAL_EXIT = 0,
9
+ /**
10
+ * Renderer process has unexpectedly terminated
11
+ * This typically indicates a crash or critical error in the sub window renderer process
12
+ */
13
+ RENDERER_PROCESS_GONE = 100
14
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AppExitCode = void 0;
8
+ /**
9
+ * Application exit codes
10
+ *
11
+ * These codes are used when calling app.exit() to indicate the reason for application termination.
12
+ * Using specific exit codes helps with debugging and process monitoring.
13
+ */
14
+ var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
15
+ AppExitCode[AppExitCode["NORMAL_EXIT"] = 0] = "NORMAL_EXIT";
16
+ /**
17
+ * Renderer process has unexpectedly terminated
18
+ * This typically indicates a crash or critical error in the sub window renderer process
19
+ */
20
+ AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
21
+ return AppExitCode;
22
+ }({});