fcr-ui-scene 3.6.1 → 3.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/creator.d.ts +6 -0
- package/lib/creator.js +125 -24
- package/lib/electron/app.js +5 -4
- package/lib/electron/bootstrap-dev.js +3 -0
- package/lib/electron/bootstrap-sdk.js +4 -0
- package/lib/electron/injections.d.ts +5 -0
- package/lib/electron/injections.js +36 -8
- package/lib/electron/ipc/ipc.d.ts +1 -0
- package/lib/electron/ipc/ipc.js +4 -0
- package/lib/electron/main.js +16 -8
- package/lib/electron/plugins/screenshot.js +4 -2
- package/lib/electron/preload.js +7 -2
- package/lib/electron/window.js +4 -6
- package/lib/fragments/annotation/index.d.ts +11 -0
- package/lib/fragments/annotation/index.js +121 -0
- package/lib/fragments/annotation/libs.d.ts +55 -0
- package/lib/fragments/annotation/libs.js +93 -0
- package/lib/fragments/annotation/store.d.ts +30 -0
- package/lib/fragments/annotation/store.js +565 -0
- package/lib/fragments/annotation/view.d.ts +3 -0
- package/lib/fragments/annotation/view.js +31 -0
- package/lib/fragments/base.d.ts +10 -0
- package/lib/fragments/base.js +44 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
- package/lib/modules/action-bar/index.css +11 -0
- package/lib/modules/action-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/index.js +1 -0
- package/lib/modules/action-bar/store.d.ts +7 -9
- package/lib/modules/action-bar/store.js +49 -90
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.css +48 -0
- package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
- package/lib/modules/annotation/components/control-bar/index.js +141 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
- package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
- package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
- package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
- package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
- package/lib/modules/annotation/components/toolbar/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
- package/lib/modules/annotation/components/toolbar/store.js +279 -0
- package/lib/modules/annotation/components/toolbar/style.css +55 -0
- package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/view.js +120 -0
- package/lib/modules/annotation/index.d.ts +38 -0
- package/lib/modules/annotation/index.js +169 -0
- package/lib/modules/annotation/store.d.ts +93 -0
- package/lib/modules/annotation/store.js +673 -0
- package/lib/modules/annotation/style.css +26 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +49 -0
- package/lib/modules/chat/view.js +112 -100
- package/lib/modules/components/annotation-menu/index.d.ts +7 -0
- package/lib/modules/components/annotation-menu/index.js +119 -0
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
- package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/components/member-window/index.d.ts +1 -1
- package/lib/modules/components/member-window/index.js +8 -5
- package/lib/modules/components/member-window/types.d.ts +2 -0
- package/lib/modules/components/security-menu/index.js +7 -6
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
- package/lib/modules/control-bar/index.d.ts +6 -6
- package/lib/modules/control-bar/index.js +5 -34
- package/lib/modules/control-bar/store.d.ts +27 -13
- package/lib/modules/control-bar/store.js +121 -126
- package/lib/modules/control-bar/view.js +50 -4
- package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
- package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
- package/lib/modules/dialog/components/chat/index.js +1 -1
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +1 -3
- package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
- package/lib/modules/dialog/components/host-area-container/index.js +214 -0
- package/lib/modules/dialog/components/participant/index.js +1 -1
- package/lib/modules/dialog/components/system-preference/index.js +1 -1
- package/lib/modules/dialog/components/video-window/index.js +1 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
- package/lib/modules/dialog/hooks/useElectron.js +13 -3
- package/lib/modules/dialog/index.d.ts +2 -3
- package/lib/modules/dialog/index.js +3 -26
- package/lib/modules/dialog/store.d.ts +14 -9
- package/lib/modules/dialog/store.js +56 -50
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +188 -0
- package/lib/modules/event-confirm/index.d.ts +4 -4
- package/lib/modules/event-confirm/index.js +6 -4
- package/lib/modules/event-confirm/store.d.ts +4 -5
- package/lib/modules/event-confirm/store.js +35 -26
- package/lib/modules/event-confirm/view.js +23 -171
- package/lib/modules/event-sound/index.js +1 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
- package/lib/modules/layout/index.d.ts +4 -0
- package/lib/modules/layout/index.js +2 -0
- package/lib/modules/layout/store.d.ts +14 -2
- package/lib/modules/layout/store.js +77 -45
- package/lib/modules/layout/type.d.ts +7 -0
- package/lib/modules/participant/index.d.ts +2 -0
- package/lib/modules/participant/index.js +2 -1
- package/lib/modules/participant/store.d.ts +5 -2
- package/lib/modules/participant/store.js +73 -25
- package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +3 -3
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +22 -20
- package/lib/modules/share-screen/components/selection/index.js +18 -42
- package/lib/modules/share-screen/index.d.ts +6 -2
- package/lib/modules/share-screen/index.js +4 -2
- package/lib/modules/share-screen/store.d.ts +41 -46
- package/lib/modules/share-screen/store.js +297 -718
- package/lib/modules/share-screen/view.js +2 -2
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +4 -0
- package/lib/modules/state-bar/index.js +3 -1
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +15 -5
- package/lib/modules/state-bar/store.d.ts +9 -1
- package/lib/modules/state-bar/store.js +17 -2
- package/lib/modules/state-bar/view.js +9 -4
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.js +1 -1
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
- package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
- package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
- package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
- package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
- package/lib/modules/whiteboard/index.d.ts +2 -0
- package/lib/modules/whiteboard/index.js +22 -21
- package/lib/modules/whiteboard/style.css +0 -4
- package/lib/modules/whiteboard/view.js +8 -2
- package/lib/plugins/browser-runtime-plugin.js +10 -1
- package/lib/providers/annotation-provider.d.ts +128 -0
- package/lib/providers/annotation-provider.js +421 -0
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +8 -6
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/interpreter-provider.d.ts +1 -0
- package/lib/providers/interpreter-provider.js +182 -154
- package/lib/providers/privilege-provider.d.ts +35 -6
- package/lib/providers/privilege-provider.js +105 -49
- package/lib/providers/renderer-provider.js +3 -7
- package/lib/providers/room-provider.d.ts +13 -1
- package/lib/providers/room-provider.js +21 -7
- package/lib/providers/screen-share-provider.d.ts +131 -34
- package/lib/providers/screen-share-provider.js +554 -173
- package/lib/providers/sharing-provider.d.ts +37 -0
- package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +74 -0
- package/lib/runtime.d.ts +6 -1
- package/lib/scenes/main-scene.d.ts +7 -2
- package/lib/scenes/main-scene.js +55 -27
- package/lib/scenes/waiting-scene.d.ts +6 -0
- package/lib/scenes/waiting-scene.js +15 -5
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/member-data.d.ts +21 -5
- package/lib/shared-data-source/member-data.js +69 -17
- package/lib/shared-data-source/screen-share-data.d.ts +274 -0
- package/lib/shared-data-source/screen-share-data.js +390 -0
- package/lib/shared-data-source/security-data.d.ts +4 -1
- package/lib/shared-data-source/security-data.js +5 -2
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +16 -10
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +56 -36
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +55 -1
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +6 -4
- package/lib/ui-scene.js +70 -50
- package/lib/utilities/constant.d.ts +10 -2
- package/lib/utilities/constant.js +8 -0
- package/lib/utilities/logger.d.ts +4 -0
- package/lib/utilities/logger.js +8 -1
- package/lib/utilities/renderer-event.d.ts +3 -0
- package/lib/utilities/renderer-event.js +14 -1
- package/lib/utilities/screen.js +2 -1
- package/lib/utilities/setting-config-storage.d.ts +5 -6
- package/lib/utilities/setting-config-storage.js +33 -39
- package/lib/utilities/tools.d.ts +19 -1
- package/lib/utilities/tools.js +51 -4
- package/package.json +9 -7
- package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/public/assets/fcr_chat_reddot.svg +3 -3
- package/public/assets/fcr_grid_big.svg +1 -1
- package/public/assets/fcr_leave2.svg +14 -14
- package/public/assets/fcr_listontop_big.svg +1 -1
- package/public/assets/step-gradient.svg +1 -1
- package/public/fragment.html +10 -0
- package/public/index.html +3 -1
- package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
package/lib/creator.d.ts
CHANGED
|
@@ -9,9 +9,12 @@ export declare class FcrUISceneCreator {
|
|
|
9
9
|
accessor observableSettingStore: FcrObservableSettingStore;
|
|
10
10
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
11
11
|
private _settingConfigStorage;
|
|
12
|
+
private _userSettingStorageProvider;
|
|
12
13
|
private _registeredWidgetConfigs;
|
|
13
14
|
private _released;
|
|
14
15
|
private _scene;
|
|
16
|
+
private _microphoneKeepRecording;
|
|
17
|
+
private _parameters;
|
|
15
18
|
constructor(_config: FcrUISceneCreatorConfig);
|
|
16
19
|
launch(config: FcrUISceneConfig, onCancel: FcrUISceneCancelCallback, onSuccess: FcrUISceneSuccessCallback, onFailure: FcrUISceneFailureCallback, dom: HTMLElement): FcrUIDefaultScene;
|
|
17
20
|
getSettingConfig(): FcrUISettingConfig;
|
|
@@ -23,5 +26,8 @@ export declare class FcrUISceneCreator {
|
|
|
23
26
|
openSetting(): void;
|
|
24
27
|
closeSetting(): void;
|
|
25
28
|
release(): void;
|
|
29
|
+
private _resetScene;
|
|
26
30
|
private _precheckState;
|
|
31
|
+
private _filterKeepRecordingValueFromParameters;
|
|
32
|
+
private _setKeepRecordingValueFromParameters;
|
|
27
33
|
}
|
package/lib/creator.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
|
5
5
|
require("core-js/modules/es.symbol.to-primitive.js");
|
|
6
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
7
|
require("core-js/modules/es.array.is-array.js");
|
|
7
8
|
require("core-js/modules/es.array.push.js");
|
|
8
9
|
require("core-js/modules/es.date.to-primitive.js");
|
|
@@ -10,26 +11,45 @@ require("core-js/modules/es.function.bind.js");
|
|
|
10
11
|
require("core-js/modules/es.function.name.js");
|
|
11
12
|
require("core-js/modules/es.number.constructor.js");
|
|
12
13
|
require("core-js/modules/es.object.create.js");
|
|
14
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
13
15
|
require("core-js/modules/es.object.define-property.js");
|
|
14
16
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
17
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
18
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
15
19
|
require("core-js/modules/esnext.function.metadata.js");
|
|
20
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
16
21
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
22
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
17
23
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
18
24
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
19
25
|
Object.defineProperty(exports, "__esModule", {
|
|
20
26
|
value: true
|
|
21
27
|
});
|
|
22
28
|
exports.FcrUISceneCreator = void 0;
|
|
29
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
30
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
23
31
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
24
32
|
require("core-js/modules/es.error.cause.js");
|
|
25
33
|
require("core-js/modules/es.error.to-string.js");
|
|
34
|
+
require("core-js/modules/es.array.filter.js");
|
|
35
|
+
require("core-js/modules/es.array.find.js");
|
|
26
36
|
require("core-js/modules/es.array.iterator.js");
|
|
37
|
+
require("core-js/modules/es.array.map.js");
|
|
27
38
|
require("core-js/modules/es.date.to-json.js");
|
|
28
39
|
require("core-js/modules/es.json.stringify.js");
|
|
29
40
|
require("core-js/modules/es.map.js");
|
|
41
|
+
require("core-js/modules/es.object.keys.js");
|
|
30
42
|
require("core-js/modules/es.object.to-string.js");
|
|
31
43
|
require("core-js/modules/es.string.iterator.js");
|
|
32
44
|
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
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
49
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
50
|
+
require("core-js/modules/esnext.iterator.find.js");
|
|
51
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
52
|
+
require("core-js/modules/esnext.json.parse.js");
|
|
33
53
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
34
54
|
require("core-js/modules/esnext.map.emplace.js");
|
|
35
55
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -48,7 +68,6 @@ require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
|
48
68
|
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
49
69
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
50
70
|
require("core-js/modules/web.timers.js");
|
|
51
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
52
71
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
53
72
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
54
73
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -75,11 +94,15 @@ var _parameters = require("./utilities/parameters");
|
|
|
75
94
|
var _defaultConfig = require("./utilities/default-config");
|
|
76
95
|
var _imports = require("fcr-core/lib/imports");
|
|
77
96
|
var _localStorageProvider = require("./providers/local-storage-provider");
|
|
78
|
-
var _uiResources = require("./utilities/ui-resources");
|
|
79
97
|
var _logger = require("./utilities/logger");
|
|
98
|
+
var _uiResources = require("./utilities/ui-resources");
|
|
99
|
+
var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
|
|
80
100
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
101
|
+
var _excluded = ["rtc.microphone.keep.recording"];
|
|
81
102
|
var _FcrUISceneCreator;
|
|
82
103
|
var _initProto, _init_observableSettingStore, _launchDecs, _ref;
|
|
104
|
+
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; }
|
|
105
|
+
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; }
|
|
83
106
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
84
107
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
85
108
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
@@ -107,14 +130,21 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
107
130
|
(0, _defineProperty2["default"])(this, "_registeredWidgetConfigs", new Map([]));
|
|
108
131
|
(0, _defineProperty2["default"])(this, "_released", false);
|
|
109
132
|
(0, _defineProperty2["default"])(this, "_scene", null);
|
|
133
|
+
(0, _defineProperty2["default"])(this, "_microphoneKeepRecording", true);
|
|
134
|
+
(0, _defineProperty2["default"])(this, "_parameters", {});
|
|
110
135
|
this._config = _config;
|
|
111
136
|
this.logger.info("creator config: ".concat(JSON.stringify(_config)));
|
|
112
137
|
this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
|
|
138
|
+
this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
|
|
139
|
+
this._localStorageProvider.write('annotation_rtm_app_id', this._config.appId);
|
|
113
140
|
this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
|
|
114
|
-
|
|
141
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
115
142
|
});
|
|
116
|
-
|
|
117
|
-
var
|
|
143
|
+
this._setKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
144
|
+
var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
145
|
+
this.logger.info("[MicrophoneKeepRecording][initSettingStore] filteredParameters ==> ".concat(JSON.stringify(filteredParameters)));
|
|
146
|
+
var dualCameraVideoStreamConfigFromParameters = (0, _parameters.getDualCameraVideoStreamConfig)(filteredParameters);
|
|
147
|
+
var dualScreenVideoStreamConfigFromParameters = (0, _parameters.getDualScreenVideoStreamConfig)(filteredParameters);
|
|
118
148
|
(0, _defaultConfig.mergeDefaultDualStreamConfig)(dualCameraVideoStreamConfigFromParameters, dualScreenVideoStreamConfigFromParameters);
|
|
119
149
|
var dualCameraVideoStreamConfig = {
|
|
120
150
|
lowVideoEncoderConfig: _defaultConfig.cameraVideoLowStreamEncoderConfig,
|
|
@@ -129,7 +159,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
129
159
|
var config = {
|
|
130
160
|
appId: this._config.appId,
|
|
131
161
|
userId: this._config.userId,
|
|
132
|
-
parameters:
|
|
162
|
+
parameters: filteredParameters,
|
|
133
163
|
token: this._config.token,
|
|
134
164
|
region: _fcrCore.FcrRegion.CN,
|
|
135
165
|
dualCameraVideoStreamConfig: dualCameraVideoStreamConfig,
|
|
@@ -161,8 +191,18 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
161
191
|
}
|
|
162
192
|
(0, _i18n.changeLanguage)(config.language);
|
|
163
193
|
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
|
+
};
|
|
164
204
|
scene.addObserver({
|
|
165
|
-
onLaunchSuccess:
|
|
205
|
+
onLaunchSuccess: onLaunchSuccess(),
|
|
166
206
|
onLaunchFailure: onFailure,
|
|
167
207
|
onLaunchCancel: onCancel,
|
|
168
208
|
onSettingStore: function onSettingStore(store) {
|
|
@@ -170,20 +210,25 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
170
210
|
_this.closeSetting();
|
|
171
211
|
},
|
|
172
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);
|
|
173
220
|
_this.closeSetting();
|
|
174
221
|
_this._initSettingStore();
|
|
222
|
+
_this._resetScene();
|
|
175
223
|
},
|
|
176
224
|
onOpenSettingDialog: function onOpenSettingDialog() {
|
|
177
225
|
_this.openSetting();
|
|
178
226
|
}
|
|
179
227
|
});
|
|
180
|
-
var resetScene = function resetScene() {
|
|
181
|
-
_this._scene = null;
|
|
182
|
-
};
|
|
183
228
|
scene.addObserver({
|
|
184
|
-
onLaunchFailure:
|
|
185
|
-
onLaunchCancel:
|
|
186
|
-
onExited:
|
|
229
|
+
onLaunchFailure: this._resetScene,
|
|
230
|
+
onLaunchCancel: this._resetScene,
|
|
231
|
+
onExited: this._resetScene
|
|
187
232
|
});
|
|
188
233
|
scene.launch();
|
|
189
234
|
this._scene = scene;
|
|
@@ -215,9 +260,21 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
215
260
|
}, {
|
|
216
261
|
key: "setParameters",
|
|
217
262
|
value: function setParameters(parameters) {
|
|
218
|
-
var _this$_engine;
|
|
219
263
|
this._precheckState();
|
|
220
|
-
(
|
|
264
|
+
if (parameters.rtc) {
|
|
265
|
+
var _this$_engine;
|
|
266
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] parameters has rtc ==> ".concat(JSON.stringify(parameters)));
|
|
267
|
+
this._setKeepRecordingValueFromParameters(parameters);
|
|
268
|
+
var filteredParameters = this._filterKeepRecordingValueFromParameters(parameters);
|
|
269
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] rtc filtered ==> ".concat(JSON.stringify(filteredParameters)));
|
|
270
|
+
this._parameters = filteredParameters;
|
|
271
|
+
(_this$_engine = this._engine) === null || _this$_engine === void 0 || _this$_engine.setParameters(filteredParameters);
|
|
272
|
+
} else {
|
|
273
|
+
var _this$_engine2;
|
|
274
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] parameters has no rtc ==> ".concat(JSON.stringify(parameters)));
|
|
275
|
+
this._parameters = parameters;
|
|
276
|
+
(_this$_engine2 = this._engine) === null || _this$_engine2 === void 0 || _this$_engine2.setParameters(parameters);
|
|
277
|
+
}
|
|
221
278
|
}
|
|
222
279
|
}, {
|
|
223
280
|
key: "_initSettingStore",
|
|
@@ -230,13 +287,12 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
230
287
|
this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
|
|
231
288
|
this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
|
|
232
289
|
this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
|
|
233
|
-
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this.
|
|
290
|
+
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._userSettingStorageProvider);
|
|
234
291
|
this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
|
|
235
292
|
creatorConfig: this._config,
|
|
236
|
-
settingConfig: this._settingConfigStorage
|
|
237
|
-
localStorageProvider: this._localStorageProvider
|
|
293
|
+
settingConfig: this._settingConfigStorage
|
|
238
294
|
});
|
|
239
|
-
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this.
|
|
295
|
+
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
|
|
240
296
|
openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
|
|
241
297
|
openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
|
|
242
298
|
if (openDefaultCamera) {
|
|
@@ -267,8 +323,8 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
267
323
|
sharedSettingDataSource: sharedSettingDataSource,
|
|
268
324
|
dialogProvider: dialogProvider,
|
|
269
325
|
settingConfig: sharedConfigDataSource.settingConfig,
|
|
270
|
-
|
|
271
|
-
|
|
326
|
+
userId: this._config.userId,
|
|
327
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
272
328
|
});
|
|
273
329
|
case 21:
|
|
274
330
|
case "end":
|
|
@@ -313,9 +369,15 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
313
369
|
}, {
|
|
314
370
|
key: "release",
|
|
315
371
|
value: function release() {
|
|
316
|
-
var _this$
|
|
317
|
-
(_this$
|
|
372
|
+
var _this$_engine3;
|
|
373
|
+
(_this$_engine3 = this._engine) === null || _this$_engine3 === void 0 || _this$_engine3.release();
|
|
318
374
|
this._released = true;
|
|
375
|
+
this._resetScene();
|
|
376
|
+
}
|
|
377
|
+
}, {
|
|
378
|
+
key: "_resetScene",
|
|
379
|
+
value: function _resetScene() {
|
|
380
|
+
this._scene = null;
|
|
319
381
|
}
|
|
320
382
|
}, {
|
|
321
383
|
key: "_precheckState",
|
|
@@ -324,10 +386,49 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
324
386
|
throw new Error('FcrUISceneCreator has been released.');
|
|
325
387
|
}
|
|
326
388
|
}
|
|
389
|
+
}, {
|
|
390
|
+
key: "_filterKeepRecordingValueFromParameters",
|
|
391
|
+
value: function _filterKeepRecordingValueFromParameters(parameters) {
|
|
392
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
|
|
393
|
+
try {
|
|
394
|
+
var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
|
|
395
|
+
var _JSON$parse = JSON.parse(item),
|
|
396
|
+
_ = _JSON$parse['rtc.microphone.keep.recording'],
|
|
397
|
+
rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
|
|
398
|
+
return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
|
|
399
|
+
}).filter(function (item) {
|
|
400
|
+
return item !== null;
|
|
401
|
+
});
|
|
402
|
+
return _objectSpread(_objectSpread({}, parameters), {}, {
|
|
403
|
+
rtc: rtc
|
|
404
|
+
});
|
|
405
|
+
} catch (e) {
|
|
406
|
+
this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
|
|
407
|
+
return parameters;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}, {
|
|
411
|
+
key: "_setKeepRecordingValueFromParameters",
|
|
412
|
+
value: function _setKeepRecordingValueFromParameters(parameters) {
|
|
413
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
|
|
414
|
+
try {
|
|
415
|
+
var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
|
|
416
|
+
var keepRecording = rtcs.find(function (item) {
|
|
417
|
+
return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
|
|
418
|
+
});
|
|
419
|
+
if (keepRecording) {
|
|
420
|
+
var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
|
|
421
|
+
this._microphoneKeepRecording = !!keepRecordingValue;
|
|
422
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
|
|
423
|
+
}
|
|
424
|
+
} catch (e) {
|
|
425
|
+
this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
|
|
426
|
+
}
|
|
427
|
+
}
|
|
327
428
|
}]);
|
|
328
429
|
}();
|
|
329
430
|
_FcrUISceneCreator = FcrUISceneCreator;
|
|
330
|
-
var _applyDecs$e = _applyDecs(_FcrUISceneCreator, [[_mobx.observable, 1, "observableSettingStore"], [_launchDecs, 2, "launch"], [_decorator.trace, 2, "getSettingConfig"], [_decorator.trace, 2, "registerWidget"], [_decorator.trace, 2, "unregisterWidget"], [_decorator.trace, 2, "renewUserToken"], [_decorator.trace, 2, "setParameters"], [[_decorator.trace, _decorator.bound], 2, "openSetting"], [[_decorator.trace, _decorator.bound], 2, "closeSetting"]], []).e;
|
|
431
|
+
var _applyDecs$e = _applyDecs(_FcrUISceneCreator, [[_mobx.observable, 1, "observableSettingStore"], [_launchDecs, 2, "launch"], [_decorator.trace, 2, "getSettingConfig"], [_decorator.trace, 2, "registerWidget"], [_decorator.trace, 2, "unregisterWidget"], [_decorator.trace, 2, "renewUserToken"], [_decorator.trace, 2, "setParameters"], [[_decorator.trace, _decorator.bound], 2, "openSetting"], [[_decorator.trace, _decorator.bound], 2, "closeSetting"], [_decorator.bound, 2, "_resetScene"]], []).e;
|
|
331
432
|
var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
|
|
332
433
|
_init_observableSettingStore = _applyDecs$e2[0];
|
|
333
434
|
_initProto = _applyDecs$e2[1];
|
package/lib/electron/app.js
CHANGED
|
@@ -9,11 +9,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.hookApp = void 0;
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
require("core-js/modules/es.array.concat.js");
|
|
12
13
|
require("core-js/modules/es.array.find.js");
|
|
13
14
|
require("core-js/modules/es.array.for-each.js");
|
|
14
15
|
require("core-js/modules/es.array.join.js");
|
|
15
|
-
require("core-js/modules/es.date.to-json.js");
|
|
16
|
-
require("core-js/modules/es.json.stringify.js");
|
|
17
16
|
require("core-js/modules/es.object.keys.js");
|
|
18
17
|
require("core-js/modules/es.object.to-string.js");
|
|
19
18
|
require("core-js/modules/es.string.starts-with.js");
|
|
@@ -38,6 +37,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
38
37
|
app.commandLine.appendSwitch('ignore-certificate-errors');
|
|
39
38
|
app.addListener('browser-window-created', function (_, window) {
|
|
40
39
|
var windowId = window.id;
|
|
40
|
+
var windowTitle = window.getTitle();
|
|
41
|
+
logger.info("browser window is created, id: ".concat(windowId, ", title: ").concat(windowTitle));
|
|
41
42
|
window.addListener('close', function () {
|
|
42
43
|
_electron.BrowserWindow.getAllWindows().forEach(function (window) {
|
|
43
44
|
if (!isWindowDestroyed(window)) {
|
|
@@ -48,8 +49,8 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
48
49
|
}
|
|
49
50
|
});
|
|
50
51
|
});
|
|
51
|
-
window.webContents.addListener('render-process-gone', function (event,
|
|
52
|
-
logger.info("render-process-gone: ".concat(
|
|
52
|
+
window.webContents.addListener('render-process-gone', function (event, details) {
|
|
53
|
+
logger.info("rowser window render-process-gone, window id: ".concat(windowId, ", window title: ").concat(windowTitle, ", details.exitCode: ").concat(details.exitCode, ", details.reason: ").concat(details.reason));
|
|
53
54
|
});
|
|
54
55
|
window.webContents.addListener('did-finish-load', function () {
|
|
55
56
|
setTimeout(function () {
|
|
@@ -28,6 +28,9 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
|
|
|
28
28
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
29
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
30
|
(0, _main.initialize)();
|
|
31
|
+
_electron.crashReporter.start({
|
|
32
|
+
uploadToServer: false
|
|
33
|
+
});
|
|
31
34
|
(0, _app.hookApp)(_electron.app);
|
|
32
35
|
_electron.app.addListener('ready', function () {
|
|
33
36
|
var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
|
|
@@ -63,6 +63,10 @@ ipcClient.addObserver({
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
+
onDisconnected: function onDisconnected() {
|
|
67
|
+
(0, _logger.getLogger)().info('IPC client disconnected from server');
|
|
68
|
+
_electron.app.exit(0);
|
|
69
|
+
},
|
|
66
70
|
onMessageReceived: function onMessageReceived(message) {
|
|
67
71
|
switch (message.cmd) {
|
|
68
72
|
case _type.IPCMessageCMD.LaunchMeeting:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IpcRendererEvent } from 'electron';
|
|
2
2
|
import { BrowserWindowConstructorOptions } from 'electron/renderer';
|
|
3
3
|
import os from 'os';
|
|
4
|
+
import type { WindowManager } from '../type';
|
|
4
5
|
export declare enum FcrNumericExitReason {
|
|
5
6
|
LEAVE_ROOM = 1,// 自己离开而退出
|
|
6
7
|
CLOSE_ROOM = 2,// 房间关闭而退出
|
|
@@ -25,7 +26,10 @@ export declare const setFragmentBaseUrl: (isDev: boolean, baseUrl: string) => vo
|
|
|
25
26
|
export declare const registerListenerReady: () => void;
|
|
26
27
|
export declare const captureScreen: (options?: {
|
|
27
28
|
hideWindow?: boolean;
|
|
29
|
+
alwaysHide?: boolean;
|
|
28
30
|
}) => void;
|
|
31
|
+
export declare const getActiveWindow: () => WindowManager;
|
|
32
|
+
export declare const getWindows: () => WindowManager[];
|
|
29
33
|
export declare const openRendererWindow: (frameName: string, renderFn: (dom: Element, browserWindow: Electron.BrowserWindow, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
|
|
30
34
|
export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
|
|
31
35
|
export declare const openSystemPreferences: (mediaType: "microphone" | "camera") => void;
|
|
@@ -59,3 +63,4 @@ export declare const launchSuccess: (roomId: string) => void;
|
|
|
59
63
|
export declare const launchFailure: (roomId: string, errorCode: number) => void;
|
|
60
64
|
export declare const setParameters: (parameters: string) => void;
|
|
61
65
|
export declare const exitedMeeting: (roomId: string, reason: string) => void;
|
|
66
|
+
export declare const getIsMeetingLaunched: () => Promise<any>;
|
|
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.showItemInFolder = exports.setUserSettingData = exports.setParameters = exports.setInMeetingState = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.releaseSubAllWindowRefs = exports.registerListenerReady = exports.quitApp = exports.openSystemPreferences = exports.openSetting = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.launchSuccess = exports.launchFailure = exports.launch = exports.initSDK = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getResourceByFileType = exports.getNetworkType = exports.getMediaSourceIdList = exports.getLaunchOptions = exports.getIsSDKReady = exports.getBundleType = exports.getBrowserWindowById = exports.fileToBlob = exports.fileToBase64 = exports.exitedMeeting = exports.closeRendererWindow = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.browserWindow = exports.addEventListener = exports.FcrNumericExitReason = void 0;
|
|
9
|
+
exports.showItemInFolder = exports.setUserSettingData = exports.setParameters = exports.setInMeetingState = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.releaseSubAllWindowRefs = exports.registerListenerReady = exports.quitApp = exports.openSystemPreferences = exports.openSetting = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.launchSuccess = exports.launchFailure = exports.launch = exports.initSDK = exports.getWindows = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getResourceByFileType = exports.getNetworkType = exports.getMediaSourceIdList = exports.getLaunchOptions = exports.getIsSDKReady = exports.getIsMeetingLaunched = exports.getBundleType = exports.getBrowserWindowById = exports.getActiveWindow = exports.fileToBlob = exports.fileToBase64 = exports.exitedMeeting = exports.closeRendererWindow = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.browserWindow = exports.addEventListener = exports.FcrNumericExitReason = void 0;
|
|
10
10
|
require("core-js/modules/es.error.cause.js");
|
|
11
11
|
require("core-js/modules/es.error.to-string.js");
|
|
12
12
|
require("core-js/modules/es.array.concat.js");
|
|
@@ -57,6 +57,7 @@ var _path2 = _interopRequireDefault(require("path"));
|
|
|
57
57
|
var _fs2 = _interopRequireDefault(require("fs"));
|
|
58
58
|
var _promises = _interopRequireDefault(require("fs/promises"));
|
|
59
59
|
var _jszip = _interopRequireDefault(require("jszip"));
|
|
60
|
+
var _nodeWindowManager = require("node-window-manager");
|
|
60
61
|
var USER_SETTING_DATA_FILE_NAME = 'UserSettingData.json';
|
|
61
62
|
|
|
62
63
|
// Numeric exit reason enum
|
|
@@ -162,6 +163,14 @@ var registerListenerReady = exports.registerListenerReady = function registerLis
|
|
|
162
163
|
var captureScreen = exports.captureScreen = function captureScreen(options) {
|
|
163
164
|
_electron.ipcRenderer.send('short-cut-capture', "short-cut-capture-reply-".concat(Date.now()), options);
|
|
164
165
|
};
|
|
166
|
+
var getActiveWindow = exports.getActiveWindow = function getActiveWindow() {
|
|
167
|
+
return _nodeWindowManager.windowManager.getActiveWindow();
|
|
168
|
+
//return undefined;
|
|
169
|
+
};
|
|
170
|
+
var getWindows = exports.getWindows = function getWindows() {
|
|
171
|
+
return _nodeWindowManager.windowManager.getWindows();
|
|
172
|
+
//return [];
|
|
173
|
+
};
|
|
165
174
|
var rendererWindows = {};
|
|
166
175
|
var rendererWindowMutationObservers = {};
|
|
167
176
|
var openRendererWindow = exports.openRendererWindow = /*#__PURE__*/function () {
|
|
@@ -606,11 +615,11 @@ function downloadFile(_x11, _x12) {
|
|
|
606
615
|
return _downloadFile.apply(this, arguments);
|
|
607
616
|
} // 获取资源
|
|
608
617
|
function _downloadFile() {
|
|
609
|
-
_downloadFile = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
610
|
-
return _regenerator["default"].wrap(function
|
|
611
|
-
while (1) switch (
|
|
618
|
+
_downloadFile = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14(url, destination) {
|
|
619
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
620
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
612
621
|
case 0:
|
|
613
|
-
return
|
|
622
|
+
return _context14.abrupt("return", new Promise(function (resolve, reject) {
|
|
614
623
|
var request = _remote.net.request(url);
|
|
615
624
|
request.on('response', function (response) {
|
|
616
625
|
var fileStream = _fs2["default"].createWriteStream(destination);
|
|
@@ -634,9 +643,9 @@ function _downloadFile() {
|
|
|
634
643
|
}));
|
|
635
644
|
case 1:
|
|
636
645
|
case "end":
|
|
637
|
-
return
|
|
646
|
+
return _context14.stop();
|
|
638
647
|
}
|
|
639
|
-
},
|
|
648
|
+
}, _callee14);
|
|
640
649
|
}));
|
|
641
650
|
return _downloadFile.apply(this, arguments);
|
|
642
651
|
}
|
|
@@ -871,4 +880,23 @@ var setParameters = exports.setParameters = function setParameters(parameters) {
|
|
|
871
880
|
var exitedMeeting = exports.exitedMeeting = function exitedMeeting(roomId, reason) {
|
|
872
881
|
var numericReason = exitReasonMap[reason];
|
|
873
882
|
_electron.ipcRenderer.send('exited-meeting', roomId, numericReason);
|
|
874
|
-
};
|
|
883
|
+
};
|
|
884
|
+
var getIsMeetingLaunched = exports.getIsMeetingLaunched = /*#__PURE__*/function () {
|
|
885
|
+
var _ref15 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
886
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
887
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
888
|
+
case 0:
|
|
889
|
+
_context13.next = 2;
|
|
890
|
+
return _electron.ipcRenderer.invoke('getIsMeetingLaunched');
|
|
891
|
+
case 2:
|
|
892
|
+
return _context13.abrupt("return", _context13.sent);
|
|
893
|
+
case 3:
|
|
894
|
+
case "end":
|
|
895
|
+
return _context13.stop();
|
|
896
|
+
}
|
|
897
|
+
}, _callee13);
|
|
898
|
+
}));
|
|
899
|
+
return function getIsMeetingLaunched() {
|
|
900
|
+
return _ref15.apply(this, arguments);
|
|
901
|
+
};
|
|
902
|
+
}();
|
package/lib/electron/ipc/ipc.js
CHANGED
|
@@ -58,6 +58,10 @@ var IPCClient = exports.IPCClient = /*#__PURE__*/function () {
|
|
|
58
58
|
this._socket.on('end', function () {
|
|
59
59
|
_this._logger.info('disconnected from server');
|
|
60
60
|
});
|
|
61
|
+
this._socket.on('close', function () {
|
|
62
|
+
_this._logger.info('disconnected from server');
|
|
63
|
+
_this._observable.emit('onDisconnected');
|
|
64
|
+
});
|
|
61
65
|
this._socket.on('data', function (data) {
|
|
62
66
|
// 将新数据追加到现有缓冲区
|
|
63
67
|
_this._buffer = Buffer.concat([_this._buffer, data]);
|
package/lib/electron/main.js
CHANGED
|
@@ -16,15 +16,15 @@ var _meetingState = require("./plugins/meeting-state");
|
|
|
16
16
|
var logger = (0, _logger.getLogger)();
|
|
17
17
|
var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
18
18
|
mainWindow.webContents.addListener('did-create-window', function (window, details) {
|
|
19
|
-
logger.info("browser window is opened, frameName: ".concat(details.frameName));
|
|
20
|
-
var builtinFrameNames = ['device-settings', 'chat', 'live-streaming', 'participant', 'share-screen-selection', 'invite', 'video-window', 'confirm', 'connection-gateway', 'whiteboard', 'progress-dialog', 'operation-waiting-room', 'operation-waiting-room', 'interpreter-setting', 'waiting-room-single-remove', 'waiting-room-all-remove', 'waiting-room-all-admit', 'control-bar', 'show-toast', 'system-preference', 'rename', 'leave-meeting'];
|
|
19
|
+
logger.info("[electron][window]: browser window is opened, frameName: ".concat(details.frameName));
|
|
20
|
+
var builtinFrameNames = ['device-settings', 'chat', 'live-streaming', 'participant', 'share-screen-selection', 'invite', 'video-window', 'confirm', 'connection-gateway', 'whiteboard', 'progress-dialog', 'operation-waiting-room', 'operation-waiting-room', 'interpreter-setting', 'waiting-room-single-remove', 'waiting-room-all-remove', 'waiting-room-all-admit', 'control-bar', 'show-toast', 'system-preference', 'rename', 'annotation-tool', 'leave-meeting'];
|
|
21
21
|
if (!builtinFrameNames.includes(details.frameName) && !details.frameName.startsWith('widget')) {
|
|
22
|
-
logger.info("frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
|
|
22
|
+
logger.info("[electron][window]: frameName [".concat(details.frameName, "] is not in builtinFrameNames, ignore it"));
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
(0, _window.putRendererWindow)(details.frameName, window);
|
|
26
26
|
window.webContents.addListener('destroyed', function () {
|
|
27
|
-
logger.info("browser window is destroyed, frameName: ".concat(details.frameName));
|
|
27
|
+
logger.info("[electron][window]: browser window is destroyed, frameName: ".concat(details.frameName));
|
|
28
28
|
(0, _window.deleteRendererWindow)(details.frameName);
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -32,14 +32,21 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
32
32
|
// renderer process will receive the will-close event, do some clean up and then call window.close() to close the window
|
|
33
33
|
window.addListener('close', function (event) {
|
|
34
34
|
event.preventDefault();
|
|
35
|
-
logger.info("Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
|
|
35
|
+
logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is closed by shortcut CMD + W, send 'will-close' event to that window"));
|
|
36
36
|
window.emit('will-close');
|
|
37
37
|
});
|
|
38
38
|
window.addListener('will-resize', function (event, newBounds, details) {
|
|
39
|
-
logger.info("Window [".concat(window.title, ":").concat(window.id, "] is resized, send '
|
|
39
|
+
logger.info("[electron][window]: Window [".concat(window.title, ":").concat(window.id, "] is resized, send 'custom-resize' event to that window"));
|
|
40
40
|
window.emit('custom-resize', event, newBounds, details);
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
+
// window.addListener('move', () => {
|
|
44
|
+
// logger.info(
|
|
45
|
+
// `Window [${window.title}:${window.id}] is move, send 'custom-move' event to that window`,
|
|
46
|
+
// );
|
|
47
|
+
// window.emit('custom-move');
|
|
48
|
+
// });
|
|
49
|
+
|
|
43
50
|
// screen?.addListener('display-metrics-changed', (event, display, changedMetrics) => {
|
|
44
51
|
// logger.info(
|
|
45
52
|
// `Screen metrics [${window.title}:${window.id}] is changed, send 'display-metrics-changed' event to that window`,
|
|
@@ -51,11 +58,11 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
51
58
|
attachEventOnMethod(window, 'show', 'CALL_SHOW');
|
|
52
59
|
});
|
|
53
60
|
mainWindow.webContents.addListener('render-process-gone', function (event, details) {
|
|
54
|
-
logger.info("main window render-process-gone, details: ".concat(details));
|
|
61
|
+
logger.info("[electron][window]: main window render-process-gone, details.exitCode: ".concat(details.exitCode, ", details.reason: ").concat(details.reason));
|
|
55
62
|
(0, _window.closeAllWindows)();
|
|
56
63
|
(0, _window.clearAllRendererWindows)();
|
|
57
64
|
setTimeout(function () {
|
|
58
|
-
logger.info('start reloading main window...');
|
|
65
|
+
logger.info('[electron][window]: start reloading main window...');
|
|
59
66
|
mainWindow.reload();
|
|
60
67
|
}, 1000);
|
|
61
68
|
});
|
|
@@ -74,6 +81,7 @@ var hookWindow = exports.hookWindow = function hookWindow(mainWindow) {
|
|
|
74
81
|
};
|
|
75
82
|
var attachEventOnMethod = function attachEventOnMethod(browserWindow, method, action) {
|
|
76
83
|
var func = browserWindow[method];
|
|
84
|
+
logger.info("[electron][window]: attachEventOnMethod, method: ".concat(String(method), ", action: ").concat(action));
|
|
77
85
|
if (typeof func === 'function') {
|
|
78
86
|
// @ts-ignore
|
|
79
87
|
browserWindow[method] = function () {
|
|
@@ -12,10 +12,11 @@ var _electronScreenshots = _interopRequireDefault(require("electron-screenshots"
|
|
|
12
12
|
var listenScreenshot = exports.listenScreenshot = function listenScreenshot(window) {
|
|
13
13
|
var shortcutCapture = new _electronScreenshots["default"]();
|
|
14
14
|
var isCapturing = false,
|
|
15
|
-
module = ''
|
|
15
|
+
module = '',
|
|
16
|
+
alwaysHide = false;
|
|
16
17
|
var timer = null;
|
|
17
18
|
var stopScreen = function stopScreen() {
|
|
18
|
-
window.setOpacity(1);
|
|
19
|
+
!alwaysHide && window.setOpacity(1);
|
|
19
20
|
isCapturing = false;
|
|
20
21
|
timer && clearTimeout(timer);
|
|
21
22
|
};
|
|
@@ -42,6 +43,7 @@ var listenScreenshot = exports.listenScreenshot = function listenScreenshot(wind
|
|
|
42
43
|
var hideWindow = false;
|
|
43
44
|
hideWindow = payload.hideWindow;
|
|
44
45
|
module = payload.module;
|
|
46
|
+
alwaysHide = !!(payload !== null && payload !== void 0 && payload.alwaysHide);
|
|
45
47
|
hideWindow && window.setOpacity(0);
|
|
46
48
|
if (!shortcutCapture) {
|
|
47
49
|
shortcutCapture = new _electronScreenshots["default"]();
|
package/lib/electron/preload.js
CHANGED
|
@@ -40,6 +40,8 @@ window.runtime = {
|
|
|
40
40
|
openSystemPreferences: _injections.openSystemPreferences,
|
|
41
41
|
getUserSettingData: _injections.getUserSettingData,
|
|
42
42
|
setUserSettingData: _injections.setUserSettingData,
|
|
43
|
+
getActiveWindow: _injections.getActiveWindow,
|
|
44
|
+
getWindows: _injections.getWindows,
|
|
43
45
|
initSDK: _injections.initSDK,
|
|
44
46
|
getIsSDKReady: _injections.getIsSDKReady,
|
|
45
47
|
openSetting: _injections.openSetting,
|
|
@@ -47,13 +49,16 @@ window.runtime = {
|
|
|
47
49
|
launchSuccess: _injections.launchSuccess,
|
|
48
50
|
launchFailure: _injections.launchFailure,
|
|
49
51
|
setParameters: _injections.setParameters,
|
|
50
|
-
exitedMeeting: _injections.exitedMeeting
|
|
52
|
+
exitedMeeting: _injections.exitedMeeting,
|
|
53
|
+
getIsMeetingLaunched: _injections.getIsMeetingLaunched
|
|
51
54
|
};
|
|
52
55
|
_renderer.ipcRenderer.on(_type.IPCMessageCMD.InitCreator, function (_event, value) {
|
|
53
56
|
if (window.runtime.onCreatorInit) {
|
|
54
57
|
var data = value;
|
|
55
58
|
try {
|
|
56
|
-
|
|
59
|
+
if (typeof value == 'string') {
|
|
60
|
+
data = JSON.parse(value);
|
|
61
|
+
}
|
|
57
62
|
} catch (e) {
|
|
58
63
|
console.error('Failed to parse init options:', e);
|
|
59
64
|
}
|