fcr-ui-scene 3.7.8-rc.2 → 3.7.8-rc.4-alpha

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.
Binary file
Binary file
Binary file
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>com.apple.security.cs.allow-jit</key>
6
+ <true/>
7
+ <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
8
+ <true/>
9
+ <key>com.apple.security.cs.allow-dyld-environment-variables</key>
10
+ <true/>
11
+ <key>com.apple.security.device.audio-input</key>
12
+ <true/>
13
+ <key>com.apple.security.device.camera</key>
14
+ <true/>
15
+ <key>com.apple.security.network.server</key>
16
+ <true />
17
+ <key>com.apple.security.network.client</key>
18
+ <true />
19
+ </dict>
20
+ </plist>
@@ -97,8 +97,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
97
97
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIG_DATA_SOURCE, sharedConfigDataSource);
98
98
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
99
99
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MONITOR_PROVIDER, monitorProvider);
100
- var sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource);
101
- objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE, sharedLayoutDataSource);
102
100
  var sharedWidgetDataSource = new _widgetData.FcrUISharedWidgetDataSourceImpl();
103
101
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE, sharedWidgetDataSource);
104
102
  }
@@ -111,7 +109,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
111
109
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_USER_SETTING_STORAGE_PROVIDER);
112
110
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIG_DATA_SOURCE);
113
111
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_MONITOR_PROVIDER);
114
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
115
112
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_EVENT_PROVIDER);
116
113
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
117
114
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
@@ -136,6 +133,9 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
136
133
  var sharedSettingDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
137
134
  var messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
138
135
  var dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
136
+ var sharedConfigDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIG_DATA_SOURCE);
137
+ var sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource);
138
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE, sharedLayoutDataSource);
139
139
  var sharedScreenShareDataSource = new _screenShare.FcrUISharedScreenShareDataSourceImpl();
140
140
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE, sharedScreenShareDataSource);
141
141
  var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
