fcr-ui-scene 3.6.3 → 3.6.4-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/lib/base.js +0 -3
  2. package/lib/creator.js +25 -26
  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,19 @@ 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);
202
- return onSuccess;
203
- };
204
190
  scene.addObserver({
205
- onLaunchSuccess: onLaunchSuccess(),
191
+ onLaunchSuccess: function onLaunchSuccess() {
192
+ if (_this._microphoneKeepRecording) {
193
+ var parameters = {
194
+ rtc: [JSON.stringify({
195
+ 'rtc.microphone.keep.recording': true
196
+ })]
197
+ };
198
+ _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
199
+ _this._engine.setParameters(parameters);
200
+ }
201
+ onSuccess.apply(void 0, arguments);
202
+ },
206
203
  onLaunchFailure: onFailure,
207
204
  onLaunchCancel: onCancel,
208
205
  onSettingStore: function onSettingStore(store) {
@@ -210,13 +207,15 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
210
207
  _this.closeSetting();
211
208
  },
212
209
  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);
210
+ if (_this._microphoneKeepRecording) {
211
+ var parameters = {
212
+ rtc: [JSON.stringify({
213
+ 'rtc.microphone.keep.recording': false
214
+ })]
215
+ };
216
+ _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
217
+ _this._engine.setParameters(parameters);
218
+ }
220
219
  _this.closeSetting();
221
220
  _this._initSettingStore();
222
221
  _this._resetScene();
@@ -281,7 +280,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
281
280
  value: function () {
282
281
  var _initSettingStore2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
283
282
  var openDefaultCamera, openDefaultMicrophone, eventProvider, deviceProvider, dialogProvider, messageProvider, sharedConfigDataSource, sharedSettingDataSource, monitorProvider;
284
- return _regenerator["default"].wrap(function _callee$(_context) {
283
+ return _regenerator["default"].wrap(function (_context) {
285
284
  while (1) switch (_context.prev = _context.next) {
286
285
  case 0:
287
286
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
@@ -310,9 +309,9 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
310
309
  sharedSettingDataSource = this._sharedSettingDataSource;
311
310
  monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
312
311
  deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
313
- _context.next = 20;
312
+ _context.next = 1;
314
313
  return deviceProvider.init();
315
- case 20:
314
+ case 1:
316
315
  this.observableSettingStore.value = new _store["default"]({
317
316
  uiEventStore: eventProvider,
318
317
  monitorControl: monitorProvider,
@@ -326,7 +325,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
326
325
  userId: this._config.userId,
327
326
  userSettingStorageProvider: this._userSettingStorageProvider
328
327
  });
329
- case 21:
328
+ case 2:
330
329
  case "end":
331
330
  return _context.stop();
332
331
  }
@@ -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
+ }({});