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.
- package/lib/base.js +0 -3
- package/lib/creator.js +26 -24
- package/lib/electron/app.js +31 -13
- package/lib/electron/bootstrap-dev.js +2 -3
- package/lib/electron/bootstrap-sdk.js +4 -10
- package/lib/electron/exit-codes.d.ts +14 -0
- package/lib/electron/exit-codes.js +22 -0
- package/lib/electron/injections.js +117 -118
- package/lib/electron/ipc/ipc.js +0 -1
- package/lib/electron/main.js +44 -3
- package/lib/electron/tools.js +0 -4
- package/lib/electron/window.js +1 -4
- package/lib/fragments/annotation/index.js +1 -2
- package/lib/fragments/annotation/store.js +47 -48
- package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
- package/lib/modules/action-bar/components/apps/app-list.js +2 -5
- package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
- package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
- package/lib/modules/action-bar/components/collapse/index.js +0 -4
- package/lib/modules/action-bar/components/item/index.js +0 -2
- package/lib/modules/action-bar/components/leave/index.js +0 -2
- package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
- package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
- package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
- package/lib/modules/action-bar/components/screen-share/index.js +0 -1
- package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
- package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
- package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
- package/lib/modules/action-bar/index.js +1 -2
- package/lib/modules/action-bar/store.js +32 -36
- package/lib/modules/annotation/components/control-bar/index.js +3 -2
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +2 -1
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.js +0 -1
- package/lib/modules/annotation/index.d.ts +2 -0
- package/lib/modules/annotation/index.js +2 -1
- package/lib/modules/annotation/store.d.ts +5 -3
- package/lib/modules/annotation/store.js +35 -43
- package/lib/modules/audio-stream/index.js +0 -4
- package/lib/modules/chat/chat-room-store.js +6 -10
- package/lib/modules/chat/components/chat-bar/index.js +0 -2
- package/lib/modules/chat/components/chat-select/index.js +0 -1
- package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
- package/lib/modules/chat/components/message-list/index.js +1 -3
- package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
- package/lib/modules/chat/index.js +13 -14
- package/lib/modules/chat/store.js +0 -1
- package/lib/modules/chat/view.js +11 -15
- package/lib/modules/components/annotation-menu/index.js +0 -3
- package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
- package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
- package/lib/modules/components/device-control/store.js +0 -1
- package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
- package/lib/modules/components/leave-meeting/store.js +11 -12
- package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -3
- package/lib/modules/components/member-window/components/member-actions/index.js +0 -1
- package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/store.js +20 -20
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
- package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
- package/lib/modules/components/member-window/components/video-player/index.js +3 -3
- package/lib/modules/components/member-window/index.js +1 -0
- package/lib/modules/components/security-menu/index.js +1 -4
- package/lib/modules/components/tab-frame/index.js +0 -4
- package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
- package/lib/modules/connection-gateway/components/phone/index.js +5 -4
- package/lib/modules/connection-gateway/index.js +1 -2
- package/lib/modules/connection-gateway/store.js +23 -26
- package/lib/modules/control-bar/components/more-actions/index.js +0 -3
- package/lib/modules/control-bar/index.js +1 -2
- package/lib/modules/control-bar/store.d.ts +1 -0
- package/lib/modules/control-bar/store.js +8 -2
- package/lib/modules/control-bar/view.js +9 -11
- package/lib/modules/device-pretest/settings/beauty.js +1 -2
- package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
- package/lib/modules/device-pretest/store.js +2 -4
- package/lib/modules/dialog/components/control-bar/index.js +3 -3
- package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
- package/lib/modules/dialog/components/dialog-container/index.js +1 -2
- package/lib/modules/dialog/components/host-area-container/index.js +0 -3
- package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
- package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
- package/lib/modules/dialog/components/system-preference/index.js +2 -5
- package/lib/modules/dialog/components/video-window/index.js +0 -2
- package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
- package/lib/modules/dialog/hooks/useElectron.js +0 -2
- package/lib/modules/dialog/index.js +1 -3
- package/lib/modules/dialog/store.js +1 -5
- package/lib/modules/dialog/view.js +2 -1
- package/lib/modules/event-confirm/components/window/index.js +0 -2
- package/lib/modules/event-confirm/index.js +1 -2
- package/lib/modules/event-confirm/store.js +4 -7
- package/lib/modules/event-confirm/view.js +2 -1
- package/lib/modules/event-sound/index.js +1 -2
- package/lib/modules/event-sound/sound-effect-player.js +2 -2
- package/lib/modules/event-toast/index.js +1 -2
- package/lib/modules/event-toast/store.js +0 -2
- package/lib/modules/event-toast/view.js +2 -1
- package/lib/modules/interpreter/index.js +1 -2
- package/lib/modules/interpreter/interpreter-list/index.js +3 -4
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
- package/lib/modules/interpreter/store.js +5 -10
- package/lib/modules/interpreter/utils.js +15 -14
- package/lib/modules/invite/components/pstn-invite.js +22 -23
- package/lib/modules/invite/components/voip-invite.js +7 -7
- package/lib/modules/invite/enums.js +1 -0
- package/lib/modules/invite/index.js +1 -2
- package/lib/modules/invite/store.js +46 -45
- package/lib/modules/layout/components/CommonVideoRenderer.js +2 -1
- package/lib/modules/layout/components/Gallery.js +5 -3
- package/lib/modules/layout/components/index.js +0 -1
- package/lib/modules/layout/index.js +1 -2
- package/lib/modules/layout/store.d.ts +3 -0
- package/lib/modules/layout/store.js +38 -14
- package/lib/modules/layout/type.js +9 -0
- package/lib/modules/live-streaming/index.dev.js +6 -6
- package/lib/modules/live-streaming/index.js +1 -2
- package/lib/modules/live-streaming/store.js +19 -19
- package/lib/modules/notification/index.js +1 -2
- package/lib/modules/notification/interpreter-status/index.js +2 -1
- package/lib/modules/notification/view.js +1 -2
- package/lib/modules/offscreen-pulling/index.js +0 -1
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
- package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
- package/lib/modules/participant/index.js +1 -4
- package/lib/modules/participant/member-list-data-source.js +0 -3
- package/lib/modules/participant/store.js +81 -86
- package/lib/modules/pc-audio-connect/index.js +1 -2
- package/lib/modules/pc-audio-connect/store.js +9 -10
- package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
- package/lib/modules/phone-audio-connect/index.js +1 -2
- package/lib/modules/phone-audio-connect/store.js +0 -3
- package/lib/modules/phone-audio-connect/view.js +5 -4
- package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
- package/lib/modules/setting/general-settings/general-settings.js +1 -2
- package/lib/modules/setting/index.js +1 -2
- package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
- package/lib/modules/setting/state/index.js +0 -4
- package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
- package/lib/modules/setting/store.js +11 -15
- package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
- package/lib/modules/setting/video-settings/video-settings.js +1 -2
- package/lib/modules/setting/view.js +1 -2
- package/lib/modules/share-screen/components/selection/index.js +16 -9
- package/lib/modules/share-screen/index.d.ts +2 -0
- package/lib/modules/share-screen/index.js +3 -3
- package/lib/modules/share-screen/store.d.ts +9 -2
- package/lib/modules/share-screen/store.js +97 -93
- package/lib/modules/state-bar/index.js +1 -2
- package/lib/modules/state-bar/layout-config.js +2 -1
- package/lib/modules/state-bar/live-streaming-state.js +0 -3
- package/lib/modules/state-bar/store.js +0 -1
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/video-window/components/topControl/index.js +0 -3
- package/lib/modules/video-window/index.js +1 -2
- package/lib/modules/video-window/store.js +0 -4
- package/lib/modules/waiting-room-layout/index.js +1 -2
- package/lib/modules/whiteboard/components/control-bar/store.js +0 -1
- package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
- package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
- package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.js +12 -11
- package/lib/modules/whiteboard/index.js +2 -6
- package/lib/modules/whiteboard/style.css +12 -0
- package/lib/modules/whiteboard/view.js +2 -0
- package/lib/modules/widget/index.js +1 -2
- package/lib/modules/widget/web-widget.js +1 -1
- package/lib/plugins/browser-runtime-plugin.js +1 -1
- package/lib/plugins/module-dev-plugin.js +13 -13
- package/lib/providers/ability-provider.d.ts +12 -1
- package/lib/providers/ability-provider.js +8 -1
- package/lib/providers/annotation-provider.js +7 -11
- package/lib/providers/device-privilege-provider.js +81 -83
- package/lib/providers/device-provider.js +193 -198
- package/lib/providers/device-stream-provider.js +24 -27
- package/lib/providers/event-provider.js +0 -2
- package/lib/providers/interpreter-provider.js +195 -197
- package/lib/providers/message-provider.js +0 -2
- package/lib/providers/phone-audio-provider.js +17 -19
- package/lib/providers/privilege-provider.js +53 -58
- package/lib/providers/renderer-provider.d.ts +3 -1
- package/lib/providers/renderer-provider.js +18 -4
- package/lib/providers/room-provider.js +31 -33
- package/lib/providers/screen-share-provider.d.ts +1 -0
- package/lib/providers/screen-share-provider.js +66 -65
- package/lib/providers/sharing-provider.js +2 -1
- package/lib/providers/user-setting-storage-provider.js +0 -2
- package/lib/providers/widget-provider.js +0 -1
- package/lib/scenes/main-scene.js +11 -13
- package/lib/scenes/waiting-scene.js +3 -3
- package/lib/shared-data-source/chat-data.js +0 -2
- package/lib/shared-data-source/interpreter.js +0 -2
- package/lib/shared-data-source/layout-data.js +1 -4
- package/lib/shared-data-source/member-data.js +0 -4
- package/lib/shared-data-source/pin-data.js +0 -1
- package/lib/shared-data-source/screen-share-data.d.ts +2 -2
- package/lib/shared-data-source/screen-share-data.js +1 -2
- package/lib/shared-data-source/security-data.js +0 -1
- package/lib/shared-data-source/setting.js +0 -2
- package/lib/shared-data-source/video-window.js +26 -30
- package/lib/shared-data-source/waiting-room.js +0 -2
- package/lib/type.js +14 -0
- package/lib/ui-scene.js +7 -8
- package/lib/utilities/constant.js +7 -0
- package/lib/utilities/copyText.js +12 -12
- package/lib/utilities/hooks.js +1 -2
- package/lib/utilities/logger.js +0 -1
- package/lib/utilities/parameters.js +2 -2
- package/lib/utilities/privilege.js +0 -3
- package/lib/utilities/renderer-event.js +0 -2
- package/lib/utilities/setting-config-storage.d.ts +2 -0
- package/lib/utilities/setting-config-storage.js +24 -4
- package/lib/utilities/tools.js +6 -10
- package/lib/waiting-room-control-manager.js +26 -28
- 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
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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
|
|
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 =
|
|
315
|
+
_context.next = 1;
|
|
314
316
|
return deviceProvider.init();
|
|
315
|
-
case
|
|
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
|
|
331
|
+
case 2:
|
|
330
332
|
case "end":
|
|
331
333
|
return _context.stop();
|
|
332
334
|
}
|
package/lib/electron/app.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
164
|
+
case 1:
|
|
147
165
|
accessStatus = _electron.systemPreferences.getMediaAccessStatus(mediaType);
|
|
148
166
|
if (!(accessStatus !== 'granted')) {
|
|
149
|
-
_context.next =
|
|
167
|
+
_context.next = 3;
|
|
150
168
|
break;
|
|
151
169
|
}
|
|
152
|
-
_context.next =
|
|
170
|
+
_context.next = 2;
|
|
153
171
|
return _electron.systemPreferences.askForMediaAccess(mediaType);
|
|
154
|
-
case
|
|
172
|
+
case 2:
|
|
155
173
|
res = _context.sent;
|
|
156
174
|
return _context.abrupt("return", res);
|
|
157
|
-
case
|
|
175
|
+
case 3:
|
|
158
176
|
return _context.abrupt("return", true);
|
|
159
|
-
case
|
|
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(
|
|
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(
|
|
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(
|
|
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("
|
|
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
|
+
}({});
|