@@ -226,6 +226,7 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
226
226
  value: function onMainSceneRelease() {
227
227
  var objectManager = this._objectManager;
228
228
  // MainScene Providers/DataSources cleanup
229
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
229
230
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER);
230
231
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
231
232
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PRIVILEGE_PROVIDER);
@@ -84,6 +84,11 @@ var ActionBarCollapseItems = exports.ActionBarCollapseItems = (0, _mobxReact.obs
84
84
  var appItemOptions = _ref.appItemOptions;
85
85
  var _useContext = (0, _react.useContext)(_store.ActionBarContext),
86
86
  isInterpreterEnabled = _useContext.isInterpreterEnabled,
87
+ isRecordingSupported = _useContext.isRecordingSupported,
88
+ isInterpreterSupported = _useContext.isInterpreterSupported,
89
+ isLiveSupported = _useContext.isLiveSupported,
90
+ isVirtualBackgroundSupported = _useContext.isVirtualBackgroundSupported,
91
+ isBeautyModeAbilitySupported = _useContext.isBeautyModeAbilitySupported,
87
92
  hasSecurityPermissions = _useContext.hasSecurityPermissions;
88
93
  var _useState = (0, _react.useState)(function () {
89
94
  return _mobx.observable.map();
@@ -94,8 +99,8 @@ var ActionBarCollapseItems = exports.ActionBarCollapseItems = (0, _mobxReact.obs
94
99
  var filteredItems = (0, _react.useMemo)(function () {
95
100
  var filter = function filter(item) {
96
101
  switch (item.name) {
97
- // case 'Record':
98
- // return hasStartCloudRecordingPermission;
102
+ case 'Record':
103
+ return isRecordingSupported;
99
104
  // case 'ScreenShare':
100
105
  // return hasStartScreenSharePermission;
101
106
  case 'Security':
@@ -105,7 +110,8 @@ var ActionBarCollapseItems = exports.ActionBarCollapseItems = (0, _mobxReact.obs
105
110
  case _enums.MidActionOrderMapKey.TriggerSubscribeLanguage:
106
111
  return isInterpreterEnabled;
107
112
  case _enums.MidActionOrderMapKey.Apps:
108
- return appItemOptions.length > 0;
113
+ var isAppsLayerVisible = appItemOptions.length > 0 && (isInterpreterSupported || isLiveSupported || isVirtualBackgroundSupported || isBeautyModeAbilitySupported);
114
+ return isAppsLayerVisible;
109
115
  default:
110
116
  return true;
111
117
  }
@@ -45,6 +45,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
45
45
  closeWhiteboard = store.closeWhiteboard,
46
46
  startScreenShare = store.startScreenShare,
47
47
  hasStopScreenSharePermission = store.hasStopScreenSharePermission,
48
+ isBoardAbilitySupported = store.isBoardAbilitySupported,
48
49
  closeShareScreen = store.closeShareScreen,
49
50
  checkedStateMap = store.checkedStateMap,
50
51
  setCheckedStateMap = store.setCheckedStateMap,
@@ -73,7 +74,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
73
74
  boardMenuType = 'primary';
74
75
  isBoardMenuDisabled = true;
75
76
  }
76
- var menusWebOnly = [{
77
+ var menusWebOnly = isBoardAbilitySupported ? [{
77
78
  title: t('fmt_actionbar_screenshare_option_selectcontent'),
78
79
  key: 'allow_attendee_title',
79
80
  type: 'title'
@@ -114,9 +115,27 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
114
115
  console.error('isBoardMenuDisabled: true, should not be clickable');
115
116
  }
116
117
  }
118
+ }] : [{
119
+ title: t('fmt_actionbar_screenshare_option_selectcontent'),
120
+ key: 'allow_attendee_title',
121
+ type: 'title'
122
+ }, {
123
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
124
+ type: _type.FcrIconType.FCR_SCREENSHARING,
125
+ size: 24,
126
+ colors: {
127
+ iconPrimary: 'var(--fcr_ui_scene_icontext1)'
128
+ }
129
+ }),
130
+ title: isSharingScreen ? t('fmt_screenshare_tips_newsharing') : t('fmt_screenshare_controlbar_security_list_participant_screenshare'),
131
+ key: 'allow_attendee_title',
132
+ onButtonClick: function onButtonClick() {
133
+ setMenuVisible(false);
134
+ startScreenShare();
135
+ }
117
136
  }];
118
137
  var menusElectronOnly = [];
119
- var hostMenus = [{
138
+ var hostMenus = isBoardAbilitySupported ? [{
120
139
  title: t('fmt_screenshare_options_allow'),
121
140
  key: 'allow_attendee_title',
122
141
  type: 'title'
@@ -148,6 +167,24 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
148
167
  setAllowAnnotation(!checkedStateMap.allowAnnotationWriteState);
149
168
  },
150
169
  classNames: 'fcr-checkbox-overlay-style'
170
+ }] : [{
171
+ title: t('fmt_screenshare_options_allow'),
172
+ key: 'allow_attendee_title',
173
+ type: 'title'
174
+ }, {
175
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
176
+ checked: checkedStateMap.shareScreen,
177
+ label: t('fmt_screenshare_screen_and_board'),
178
+ styleType: "white"
179
+ }),
180
+ key: 'enable_sharescreen',
181
+ onButtonClick: function onButtonClick() {
182
+ setCheckedStateMap(_objectSpread(_objectSpread({}, checkedStateMap), {
183
+ shareScreen: !checkedStateMap.shareScreen
184
+ }));
185
+ setAllowScreenShare(!checkedStateMap.shareScreen);
186
+ },
187
+ classNames: 'fcr-checkbox-overlay-style'
151
188
  }];
152
189
  var boardControlMenus = [{
153
190
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
@@ -132,6 +132,12 @@ export declare abstract class ActionBarMainSceneStoreBase implements FcrUIManage
132
132
  get isWaterMarkEnabled(): boolean;
133
133
  get isMulti(): boolean;
134
134
  get hasEnableInterpreterPermission(): boolean;
135
+ get isRecordingSupported(): boolean;
136
+ get isBoardAbilitySupported(): boolean;
137
+ get isVirtualBackgroundSupported(): boolean;
138
+ get isBeautyModeAbilitySupported(): boolean;
139
+ get isInterpreterSupported(): boolean;
140
+ get isLiveSupported(): boolean;
135
141
  get hasDisableInterpreterPermission(): boolean;
136
142
  get microphoneEnabled(): boolean;
137
143
  get allNewMessage(): number;
@@ -616,6 +616,36 @@ var ActionBarMainSceneStoreBase = exports.ActionBarMainSceneStoreBase = /*#__PUR
616
616
  get: function get() {
617
617
  return this._abilityProvider.isInterpreterSupported() && this._privilegeProvider.hasEnableInterpreterPermission();
618
618
  }
619
+ }, {
620
+ key: "isRecordingSupported",
621
+ get: function get() {
622
+ return this._abilityProvider.isRecordingSupported();
623
+ }
624
+ }, {
625
+ key: "isBoardAbilitySupported",
626
+ get: function get() {
627
+ return this._abilityProvider.isBoardAbilitySupported();
628
+ }
629
+ }, {
630
+ key: "isVirtualBackgroundSupported",
631
+ get: function get() {
632
+ return this._abilityProvider.isVirtualBackgroundSupported();
633
+ }
634
+ }, {
635
+ key: "isBeautyModeAbilitySupported",
636
+ get: function get() {
637
+ return this._abilityProvider.isBeautyModeAbilitySupported();
638
+ }
639
+ }, {
640
+ key: "isInterpreterSupported",
641
+ get: function get() {
642
+ return this._abilityProvider.isInterpreterSupported();
643
+ }
644
+ }, {
645
+ key: "isLiveSupported",
646
+ get: function get() {
647
+ return this._abilityProvider.isLiveSupported();
648
+ }
619
649
  }, {
620
650
  key: "hasDisableInterpreterPermission",
621
651
  get: function get() {
@@ -1507,7 +1537,7 @@ var ActionBarMainSceneStoreBase = exports.ActionBarMainSceneStoreBase = /*#__PUR
1507
1537
  }]);
1508
1538
  }();
1509
1539
  _ActionBarMainSceneStoreBase = ActionBarMainSceneStoreBase;
1510
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ActionBarMainSceneStoreBase, [[_mobx.observable, 1, "newMessageTooltipVisible"], [_mobx.observable, 1, "totalWaitingRoomUser"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "currentMenuIs"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "connectionSettingVisible"], [_mobx.observable, 1, "folded"], [_mobx.observable, 1, "showArrow"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.observable, 1, "chatTabIndex"], [_mobx.observable, 1, "hasOfflineUserExistence"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "appActionbarPopoverVisible"], [_mobx.observable, 1, "stateBarLeaveMeeting"], [_mobx.computed, 3, "endMeetingPopoverOpened"], [_mobx.computed, 3, "checkedStateMap"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_mobx.computed, 3, "registeredWidgetConfigs"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "chatRenderAt"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "participantVisible"], [_mobx.computed, 3, "chatVisible"], [_mobx.computed, 3, "hasStartScreenSharePermission"], [_mobx.computed, 3, "hasStopScreenSharePermission"], [_mobx.computed, 3, "hasEnableStartScreenSharePermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasEnableStartAudioPermission"], [_mobx.computed, 3, "hasEnableChangeNamePermission"], [_mobx.computed, 3, "hasEnableStartVideoPermission"], [_mobx.computed, 3, "hasLockRoomPermission"], [_mobx.computed, 3, "hasEnableJoinWithAudioPermission"], [_mobx.computed, 3, "hasWaitingRoomPermission"], [_mobx.computed, 3, "hasWatermarkDisablePermission"], [_mobx.computed, 3, "hasEnableStartSharePermission"], [_mobx.computed, 3, "hasAllowWriteBoardPermission"], [_mobx.computed, 3, "hasAllowScreenShareAndBoardPermission"], [_mobx.computed, 3, "hasAllowChatPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasAssignHostBeforeLeavingPermission"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "isScreenShareAndBoardEnabled"], [_mobx.computed, 3, "isBoardWriteEnabled"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "hasEnableInterpreterPermission"], [_mobx.computed, 3, "hasDisableInterpreterPermission"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "allNewMessage"], [_mobx.computed, 3, "isMainRoom"], [_mobx.computed, 3, "hasAllowChangeNamePromission"], [_mobx.computed, 3, "hasDisallowChangeNamePromission"], [_mobx.computed, 3, "newMessageCount"], [_mobx.computed, 3, "isRemoteUserScreenSharing"], [_mobx.computed, 3, "isLocalUserScreenSharing"], [_setStateBarLeaveMeetingDecs, 18, "setStateBarLeaveMeeting"], [_setPopoverOpenedDecs, 18, "setPopoverOpened"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_showNewMessageTooltipDecs, 18, "showNewMessageTooltip"], [_hideNewMessageTooltipDecs, 18, "hideNewMessageTooltip"], [_switchMenuDecs, 18, "switchMenu"], [_mobx.computed, 3, "isLocked"], [_decorator.bound, 2, "isWaitingRoomEnabled"], [_decorator.bound, 2, "isAllowJoinWithAudioEnabled"], [_decorator.bound, 2, "enableMicrophone"], [_decorator.bound, 2, "setAllowWriteBoard"], [_decorator.bound, 2, "setAllowAnnotation"], [_decorator.bound, 2, "setAllowScreenShare"], [_decorator.bound, 2, "allowJoinWithMuteAudio"], [_decorator.bound, 2, "setAllowJoinWithMuteAudio"], [_decorator.bound, 2, "isLockRoomEnabled"], [_decorator.bound, 2, "setLockRoomEnabled"], [_decorator.bound, 2, "setAllowShareScreen"], [_decorator.bound, 2, "allowShareScreen"], [_decorator.bound, 2, "allowWriteBoard"], [_decorator.bound, 2, "allowChat"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "allowUnmuteSelfAudio"], [_decorator.bound, 2, "setAllowUnmuteSelfAudio"], [_decorator.bound, 2, "allowUnmuteSelfVideo"], [_decorator.bound, 2, "setAllowUnmuteSelfVideo"], [_decorator.bound, 2, "allowChangeName"], [_decorator.bound, 2, "toggleChat"], [_decorator.bound, 2, "openChat"], [_decorator.bound, 2, "closeChat"], [_decorator.bound, 2, "toggleParticipants"], [_decorator.bound, 2, "openParticipants"], [_decorator.bound, 2, "closeParticipants"], [_decorator.bound, 2, "openDeviceSettingDialog"], [_decorator.bound, 2, "startScreenShare"], [_decorator.bound, 2, "openInterpreterDialog"], [_decorator.bound, 2, "openWhiteboard"], [_decorator.bound, 2, "closeWhiteboard"], [_decorator.bound, 2, "closeShareScreen"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "toggleConnection"], [_decorator.bound, 2, "openConnection"], [_decorator.bound, 2, "closeConnection"], [_handleJoinWaitingRoomDecs, 18, "_handleJoinWaitingRoom"], [_toggleFoldDecs, 18, "toggleFold"], [_setShowArrowDecs, 18, "setShowArrow"], [_setEnableWaitingRoomDecs, 18, "setEnableWaitingRoom"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_decorator.bound, 2, "_interceptShareScreen"], [_decorator.bound, 2, "_interceptShareBoard"], [_handleRemoteUsersJoinedDecs, 18, "_handleRemoteUsersJoined"], [_handleRemoteUsersLeftDecs, 18, "_handleRemoteUsersLeft"], [_handleLiveStreamingStateUpdatedDecs, 18, "_handleLiveStreamingStateUpdated"], [_handleChatVisibleDecs, 18, "_handleChatVisible"], [_setAppActionbarPopoverVisibleDecs, 18, "setAppActionbarPopoverVisible"], [_decorator.bound, 2, "setAllowWaterMark"], [_decorator.bound, 2, "setWaterMarkLineType"], [_decorator.bound, 2, "setAlllowChangeName"], [_decorator.bound, 2, "_handleDialogOpen"], [_decorator.bound, 2, "_handleDialogClose"], [_decorator.bound, 2, "_onEvent"], [_operateWaitingRoomDecs, 18, "_operateWaitingRoom"], [_handleCloudRecordingStateUpdatedDecs, 18, "_handleCloudRecordingStateUpdated"], [_setOutputLanguageDecs, 18, "setOutputLanguage"], [_setEndMeetingPopoverOpenedDecs, 18, "setEndMeetingPopoverOpened"], [_subscribeLanguageDecs, 18, "subscribeLanguage"], [_subscribeExtraOriginLanguageDecs, 18, "subscribeExtraOriginLanguage"], [_getOfflineUserExistenceStateDecs, 18, "getOfflineUserExistenceState"], [_clickWidgetDecs, 18, "clickWidget"], [_closeWidgetDecs, 18, "closeWidget"]], []).e, 15);
1540
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ActionBarMainSceneStoreBase, [[_mobx.observable, 1, "newMessageTooltipVisible"], [_mobx.observable, 1, "totalWaitingRoomUser"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "currentMenuIs"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "connectionSettingVisible"], [_mobx.observable, 1, "folded"], [_mobx.observable, 1, "showArrow"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.observable, 1, "chatTabIndex"], [_mobx.observable, 1, "hasOfflineUserExistence"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "appActionbarPopoverVisible"], [_mobx.observable, 1, "stateBarLeaveMeeting"], [_mobx.computed, 3, "endMeetingPopoverOpened"], [_mobx.computed, 3, "checkedStateMap"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_mobx.computed, 3, "registeredWidgetConfigs"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "chatRenderAt"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "participantVisible"], [_mobx.computed, 3, "chatVisible"], [_mobx.computed, 3, "hasStartScreenSharePermission"], [_mobx.computed, 3, "hasStopScreenSharePermission"], [_mobx.computed, 3, "hasEnableStartScreenSharePermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasEnableStartAudioPermission"], [_mobx.computed, 3, "hasEnableChangeNamePermission"], [_mobx.computed, 3, "hasEnableStartVideoPermission"], [_mobx.computed, 3, "hasLockRoomPermission"], [_mobx.computed, 3, "hasEnableJoinWithAudioPermission"], [_mobx.computed, 3, "hasWaitingRoomPermission"], [_mobx.computed, 3, "hasWatermarkDisablePermission"], [_mobx.computed, 3, "hasEnableStartSharePermission"], [_mobx.computed, 3, "hasAllowWriteBoardPermission"], [_mobx.computed, 3, "hasAllowScreenShareAndBoardPermission"], [_mobx.computed, 3, "hasAllowChatPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasAssignHostBeforeLeavingPermission"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "isScreenShareAndBoardEnabled"], [_mobx.computed, 3, "isBoardWriteEnabled"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "hasEnableInterpreterPermission"], [_mobx.computed, 3, "isRecordingSupported"], [_mobx.computed, 3, "isBoardAbilitySupported"], [_mobx.computed, 3, "isVirtualBackgroundSupported"], [_mobx.computed, 3, "isBeautyModeAbilitySupported"], [_mobx.computed, 3, "isInterpreterSupported"], [_mobx.computed, 3, "isLiveSupported"], [_mobx.computed, 3, "hasDisableInterpreterPermission"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "allNewMessage"], [_mobx.computed, 3, "isMainRoom"], [_mobx.computed, 3, "hasAllowChangeNamePromission"], [_mobx.computed, 3, "hasDisallowChangeNamePromission"], [_mobx.computed, 3, "newMessageCount"], [_mobx.computed, 3, "isRemoteUserScreenSharing"], [_mobx.computed, 3, "isLocalUserScreenSharing"], [_setStateBarLeaveMeetingDecs, 18, "setStateBarLeaveMeeting"], [_setPopoverOpenedDecs, 18, "setPopoverOpened"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_showNewMessageTooltipDecs, 18, "showNewMessageTooltip"], [_hideNewMessageTooltipDecs, 18, "hideNewMessageTooltip"], [_switchMenuDecs, 18, "switchMenu"], [_mobx.computed, 3, "isLocked"], [_decorator.bound, 2, "isWaitingRoomEnabled"], [_decorator.bound, 2, "isAllowJoinWithAudioEnabled"], [_decorator.bound, 2, "enableMicrophone"], [_decorator.bound, 2, "setAllowWriteBoard"], [_decorator.bound, 2, "setAllowAnnotation"], [_decorator.bound, 2, "setAllowScreenShare"], [_decorator.bound, 2, "allowJoinWithMuteAudio"], [_decorator.bound, 2, "setAllowJoinWithMuteAudio"], [_decorator.bound, 2, "isLockRoomEnabled"], [_decorator.bound, 2, "setLockRoomEnabled"], [_decorator.bound, 2, "setAllowShareScreen"], [_decorator.bound, 2, "allowShareScreen"], [_decorator.bound, 2, "allowWriteBoard"], [_decorator.bound, 2, "allowChat"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "allowUnmuteSelfAudio"], [_decorator.bound, 2, "setAllowUnmuteSelfAudio"], [_decorator.bound, 2, "allowUnmuteSelfVideo"], [_decorator.bound, 2, "setAllowUnmuteSelfVideo"], [_decorator.bound, 2, "allowChangeName"], [_decorator.bound, 2, "toggleChat"], [_decorator.bound, 2, "openChat"], [_decorator.bound, 2, "closeChat"], [_decorator.bound, 2, "toggleParticipants"], [_decorator.bound, 2, "openParticipants"], [_decorator.bound, 2, "closeParticipants"], [_decorator.bound, 2, "openDeviceSettingDialog"], [_decorator.bound, 2, "startScreenShare"], [_decorator.bound, 2, "openInterpreterDialog"], [_decorator.bound, 2, "openWhiteboard"], [_decorator.bound, 2, "closeWhiteboard"], [_decorator.bound, 2, "closeShareScreen"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "toggleConnection"], [_decorator.bound, 2, "openConnection"], [_decorator.bound, 2, "closeConnection"], [_handleJoinWaitingRoomDecs, 18, "_handleJoinWaitingRoom"], [_toggleFoldDecs, 18, "toggleFold"], [_setShowArrowDecs, 18, "setShowArrow"], [_setEnableWaitingRoomDecs, 18, "setEnableWaitingRoom"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_decorator.bound, 2, "_interceptShareScreen"], [_decorator.bound, 2, "_interceptShareBoard"], [_handleRemoteUsersJoinedDecs, 18, "_handleRemoteUsersJoined"], [_handleRemoteUsersLeftDecs, 18, "_handleRemoteUsersLeft"], [_handleLiveStreamingStateUpdatedDecs, 18, "_handleLiveStreamingStateUpdated"], [_handleChatVisibleDecs, 18, "_handleChatVisible"], [_setAppActionbarPopoverVisibleDecs, 18, "setAppActionbarPopoverVisible"], [_decorator.bound, 2, "setAllowWaterMark"], [_decorator.bound, 2, "setWaterMarkLineType"], [_decorator.bound, 2, "setAlllowChangeName"], [_decorator.bound, 2, "_handleDialogOpen"], [_decorator.bound, 2, "_handleDialogClose"], [_decorator.bound, 2, "_onEvent"], [_operateWaitingRoomDecs, 18, "_operateWaitingRoom"], [_handleCloudRecordingStateUpdatedDecs, 18, "_handleCloudRecordingStateUpdated"], [_setOutputLanguageDecs, 18, "setOutputLanguage"], [_setEndMeetingPopoverOpenedDecs, 18, "setEndMeetingPopoverOpened"], [_subscribeLanguageDecs, 18, "subscribeLanguage"], [_subscribeExtraOriginLanguageDecs, 18, "subscribeExtraOriginLanguage"], [_getOfflineUserExistenceStateDecs, 18, "getOfflineUserExistenceState"], [_clickWidgetDecs, 18, "clickWidget"], [_closeWidgetDecs, 18, "closeWidget"]], []).e, 15);
1511
1541
  _init_newMessageTooltipVisible = _applyDecs$e[0];
1512
1542
  _init_totalWaitingRoomUser = _applyDecs$e[1];
1513
1543
  _init_liveStreamingState = _applyDecs$e[2];
@@ -34,7 +34,8 @@ var AudioMenu = (0, _mobxReact.observer)(function (_ref) {
34
34
  openDeviceSettingDialog = _useContext.openDeviceSettingDialog,
35
35
  openConnection = _useContext.openConnection,
36
36
  connectType = _useContext.connectType,
37
- stopAudioByComputer = _useContext.stopAudioByComputer;
37
+ stopAudioByComputer = _useContext.stopAudioByComputer,
38
+ isCallOutAbilitySupported = _useContext.isCallOutAbilitySupported;
38
39
  var microphoneOptions = microphoneList.map(function (device) {
39
40
  return {
40
41
  text: device.deviceName,
@@ -129,7 +130,7 @@ var AudioMenu = (0, _mobxReact.observer)(function (_ref) {
129
130
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
130
131
  children: transI18n('fmt_device_label_audio_list_leaveComputerAudio')
131
132
  })
132
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
133
+ }), isCallOutAbilitySupported && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
133
134
  className: "fcr-device-popover-content-more-item",
134
135
  onClick: function onClick() {
135
136
  onConnectClick();
@@ -26,7 +26,9 @@ var VideoMenu = (0, _mobxReact.observer)(function (_ref) {
26
26
  openDeviceSettingDialog = _useContext.openDeviceSettingDialog,
27
27
  cameraList = _useContext.cameraList,
28
28
  cameraId = _useContext.cameraId,
29
- setCameraId = _useContext.setCameraId;
29
+ setCameraId = _useContext.setCameraId,
30
+ isBeautyModeAbilitySupported = _useContext.isBeautyModeAbilitySupported,
31
+ isVirtualBackgroundSupported = _useContext.isVirtualBackgroundSupported;
30
32
  var cameraOptions = cameraList.map(function (device) {
31
33
  return {
32
34
  text: device.deviceName,
@@ -79,13 +81,13 @@ var VideoMenu = (0, _mobxReact.observer)(function (_ref) {
79
81
  })
80
82
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
81
83
  className: "fcr-device-popover-content-more",
82
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
84
+ children: [isVirtualBackgroundSupported && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
85
  className: "fcr-device-popover-content-more-item",
84
86
  onClick: function onClick() {
85
87
  return openDeviceSetting('virtual-background');
86
88
  },
87
89
  children: transI18n('fmt_device_label_video_list_selectVirtualBackground')
88
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
90
+ }), isBeautyModeAbilitySupported && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
89
91
  className: "fcr-device-popover-content-more-item",
90
92
  onClick: function onClick() {
91
93
  return openDeviceSetting('beauty-filter');
@@ -2,17 +2,22 @@ import { ConnectionTabType } from '../../video-window/type';
2
2
  import { DeviceControlStoreArgs } from './type';
3
3
  import { FcrUIDeviceProvider } from '../../../providers/device-provider';
4
4
  import { DeviceSettingDialogConfig } from '../../setting/type';
5
+ import { FcrUIAbilityProvider } from '../../../providers/ability-provider';
5
6
  export declare abstract class DeviceControlStoreBase {
6
7
  protected _deviceProvider: FcrUIDeviceProvider;
7
8
  private _roomControl;
8
9
  private _dialogProvider;
9
10
  private _facilityProvider;
11
+ protected _abilityProvider: FcrUIAbilityProvider;
10
12
  private _streamControlObserver;
11
13
  accessor isPstnUser: boolean;
12
14
  accessor phoneMicEnabled: boolean;
13
15
  get microphoneId(): string | null;
14
16
  get speakerId(): string;
15
17
  get speakerList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
18
+ get isCallOutAbilitySupported(): boolean;
19
+ get isVirtualBackgroundSupported(): boolean;
20
+ get isBeautyModeAbilitySupported(): boolean;
16
21
  get microphoneEnabled(): boolean;
17
22
  get microphoneState(): import("../../../type").FcrUIMicrophoneState;
18
23
  get microphoneDetecting(): boolean;
@@ -87,6 +87,7 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
87
87
  _classPrivateFieldInitSpec(this, _B, _init_phoneMicEnabled(this, false));
88
88
  this._dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
89
89
  this._deviceProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
90
+ this._abilityProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
90
91
  this._facilityProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_FACILITY_PROVIDER);
91
92
  var currentRoomProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER);
92
93
  this._roomControl = currentRoomProvider.currentRoomControl;
@@ -123,6 +124,21 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
123
124
  get: function get() {
124
125
  return this._deviceProvider.speakerList;
125
126
  }
127
+ }, {
128
+ key: "isCallOutAbilitySupported",
129
+ get: function get() {
130
+ return this._abilityProvider.isCallOutAbilitySupported();
131
+ }
132
+ }, {
133
+ key: "isVirtualBackgroundSupported",
134
+ get: function get() {
135
+ return this._abilityProvider.isVirtualBackgroundSupported();
136
+ }
137
+ }, {
138
+ key: "isBeautyModeAbilitySupported",
139
+ get: function get() {
140
+ return this._abilityProvider.isBeautyModeAbilitySupported();
141
+ }
126
142
  }, {
127
143
  key: "microphoneEnabled",
128
144
  get: function get() {
@@ -240,7 +256,7 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
240
256
  }]);
241
257
  }();
242
258
  _DeviceControlStoreBase = DeviceControlStoreBase;
243
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DeviceControlStoreBase, [[_mobx.observable, 1, "isPstnUser"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.computed, 3, "microphoneId"], [_mobx.computed, 3, "speakerId"], [_mobx.computed, 3, "speakerList"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "microphoneState"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "cameraId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "microphoneVolumeLevel"], [_mobx.computed, 3, "microphoneList"], [_mobx.computed, 3, "cameraList"], [_mobx.computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [_decorator.bound, 2, "stopAudioByComputer"], [_decorator.bound, 2, "release"], [_decorator.bound, 2, "_handleStreamUpdate"]], []).e, 3);
259
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DeviceControlStoreBase, [[_mobx.observable, 1, "isPstnUser"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.computed, 3, "microphoneId"], [_mobx.computed, 3, "speakerId"], [_mobx.computed, 3, "speakerList"], [_mobx.computed, 3, "isCallOutAbilitySupported"], [_mobx.computed, 3, "isVirtualBackgroundSupported"], [_mobx.computed, 3, "isBeautyModeAbilitySupported"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "microphoneState"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "cameraId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "microphoneVolumeLevel"], [_mobx.computed, 3, "microphoneList"], [_mobx.computed, 3, "cameraList"], [_mobx.computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [_decorator.bound, 2, "stopAudioByComputer"], [_decorator.bound, 2, "release"], [_decorator.bound, 2, "_handleStreamUpdate"]], []).e, 3);
244
260
  _init_isPstnUser = _applyDecs$e[0];
245
261
  _init_phoneMicEnabled = _applyDecs$e[1];
246
262
  _initProto = _applyDecs$e[2];
@@ -6,6 +6,8 @@ interface IVideoEffect {
6
6
  [key in TabKeyType]: React.ReactNode;
7
7
  };
8
8
  handleActiveTab?: (tabKey: TabKeyType) => void;
9
+ isBeautyModeAbilitySupported?: boolean;
10
+ isVirtualBackgroundSupported?: boolean;
9
11
  }
10
12
  export declare const VideoEffect: React.FC<IVideoEffect>;
11
13
  export {};
@@ -18,17 +18,39 @@ var VideoEffect = exports.VideoEffect = (0, _mobxReact.observer)(function (props
18
18
  var tabContents = props.tabContents,
19
19
  _props$currentTab = props.currentTab,
20
20
  currentTab = _props$currentTab === void 0 ? 'basic' : _props$currentTab,
21
- handleActiveTab = props.handleActiveTab;
22
- var tabItems = [{
23
- label: t('fmt_setting_option_basics'),
24
- key: 'basic'
25
- }, {
26
- label: t('fmt_setting_option_backgrounds'),
27
- key: 'virtual-background'
28
- }, {
29
- label: t('fmt_device_labels_specialeffects'),
30
- key: 'beauty-filter'
31
- }];
21
+ handleActiveTab = props.handleActiveTab,
22
+ isBeautyModeAbilitySupported = props.isBeautyModeAbilitySupported,
23
+ isVirtualBackgroundSupported = props.isVirtualBackgroundSupported;
24
+ var tabItems = [];
25
+ if (isVirtualBackgroundSupported) {
26
+ tabItems = isBeautyModeAbilitySupported ? [{
27
+ label: t('fmt_setting_option_basics'),
28
+ key: 'basic'
29
+ }, {
30
+ label: t('fmt_setting_option_backgrounds'),
31
+ key: 'virtual-background'
32
+ }, {
33
+ label: t('fmt_device_labels_specialeffects'),
34
+ key: 'beauty-filter'
35
+ }] : [{
36
+ label: t('fmt_setting_option_basics'),
37
+ key: 'basic'
38
+ }, {
39
+ label: t('fmt_setting_option_backgrounds'),
40
+ key: 'virtual-background'
41
+ }];
42
+ } else {
43
+ tabItems = isBeautyModeAbilitySupported ? [{
44
+ label: t('fmt_setting_option_basics'),
45
+ key: 'basic'
46
+ }, {
47
+ label: t('fmt_device_labels_specialeffects'),
48
+ key: 'beauty-filter'
49
+ }] : [{
50
+ label: t('fmt_setting_option_basics'),
51
+ key: 'basic'
52
+ }];
53
+ }
32
54
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
33
55
  className: ns.e('tab-wrapper'),
34
56
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -29,6 +29,7 @@ var _type = require("agora-ui-foundation/lib/components/icon/type");
29
29
  var _button = require("agora-ui-foundation/lib/components/button");
30
30
  var _userRow = require("./components/user-row");
31
31
  require("./index.css");
32
+ var _store = require("../../../../store.base");
32
33
  var _fcr_defaultpage = _interopRequireDefault(require("../../../../../../../public/assets/fcr_defaultpage.png"));
33
34
  var _jsxRuntime = require("react/jsx-runtime");
34
35
  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; }
@@ -47,6 +48,8 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
47
48
  header = _props.header,
48
49
  hasInvite = _props.hasInvite,
49
50
  isLocalCameraInSecondaryWindow = _props.isLocalCameraInSecondaryWindow;
51
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
52
+ isCallOutAbilitySupported = _useContext.isCallOutAbilitySupported;
50
53
 
51
54
  // 使用 useMemo 初始化 value 状态
52
55
  var _useState = (0, _react.useState)((0, _react.useMemo)(function () {
@@ -82,7 +85,7 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
82
85
  iconPrimary: 'var(--fcr_ui_scene_icontext1)'
83
86
  }
84
87
  }
85
- }), hasInvite && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
88
+ }), hasInvite && isCallOutAbilitySupported && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
86
89
  className: "fcr_participants_button_invite",
87
90
  type: "secondary-bordered",
88
91
  shape: "rounded",
@@ -102,6 +102,7 @@ export declare abstract class ParticipantStoreBase {
102
102
  checkIsPin: (userId: string) => boolean;
103
103
  hasMutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
104
104
  hasWaitingRoomPermission(): boolean;
105
+ get isCallOutAbilitySupported(): boolean;
105
106
  hasUnmutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
106
107
  hasRequestStartAudioPermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
107
108
  setCurrentModal(modal: 'modal' | 'window'): void;
@@ -639,6 +639,11 @@ var ParticipantStoreBase = exports.ParticipantStoreBase = /*#__PURE__*/function
639
639
  value: function hasWaitingRoomPermission() {
640
640
  return this._privilegeProvider.isWaitingRoomEnabled() && this._privilegeProvider.hasWaitingRoomPermission();
641
641
  }
642
+ }, {
643
+ key: "isCallOutAbilitySupported",
644
+ get: function get() {
645
+ return this._abilityProvider.isCallOutAbilitySupported();
646
+ }
642
647
  }, {
643
648
  key: "hasUnmutePermission",
644
649
  value: function hasUnmutePermission(targetRole) {
@@ -16,7 +16,6 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
16
16
  private _currentRoomControl?;
17
17
  private _eventProvider;
18
18
  private _deviceProvider;
19
- private _sharedLayoutDataSource;
20
19
  private _videoView4Setting?;
21
20
  private _settingVideoOpened;
22
21
  private _deviceStoreObserver;
@@ -28,9 +27,11 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
28
27
  private _useDefaultAudioEchoCancellation;
29
28
  private _messageProvider;
30
29
  private _dialogProvider;
30
+ private _abilityProvider?;
31
31
  private _sharedSettingDataSource;
32
32
  private _sharedConfigDataSource;
33
33
  private _sharedInterpreterDataSource?;
34
+ private _sharedLayoutDataSource?;
34
35
  private _streamInfoList;
35
36
  private _monitorObserver;
36
37
  private _roomObserver;
@@ -137,6 +138,8 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
137
138
  get currentRoomControl(): FcrBaseRoomControl;
138
139
  get interpreterRoomControl(): FcrInterpreterRoomControl;
139
140
  get streamControl(): FcrStreamControl;
141
+ get isVirtualBackgroundSupported(): boolean;
142
+ get isBeautyModeAbilitySupported(): boolean;
140
143
  constructor({ objectManager }: SettingStoreArgs);
141
144
  get messageProvider(): FcrUIMessageProvider;
142
145
  protected abstract getSystemInfo(): Promise<SystemInfo>;
@@ -240,7 +240,6 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
240
240
  this._messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
241
241
  this._dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
242
242
  this._sharedConfigDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIG_DATA_SOURCE);
243
- this._sharedLayoutDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
244
243
  this._sharedSettingDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
245
244
  this._monitorProvider.addObserver(this._monitorObserver);
246
245
  this._initReactions();
@@ -558,6 +557,22 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
558
557
  }
559
558
  return this._streamControl;
560
559
  }
560
+ }, {
561
+ key: "isVirtualBackgroundSupported",
562
+ get: function get() {
563
+ if (this._abilityProvider) {
564
+ return this._abilityProvider.isVirtualBackgroundSupported();
565
+ }
566
+ return false;
567
+ }
568
+ }, {
569
+ key: "isBeautyModeAbilitySupported",
570
+ get: function get() {
571
+ if (this._abilityProvider) {
572
+ return this._abilityProvider.isBeautyModeAbilitySupported();
573
+ }
574
+ return false;
575
+ }
561
576
  }, {
562
577
  key: "messageProvider",
563
578
  get: function get() {
@@ -965,7 +980,7 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
965
980
  var _this7 = this;
966
981
  var newSetting = this._preHandleSetting(setting);
967
982
  this._sharedSettingDataSource.setSetting(newSetting);
968
- if (newSetting.displayedMaxAttendees) {
983
+ if (newSetting.displayedMaxAttendees && this._sharedLayoutDataSource) {
969
984
  this._sharedLayoutDataSource.setLayoutSize(newSetting.displayedMaxAttendees);
970
985
  }
971
986
  var settingActions = {
@@ -1072,6 +1087,7 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1072
1087
  key: "handleJoinRoom",
1073
1088
  value: function handleJoinRoom() {
1074
1089
  var roomProvider = this._objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ROOM_PROVIDER);
1090
+ this._sharedLayoutDataSource = this._objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
1075
1091
  this._currentRoomControl = new _roomProvider.FcrUICurrentRoomControlProviderImpl(roomProvider.currentRoomControl).currentRoomControl;
1076
1092
  this._currentRoomControl.addObserver(this._roomObserver);
1077
1093
  this._streamControl = this._currentRoomControl.getStreamControl();
@@ -1082,6 +1098,7 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1082
1098
  });
1083
1099
  this._streamInfoList = streamInfoList;
1084
1100
  this._sharedInterpreterDataSource = this._objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
1101
+ this._abilityProvider = this._objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
1085
1102
  this._interpreterRoomControlReaction = this._createInterpreterRoomControlReaction();
1086
1103
  this._disposers.push(this._interpreterRoomControlReaction);
1087
1104
  this.isHiddenStateTab = false;
@@ -1122,6 +1139,10 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1122
1139
  this.isHiddenStateTab = true;
1123
1140
  this._currentRoomControl = undefined;
1124
1141
  this._interpreterRoomControl = undefined;
1142
+ this._sharedLayoutDataSource = undefined;
1143
+
1144
+ //this._abilityProvider ;
1145
+
1125
1146
  this._deviceProvider.removeObserver(this._deviceProviderObserver);
1126
1147
  this.localAudioStreamMap.clear();
1127
1148
  this.remoteAudioStreamMap.clear();
@@ -1326,7 +1347,7 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1326
1347
  }]);
1327
1348
  }();
1328
1349
  _SettingStoreBase = SettingStoreBase;
1329
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_decorator.bound, 2, "_handleSystemSelectedDeviceChanged"]], []).e, 15);
1350
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_mobx.computed, 3, "isVirtualBackgroundSupported"], [_mobx.computed, 3, "isBeautyModeAbilitySupported"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_decorator.bound, 2, "_handleSystemSelectedDeviceChanged"]], []).e, 15);
1330
1351
  _init_loudestStreamVolumeLevel = _applyDecs$e[0];
1331
1352
  _init_microphoneVolumeLevel = _applyDecs$e[1];
1332
1353
  _init_isWifiConnected = _applyDecs$e[2];
@@ -67,7 +67,9 @@ var VideoSettings = exports.VideoSettings = (0, _mobxReact.observer)(function (p
67
67
  enableBeauty = _useContext.enableBeauty,
68
68
  virtualBackgroundList = _useContext.virtualBackgroundList,
69
69
  currentIsMirror = _useContext.currentIsMirror,
70
- dialogConfig = _useContext.dialogConfig;
70
+ dialogConfig = _useContext.dialogConfig,
71
+ isBeautyModeAbilitySupported = _useContext.isBeautyModeAbilitySupported,
72
+ isVirtualBackgroundSupported = _useContext.isVirtualBackgroundSupported;
71
73
  var _useState3 = (0, _react.useState)(beautyOptions[currentBeautyKey] || _localVideoPlayer.DEFAULT_BEAUTY_VALUE),
72
74
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
73
75
  currentEditValue = _useState4[0],
@@ -152,7 +154,9 @@ var VideoSettings = exports.VideoSettings = (0, _mobxReact.observer)(function (p
152
154
  enableBeautyEffect: enableBeautyEffect,
153
155
  beautySettingOption: beautyOptions
154
156
  })
155
- }
157
+ },
158
+ isBeautyModeAbilitySupported: isBeautyModeAbilitySupported,
159
+ isVirtualBackgroundSupported: isVirtualBackgroundSupported
156
160
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialog.FcrBasicConfirmDialog, {
157
161
  visible: showForceOpenEffectDialog,
158
162
  onOk: handleForceOpenVideoEffect,
@@ -23,6 +23,26 @@ export interface FcrUIAbilityProvider {
23
23
  * 检查当前平台是否支持批注
24
24
  */
25
25
  isAnnotationSupported(): boolean;
26
+ /**
27
+ * 检查当前平台是否支持录制
28
+ */
29
+ isRecordingSupported(): boolean;
30
+ /**
31
+ * 检查当前平台是否支持白板
32
+ */
33
+ isBoardAbilitySupported(): boolean;
34
+ /**
35
+ * 检查当前平台是否支持虚拟背景
36
+ */
37
+ isVirtualBackgroundSupported(): boolean;
38
+ /**
39
+ * 检查当前平台是否支持美颜
40
+ */
41
+ isBeautyModeAbilitySupported(): boolean;
42
+ /**
43
+ * 检查当前平台是否支持外呼
44
+ */
45
+ isCallOutAbilitySupported(): boolean;
26
46
  }
27
47
  export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider, FcrUIManagedObject {
28
48
  private _abilityControl;
@@ -43,11 +63,31 @@ export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider, F
43
63
  */
44
64
  isLiveSupported: () => boolean;
45
65
  /**
46
- * 检查当前平台是否支持指定能力
66
+ * 检查当前平台是否支持同声传译能力
47
67
  */
48
68
  isInterpreterSupported: () => boolean;
49
69
  /**
50
70
  * 检查当前平台是否支持批注
51
71
  */
52
72
  isAnnotationSupported: () => boolean;
73
+ /**
74
+ * 检查当前平台是否支持录制
75
+ */
76
+ isRecordingSupported: () => boolean;
77
+ /**
78
+ * 检查当前平台是否支持白板
79
+ */
80
+ isBoardAbilitySupported: () => boolean;
81
+ /**
82
+ * 检查当前平台是否支持虚拟背景
83
+ */
84
+ isVirtualBackgroundSupported: () => boolean;
85
+ /**
86
+ * 检查当前平台是否支持美颜
87
+ */
88
+ isBeautyModeAbilitySupported: () => boolean;
89
+ /**
90
+ * 检查当前平台是否支持外呼
91
+ */
92
+ isCallOutAbilitySupported: () => boolean;
53
93
  }
@@ -41,7 +41,7 @@ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/f
41
41
  return result;
42
42
  });
43
43
  /**
44
- * 检查当前平台是否支持指定能力
44
+ * 检查当前平台是否支持同声传译能力
45
45
  */
46
46
  (0, _defineProperty2["default"])(this, "isInterpreterSupported", function () {
47
47
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Interpreter);
@@ -54,6 +54,41 @@ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/f
54
54
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Annotation);
55
55
  return result;
56
56
  });
57
+ /**
58
+ * 检查当前平台是否支持录制
59
+ */
60
+ (0, _defineProperty2["default"])(this, "isRecordingSupported", function () {
61
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.RecordingAbility);
62
+ return result;
63
+ });
64
+ /**
65
+ * 检查当前平台是否支持白板
66
+ */
67
+ (0, _defineProperty2["default"])(this, "isBoardAbilitySupported", function () {
68
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.BoardAbility);
69
+ return result;
70
+ });
71
+ /**
72
+ * 检查当前平台是否支持虚拟背景
73
+ */
74
+ (0, _defineProperty2["default"])(this, "isVirtualBackgroundSupported", function () {
75
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.VirtualBackgroundAbility);
76
+ return result;
77
+ });
78
+ /**
79
+ * 检查当前平台是否支持美颜
80
+ */
81
+ (0, _defineProperty2["default"])(this, "isBeautyModeAbilitySupported", function () {
82
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.BeautyModeAbility);
83
+ return result;
84
+ });
85
+ /**
86
+ * 检查当前平台是否支持外呼
87
+ */
88
+ (0, _defineProperty2["default"])(this, "isCallOutAbilitySupported", function () {
89
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.CallOutAbility);
90
+ return result;
91
+ });
57
92
  this._abilityControl = _abilityControl;
58
93
  }
59
94
  return (0, _createClass2["default"])(FcrUIAbilityProviderImpl, [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.7.8-rc.2",
3
+ "version": "3.7.8-rc.4-alpha",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -22,13 +22,13 @@
22
22
  "@react-spring/web": "^9.7.3",
23
23
  "@use-gesture/react": "^10.3.1",
24
24
  "agora-electron-sdk": "4.3.2-build.156-rc.1",
25
- "agora-foundation": "~3.7.8-rc.2",
26
- "agora-ui-foundation": "~3.7.8-rc.2",
25
+ "agora-foundation": "3.7.8-rc.4-alpha",
26
+ "agora-ui-foundation": "3.7.8-rc.4-alpha",
27
27
  "classnames": "^2.5.1",
28
28
  "core-js": "^3.33.3",
29
29
  "dayjs": "^1.10.4",
30
30
  "electron-screenshots": "^0.5.26",
31
- "fcr-core": "~3.7.8-rc.2",
31
+ "fcr-core": "3.7.8-rc.4-alpha",
32
32
  "js-md5": "^0.8.3",
33
33
  "jszip": "^3.10.1",
34
34
  "lodash": "^4.17.21",
@@ -59,7 +59,7 @@
59
59
  "@types/react-dom": "^17.0.11",
60
60
  "@types/react-virtualized": "^9.21.30",
61
61
  "@types/tinycolor2": "^1.4.6",
62
- "agora-toolchain": "~3.7.8-rc.2",
62
+ "agora-toolchain": "3.7.8-rc.4-alpha",
63
63
  "core-js": "^3.33.3",
64
64
  "electron": "22.3.27",
65
65
  "husky": "^9.0.11",