fcr-ui-scene 3.9.0-alpha → 3.9.1-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.
Files changed (208) hide show
  1. package/lib/creator/provider-initializer.browser.js +4 -2
  2. package/lib/creator/provider-initializer.electron.js +13 -5
  3. package/lib/electron/injections.d.ts +1 -0
  4. package/lib/electron/injections.js +4 -1
  5. package/lib/electron/preload.js +1 -0
  6. package/lib/fragments/annotation/style.css +1 -0
  7. package/lib/fragments/whiteboard/style.css +4 -0
  8. package/lib/modules/action-bar/main-scene/store.base.d.ts +1 -0
  9. package/lib/modules/action-bar/main-scene/store.base.js +5 -0
  10. package/lib/modules/audio-stream/index.d.ts +2 -0
  11. package/lib/modules/audio-stream/index.js +33 -1
  12. package/lib/modules/chat/chat-room-store.js +4 -2
  13. package/lib/modules/chat/index.js +1 -1
  14. package/lib/modules/chat/store.d.ts +1 -1
  15. package/lib/modules/chat/store.js +4 -2
  16. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  17. package/lib/modules/components/device-control/store.base.js +22 -3
  18. package/lib/modules/components/leave-meeting/index.js +3 -2
  19. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +1 -0
  20. package/lib/modules/components/leave-meeting/main-scene/store.js +6 -1
  21. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  22. package/lib/modules/components/leave-meeting/store.base.js +1 -1
  23. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +1 -0
  24. package/lib/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  25. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  26. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  27. package/lib/modules/components/member-window/components/member-actions/index.js +0 -7
  28. package/lib/modules/components/member-window/components/member-actions/store.js +1 -1
  29. package/lib/modules/components/member-window/index.js +1 -1
  30. package/lib/modules/components/tab-frame/index.css +12 -1
  31. package/lib/modules/components/tab-frame/index.js +4 -1
  32. package/lib/modules/control-bar/components/share-state-nav/index.js +1 -3
  33. package/lib/modules/control-bar/mouse-event-bridge.d.ts +23 -0
  34. package/lib/modules/control-bar/mouse-event-bridge.js +87 -0
  35. package/lib/modules/control-bar/store.d.ts +3 -2
  36. package/lib/modules/control-bar/store.js +17 -29
  37. package/lib/modules/control-bar/type.d.ts +0 -1
  38. package/lib/modules/control-bar/view.js +21 -17
  39. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  40. package/lib/modules/dialog/dialogs/invite/index.js +6 -24
  41. package/lib/modules/invite/components/copy-info.css +72 -0
  42. package/lib/modules/invite/components/copy-info.d.ts +3 -0
  43. package/lib/modules/invite/components/copy-info.js +144 -0
  44. package/lib/modules/invite/components/pstn-invite.js +3 -15
  45. package/lib/modules/invite/components/voip-invite.js +10 -1
  46. package/lib/modules/invite/enums.d.ts +3 -1
  47. package/lib/modules/invite/enums.js +2 -0
  48. package/lib/modules/invite/store.d.ts +4 -1
  49. package/lib/modules/invite/store.js +37 -13
  50. package/lib/modules/invite/view.js +41 -20
  51. package/lib/modules/layout/store.base.d.ts +2 -1
  52. package/lib/modules/layout/store.base.js +20 -23
  53. package/lib/modules/participant/components/confirm-input/index.css +67 -1
  54. package/lib/modules/participant/components/confirm-input/index.js +16 -13
  55. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  56. package/lib/modules/participant/store.base.d.ts +1 -0
  57. package/lib/modules/participant/store.base.js +34 -7
  58. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +2 -0
  59. package/lib/modules/pc-audio-connect/main-scene/store.js +12 -2
  60. package/lib/modules/pc-audio-connect/view.js +4 -2
  61. package/lib/modules/phone-audio-connect/store.d.ts +6 -4
  62. package/lib/modules/phone-audio-connect/store.js +12 -1
  63. package/lib/modules/phone-audio-connect/view.js +6 -4
  64. package/lib/modules/secondary-window/index.js +2 -2
  65. package/lib/modules/secondary-window/store.d.ts +3 -0
  66. package/lib/modules/secondary-window/store.js +16 -1
  67. package/lib/modules/secondary-window/view.js +96 -72
  68. package/lib/modules/toast-manager/type.d.ts +2 -1
  69. package/lib/modules/toast-manager/type.js +4 -1
  70. package/lib/plugins/module-dev-plugin.js +4 -4
  71. package/lib/providers/ability-provider.d.ts +15 -0
  72. package/lib/providers/ability-provider.js +13 -1
  73. package/lib/providers/mouse-detect/provider.d.ts +2 -0
  74. package/lib/providers/mouse-detect/provider.empty.d.ts +14 -0
  75. package/lib/providers/mouse-detect/provider.empty.js +47 -0
  76. package/lib/providers/mouse-detect/provider.js +13 -4
  77. package/lib/providers/mouse-detect/type.d.ts +2 -0
  78. package/lib/providers/phone-audio-provider.d.ts +31 -5
  79. package/lib/providers/phone-audio-provider.js +83 -22
  80. package/lib/providers/user-audio-volume-provider.d.ts +6 -0
  81. package/lib/providers/user-audio-volume-provider.js +3 -2
  82. package/lib/runtime.d.ts +1 -0
  83. package/lib/scenes/main-scene.js +2 -1
  84. package/lib/shared-data/chat-data.d.ts +19 -0
  85. package/lib/shared-data/chat-data.js +54 -7
  86. package/lib/shared-data/member-data.d.ts +9 -1
  87. package/lib/shared-data/member-data.js +46 -17
  88. package/lib/shared-data/video-window.js +8 -4
  89. package/lib/translations/enUS.d.ts +245 -1
  90. package/lib/translations/enUS.js +247 -3
  91. package/lib/translations/zhCN.d.ts +245 -1
  92. package/lib/translations/zhCN.js +246 -2
  93. package/lib/utilities/os.d.ts +1 -0
  94. package/lib/utilities/os.js +15 -0
  95. package/lib/utilities/renderer.d.ts +1 -0
  96. package/lib/utilities/renderer.js +7 -1
  97. package/lib-es/creator/provider-initializer.browser.js +4 -2
  98. package/lib-es/creator/provider-initializer.electron.js +11 -3
  99. package/lib-es/electron/injections.js +3 -0
  100. package/lib-es/electron/preload.js +2 -1
  101. package/lib-es/fragments/annotation/style.css +1 -0
  102. package/lib-es/fragments/whiteboard/style.css +4 -0
  103. package/lib-es/modules/action-bar/main-scene/store.base.js +5 -0
  104. package/lib-es/modules/audio-stream/index.js +33 -1
  105. package/lib-es/modules/chat/chat-room-store.js +4 -2
  106. package/lib-es/modules/chat/index.js +1 -1
  107. package/lib-es/modules/chat/store.js +4 -2
  108. package/lib-es/modules/components/device-control/store.base.js +22 -3
  109. package/lib-es/modules/components/leave-meeting/index.js +3 -2
  110. package/lib-es/modules/components/leave-meeting/main-scene/store.js +6 -1
  111. package/lib-es/modules/components/leave-meeting/store.base.js +1 -1
  112. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  113. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  114. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  115. package/lib-es/modules/components/member-window/components/member-actions/index.js +0 -7
  116. package/lib-es/modules/components/member-window/components/member-actions/store.js +1 -1
  117. package/lib-es/modules/components/member-window/index.js +1 -1
  118. package/lib-es/modules/components/tab-frame/index.css +12 -1
  119. package/lib-es/modules/components/tab-frame/index.js +4 -1
  120. package/lib-es/modules/control-bar/components/share-state-nav/index.js +1 -3
  121. package/lib-es/modules/control-bar/mouse-event-bridge.js +79 -0
  122. package/lib-es/modules/control-bar/store.js +18 -30
  123. package/lib-es/modules/control-bar/view.js +21 -17
  124. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  125. package/lib-es/modules/dialog/dialogs/invite/index.js +6 -24
  126. package/lib-es/modules/invite/components/copy-info.css +72 -0
  127. package/lib-es/modules/invite/components/copy-info.js +137 -0
  128. package/lib-es/modules/invite/components/pstn-invite.js +3 -15
  129. package/lib-es/modules/invite/components/voip-invite.js +10 -1
  130. package/lib-es/modules/invite/enums.js +2 -0
  131. package/lib-es/modules/invite/store.js +38 -14
  132. package/lib-es/modules/invite/view.js +43 -22
  133. package/lib-es/modules/layout/store.base.js +20 -23
  134. package/lib-es/modules/participant/components/confirm-input/index.css +67 -1
  135. package/lib-es/modules/participant/components/confirm-input/index.js +16 -13
  136. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  137. package/lib-es/modules/participant/store.base.js +34 -7
  138. package/lib-es/modules/pc-audio-connect/main-scene/store.js +12 -2
  139. package/lib-es/modules/pc-audio-connect/view.js +4 -2
  140. package/lib-es/modules/phone-audio-connect/store.js +12 -1
  141. package/lib-es/modules/phone-audio-connect/view.js +6 -4
  142. package/lib-es/modules/secondary-window/index.js +2 -2
  143. package/lib-es/modules/secondary-window/store.js +16 -1
  144. package/lib-es/modules/secondary-window/view.js +97 -73
  145. package/lib-es/modules/toast-manager/type.js +4 -1
  146. package/lib-es/plugins/module-dev-plugin.js +4 -4
  147. package/lib-es/providers/ability-provider.js +13 -1
  148. package/lib-es/providers/mouse-detect/provider.empty.js +39 -0
  149. package/lib-es/providers/mouse-detect/provider.js +13 -4
  150. package/lib-es/providers/phone-audio-provider.js +109 -48
  151. package/lib-es/providers/user-audio-volume-provider.js +3 -2
  152. package/lib-es/scenes/main-scene.js +3 -2
  153. package/lib-es/shared-data/chat-data.js +55 -8
  154. package/lib-es/shared-data/member-data.js +46 -17
  155. package/lib-es/shared-data/video-window.js +8 -4
  156. package/lib-es/translations/enUS.js +247 -3
  157. package/lib-es/translations/zhCN.js +246 -2
  158. package/lib-es/utilities/os.js +8 -0
  159. package/lib-es/utilities/renderer.js +7 -1
  160. package/lib-es/utilities/shared-storage.js +2 -2
  161. package/package.json +6 -6
  162. package/lib/modules/connection-gateway/components/computer/index.css +0 -12
  163. package/lib/modules/connection-gateway/components/computer/index.d.ts +0 -3
  164. package/lib/modules/connection-gateway/components/computer/index.js +0 -66
  165. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  166. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +0 -10
  167. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -78
  168. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  169. package/lib/modules/connection-gateway/components/phone/components/calling/index.d.ts +0 -7
  170. package/lib/modules/connection-gateway/components/phone/components/calling/index.js +0 -58
  171. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  172. package/lib/modules/connection-gateway/components/phone/components/remeber/index.d.ts +0 -5
  173. package/lib/modules/connection-gateway/components/phone/components/remeber/index.js +0 -24
  174. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  175. package/lib/modules/connection-gateway/components/phone/components/useing/index.d.ts +0 -3
  176. package/lib/modules/connection-gateway/components/phone/components/useing/index.js +0 -36
  177. package/lib/modules/connection-gateway/components/phone/index.css +0 -49
  178. package/lib/modules/connection-gateway/components/phone/index.d.ts +0 -3
  179. package/lib/modules/connection-gateway/components/phone/index.js +0 -185
  180. package/lib/modules/connection-gateway/enums.d.ts +0 -4
  181. package/lib/modules/connection-gateway/enums.js +0 -12
  182. package/lib/modules/connection-gateway/index.css +0 -6
  183. package/lib/modules/connection-gateway/index.d.ts +0 -10
  184. package/lib/modules/connection-gateway/index.js +0 -78
  185. package/lib/modules/connection-gateway/store.d.ts +0 -68
  186. package/lib/modules/connection-gateway/store.js +0 -713
  187. package/lib/modules/connection-gateway/types.d.ts +0 -8
  188. package/lib/modules/connection-gateway/types.js +0 -6
  189. package/lib/modules/connection-gateway/view.d.ts +0 -1
  190. package/lib/modules/connection-gateway/view.js +0 -39
  191. package/lib-es/modules/connection-gateway/components/computer/index.css +0 -12
  192. package/lib-es/modules/connection-gateway/components/computer/index.js +0 -59
  193. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  194. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -71
  195. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  196. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +0 -51
  197. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  198. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +0 -17
  199. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  200. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +0 -29
  201. package/lib-es/modules/connection-gateway/components/phone/index.css +0 -49
  202. package/lib-es/modules/connection-gateway/components/phone/index.js +0 -177
  203. package/lib-es/modules/connection-gateway/enums.js +0 -5
  204. package/lib-es/modules/connection-gateway/index.css +0 -6
  205. package/lib-es/modules/connection-gateway/index.js +0 -60
  206. package/lib-es/modules/connection-gateway/store.js +0 -707
  207. package/lib-es/modules/connection-gateway/types.js +0 -1
  208. package/lib-es/modules/connection-gateway/view.js +0 -31
@@ -193,7 +193,8 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
193
193
  var phoneAudioConnectorProvider = new _phoneAudioProvider.FcrUIPhoneAudioConnectorProviderImpl({
194
194
  roomControl: mainRoomControl,
195
195
  messageProvider: messageProvider,
196
- deviceProvider: deviceProvider
196
+ deviceProvider: deviceProvider,
197
+ abilityProvider: abilityProvider
197
198
  });
198
199
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER, phoneAudioConnectorProvider);
199
200
  var sharedChatDataSource = new _chatData.FcrUISharedChatDataSourceImpl(chatProvider);
@@ -254,7 +255,8 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
254
255
  interpreterData: sharedInterpreterDataSource,
255
256
  deviceProvider: deviceProvider,
256
257
  screenShareProvider: screenShareProvider,
257
- streamControl: streamControl
258
+ streamControl: streamControl,
259
+ volumeThreshold: 45
258
260
  });
259
261
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_USER_AUDIO_VOLUME_PROVIDER, userAudioVolumeProvider);
260
262
  var pinDataSource = new _pinData.FcrUISharedPinDataSourceImpl(messageProvider, videoWindowDataSource);
@@ -58,10 +58,13 @@ var _speakerSpotlight = require("../shared-data/speaker-spotlight");
58
58
  var _pinData = require("../shared-data/pin-data");
59
59
  var _logger = require("../utilities/logger");
60
60
  var _provider8 = require("../providers/mouse-detect/provider");
61
+ var _provider9 = require("../providers/mouse-detect/provider.empty");
62
+ var _env = require("agora-foundation/lib/utilities/env");
63
+ var _os = require("../utilities/os");
61
64
  var _widgetData = require("../shared-data/widget-data");
62
65
  var _sttProvider = require("../providers/stt-provider/stt-provider");
63
66
  var _sttSetting = require("../shared-data/stt-setting.ts");
64
- var _provider9 = require("../providers/annotation/provider.electron");
67
+ var _provider0 = require("../providers/annotation/provider.electron");
65
68
  var _userAudioVolume = require("../shared-data/user-audio-volume");
66
69
  var _userAudioVolumeProvider = require("../providers/user-audio-volume-provider");
67
70
  var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer = /*#__PURE__*/function () {
@@ -102,7 +105,10 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
102
105
  renderer: renderer
103
106
  });
104
107
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER, windowProvider);
105
- var mouseDetectProvider = new _provider8.FcrUIMouseDetectProviderImpl(objectManager);
108
+ var systemVersion = renderer.getSystemVersion();
109
+ var macMajor = (0, _os.parseMacOSMajorVersion)(systemVersion);
110
+ var useMouseDetect = (0, _env.isWindows)() || (0, _env.isMac)() && macMajor !== null && macMajor < 15;
111
+ var mouseDetectProvider = useMouseDetect ? new _provider8.FcrUIMouseDetectProviderImpl(objectManager) : new _provider9.FcrUIMouseDetectProviderEmptyImpl();
106
112
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MOUSE_DETECT_PROVIDER, mouseDetectProvider);
107
113
  var eventProvider = new _eventProvider.FcrUIEventProviderImpl();
108
114
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_EVENT_PROVIDER, eventProvider);
@@ -218,7 +224,8 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
218
224
  var phoneAudioConnectorProvider = new _phoneAudioProvider.FcrUIPhoneAudioConnectorProviderImpl({
219
225
  roomControl: mainRoomControl,
220
226
  messageProvider: messageProvider,
221
- deviceProvider: deviceProvider
227
+ deviceProvider: deviceProvider,
228
+ abilityProvider: abilityProvider
222
229
  });
223
230
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER, phoneAudioConnectorProvider);
224
231
  var sharedChatDataSource = new _chatData.FcrUISharedChatDataSourceImpl(chatProvider);
@@ -292,12 +299,13 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
292
299
  interpreterData: sharedInterpreterDataSource,
293
300
  deviceProvider: deviceProvider,
294
301
  screenShareProvider: screenShareProvider,
295
- streamControl: streamControl
302
+ streamControl: streamControl,
303
+ volumeThreshold: 35
296
304
  });
297
305
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_USER_AUDIO_VOLUME_PROVIDER, userAudioVolumeProvider);
298
306
  var pinDataSource = new _pinData.FcrUISharedPinDataSourceImpl(messageProvider, sharedVideoWindowDataSource);
299
307
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE, pinDataSource);
300
- var annotationProvider = new _provider9.FcrUIAnnotationProviderImpl(objectManager, fcrUIMainWindowRenderer);
308
+ var annotationProvider = new _provider0.FcrUIAnnotationProviderImpl(objectManager, fcrUIMainWindowRenderer);
301
309
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_ANNOTATION_PROVIDER, annotationProvider);
302
310
  }
303
311
  }, {
@@ -27,6 +27,7 @@ export declare const openSystemPreferences: (mediaType: "microphone" | "camera"
27
27
  export declare const quitApp: () => void;
28
28
  export declare const getSystemMemorySize: () => number;
29
29
  export declare const getSystemCpuInfo: () => os.CpuInfo[];
30
+ export declare const getSystemVersion: () => string;
30
31
  export declare const getNetworkType: () => Promise<NetworkType>;
31
32
  export declare const downloadAndExtractResourceFileFromZip: (zipUrl: string, type: FcrUiResourceType) => Promise<string[]>;
32
33
  export declare const downloadResourceFile: (fileUrl: string, type: FcrUiResourceType) => Promise<string>;
@@ -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.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.quitApp = exports.openSystemPreferences = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.initialize = exports.getWindowInfoList = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getPrimaryDisplay = exports.getNetworkType = exports.getMediaSourceIdList = exports.getDisplayNearestPoint = exports.getDisplayMatching = exports.getCursorScreenPoint = exports.getCurrentBrowserWindow = exports.getBrowserWindowById = exports.getBaseUrl = exports.getAllDisplays = exports.fileToBlob = exports.fileToBase64 = exports.downloadResourceFile = exports.downloadAndExtractResourceFileFromZip = exports.createBrowserWindowProxy = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.addEventListener = void 0;
9
+ exports.showItemInFolder = exports.setUserSettingData = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.quitApp = exports.openSystemPreferences = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.initialize = exports.getWindowInfoList = exports.getUserSettingData = exports.getSystemVersion = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getPrimaryDisplay = exports.getNetworkType = exports.getMediaSourceIdList = exports.getDisplayNearestPoint = exports.getDisplayMatching = exports.getCursorScreenPoint = exports.getCurrentBrowserWindow = exports.getBrowserWindowById = exports.getBaseUrl = exports.getAllDisplays = exports.fileToBlob = exports.fileToBase64 = exports.downloadResourceFile = exports.downloadAndExtractResourceFileFromZip = exports.createBrowserWindowProxy = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.addEventListener = void 0;
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -333,6 +333,9 @@ var getSystemMemorySize = exports.getSystemMemorySize = function getSystemMemory
333
333
  var getSystemCpuInfo = exports.getSystemCpuInfo = function getSystemCpuInfo() {
334
334
  return _os["default"].cpus();
335
335
  };
336
+ var getSystemVersion = exports.getSystemVersion = function getSystemVersion() {
337
+ return _os["default"].release();
338
+ };
336
339
  var getNetworkType = exports.getNetworkType = function getNetworkType() {
337
340
  var resolve = function resolve(res) {};
338
341
  var p = new Promise(function (_resolve) {
@@ -35,6 +35,7 @@ var runtime = {
35
35
  loadBuiltinResources: _injections.loadBuiltinResources,
36
36
  getSystemCpuInfo: _injections.getSystemCpuInfo,
37
37
  getSystemMemorySize: _injections.getSystemMemorySize,
38
+ getSystemVersion: _injections.getSystemVersion,
38
39
  getCurrentBrowserWindow: _injections.getCurrentBrowserWindow,
39
40
  createBrowserWindowProxy: _injections.createBrowserWindowProxy,
40
41
  getBrowserWindowById: _injections.getBrowserWindowById,
@@ -4,5 +4,6 @@
4
4
  }
5
5
 
6
6
  body {
7
+ margin: 0;
7
8
  background: rgba(0, 0, 0, 0.01);
8
9
  }
@@ -1,3 +1,7 @@
1
+ body {
2
+ margin: 0;
3
+ }
4
+
1
5
  .fcr-fragment-whiteboard-view {
2
6
  width: 100vw;
3
7
  height: 100vh;
@@ -97,6 +97,7 @@ export declare abstract class ActionBarMainSceneStoreBase implements FcrUIManage
97
97
  get localUserId(): string;
98
98
  get totalUser(): number;
99
99
  get isPstnUser(): boolean;
100
+ get isVolteUser(): boolean;
100
101
  get localInterpreterUserInfo(): import("fcr-core/lib/room-control/interpreter-control/types").FcrInterpreterUserInfo | null;
101
102
  get interpreterUserList(): import("fcr-core/lib/room-control/interpreter-control/types").FcrInterpreterUserInfo[] | null;
102
103
  get isInterpreterEnabled(): boolean;
@@ -408,6 +408,11 @@ var ActionBarMainSceneStoreBase = exports.ActionBarMainSceneStoreBase = /*#__PUR
408
408
  get: function get() {
409
409
  return this._sharedMemberDataSource.hasOwnPstnStream;
410
410
  }
411
+ }, {
412
+ key: "isVolteUser",
413
+ get: function get() {
414
+ return this._sharedMemberDataSource.hasOwnVolteStream;
415
+ }
411
416
  }, {
412
417
  key: "localInterpreterUserInfo",
413
418
  get: function get() {
@@ -5,6 +5,7 @@ export declare class AudioStreamUIModule extends UIModule {
5
5
  private _streamControl;
6
6
  private _userControl;
7
7
  private _isPstn;
8
+ private _isVolte;
8
9
  private _disposers;
9
10
  private _streamObserver;
10
11
  private _eventObserver;
@@ -27,6 +28,7 @@ export declare class AudioStreamUIModule extends UIModule {
27
28
  private _handleRemoteAudio;
28
29
  private _handleStopAudio;
29
30
  private _hasLocalPstnStream;
31
+ private _hasLocalVolteStream;
30
32
  private _handleUiEvent;
31
33
  private _handleJoinInterpretingRoomSuccess;
32
34
  private _handleLeaveInterpretingRoom;
@@ -65,6 +65,7 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
65
65
  prefix: 'AudioStreamUIModule'
66
66
  }));
67
67
  (0, _defineProperty2["default"])(_this, "_isPstn", false);
68
+ (0, _defineProperty2["default"])(_this, "_isVolte", false);
68
69
  (0, _defineProperty2["default"])(_this, "_disposers", []);
69
70
  (0, _defineProperty2["default"])(_this, "_indicateTimerId", null);
70
71
  (0, _defineProperty2["default"])(_this, "_volumeTimerId", null);
@@ -140,7 +141,7 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
140
141
  (0, _defineProperty2["default"])(_this, "_handleRemoteAudio", function (streamControl, streams
141
142
  // key: string,
142
143
  ) {
143
- if (_this._isPstn) {
144
+ if (_this._isPstn || _this._isVolte) {
144
145
  streamControl.getStreamList().forEach(function (stream) {
145
146
  // stop playing all remote audio streams
146
147
  if (stream.owner.userId !== _this._localUser.userId) {
@@ -180,6 +181,12 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
180
181
  });
181
182
  return !!pstnStream;
182
183
  });
184
+ (0, _defineProperty2["default"])(_this, "_hasLocalVolteStream", function (streams) {
185
+ var volteStream = streams.find(function (stream) {
186
+ return stream.connectorType === _fcrCore.FcrRoomConnectorType.VOLTE && stream.owner.userId === _this._localUser.userId;
187
+ });
188
+ return !!volteStream;
189
+ });
183
190
  (0, _defineProperty2["default"])(_this, "_handleUiEvent", function (action, payload) {
184
191
  switch (action) {
185
192
  // 切换语言房间订阅 ( 翻译官切换收听语言房间 为输出的语音房间时 单独出发订阅订阅 )
@@ -215,6 +222,13 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
215
222
  _this._deviceProvider.setMicrophoneEnabled(false);
216
223
  _this.logger.info('found local PSTN stream, stop play all remote audio');
217
224
  _this._handleRemoteAudio(streamControl, streamControl.getStreamList());
225
+ } else if (!_this._isVolte && _this._hasLocalVolteStream(streams)) {
226
+ _this.logger.info("VOLTE stream is created");
227
+ _this._isVolte = true;
228
+ _this.logger.info('found local VOLTE stream, close microphone');
229
+ // close microphone as audio input and output through mobile phone
230
+ _this._deviceProvider.setMicrophoneEnabled(false);
231
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList());
218
232
  } else {
219
233
  _this._handleRemoteAudio(streamControl, streams);
220
234
  }
@@ -233,6 +247,16 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
233
247
  _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
234
248
  // '_handleStreamsUpdated11111',
235
249
  );
250
+ } else if (!_this._isVolte && _this._hasLocalVolteStream(streams)) {
251
+ _this.logger.info('VOLTE stream is updated');
252
+ _this._isVolte = true;
253
+ _this.logger.info('found local VOLTE stream, close microphone');
254
+ // close microphone as audio input and output through mobile phone
255
+ _this._deviceProvider.setMicrophoneEnabled(false);
256
+ _this.logger.info('found local VOLTE stream, stop play all remote audio');
257
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
258
+ // '_handleStreamsUpdated11111',
259
+ );
236
260
  } else {
237
261
  _this._handleRemoteAudio(streamControl, streams
238
262
  // '_handleStreamsUpdated22222'
@@ -250,6 +274,13 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
250
274
  // '_handleStreamsRemoved',
251
275
  );
252
276
  }
277
+ if (_this._hasLocalVolteStream(streams)) {
278
+ _this.logger.info('VOLTE stream is removed');
279
+ _this._isVolte = false;
280
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
281
+ // '_handleStreamsRemoved',
282
+ );
283
+ }
253
284
  events.forEach(function (event) {
254
285
  if (event.modifiedStream.owner.userId === _this._localUser.userId) {
255
286
  return;
@@ -357,6 +388,7 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
357
388
  this._deviceProvider = deviceProvider;
358
389
  var streams = this._streamControl.getStreamList();
359
390
  this._isPstn = this._hasLocalPstnStream(streams);
391
+ this._isVolte = this._hasLocalVolteStream(streams);
360
392
  this._streamObserver = this._createStreamObserver(this._streamControl);
361
393
  this._deviceProvider.addObserver(this._deviceObserver);
362
394
  this._interpreterProvider.addObserver(this._interpreterObserver);
@@ -976,8 +976,10 @@ var ChatRoomStore = exports.ChatRoomStore = /*#__PURE__*/function () {
976
976
  }
977
977
  }, {
978
978
  key: "_handleConnectionUpdated",
979
- value: function _handleConnectionUpdated(_, state) {
980
- this.chatRoomState = state;
979
+ value: function _handleConnectionUpdated(_, state, roomType) {
980
+ if (roomType === this._type) {
981
+ this.chatRoomState = state;
982
+ }
981
983
  }
982
984
  }, {
983
985
  key: "_initChatRoomConnectionState",
@@ -145,7 +145,7 @@ var ChatUIModule = exports.ChatUIModule = /*#__PURE__*/function (_UIModule) {
145
145
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_mobxReact.Observer, {
146
146
  children: function children() {
147
147
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
148
- children: _this3.store.chatRoomState
148
+ children: _this3.store.chatRoomTitle
149
149
  });
150
150
  }
151
151
  });
@@ -22,7 +22,7 @@ export default class ChatStore implements FcrUIManagedObject {
22
22
  accessor copyMap: Map<number, boolean>;
23
23
  constructor({ objectManager }: ChatStoreArgs);
24
24
  get isMainRoom(): boolean;
25
- get chatRoomState(): string;
25
+ get chatRoomTitle(): string;
26
26
  getChatRoomStore(type: FcrUIRoomType): ChatRoomStore;
27
27
  get localUserId(): string;
28
28
  hasWaitingRoomPermission(): boolean;
@@ -214,9 +214,11 @@ var ChatStore = exports["default"] = /*#__PURE__*/function () {
214
214
  return this._isMainRoom;
215
215
  }
216
216
  }, {
217
- key: "chatRoomState",
217
+ key: "chatRoomTitle",
218
218
  get: function get() {
219
- return this._chatProvider.chatConnectionState === _type2.FcrChatRoomConnectionState.Connected ? (0, _i18n.transI18n)('fmt_chat_label_chat') : (0, _i18n.transI18n)('fmt_aside_status_connecting');
219
+ var _this$_sharedChatData, _this$_sharedChatData2;
220
+ var connectionState = (_this$_sharedChatData = (_this$_sharedChatData2 = this._sharedChatDataSource) === null || _this$_sharedChatData2 === void 0 ? void 0 : _this$_sharedChatData2.currentConnectionState) !== null && _this$_sharedChatData !== void 0 ? _this$_sharedChatData : _type2.FcrChatRoomConnectionState.Disconnected;
221
+ return connectionState === _type2.FcrChatRoomConnectionState.Connected ? (0, _i18n.transI18n)('fmt_chat_label_chat') : (0, _i18n.transI18n)('fmt_aside_status_connecting');
220
222
  }
221
223
  }, {
222
224
  key: "getChatRoomStore",
@@ -13,6 +13,7 @@ export declare abstract class DeviceControlStoreBase {
13
13
  private _streamControlObserver;
14
14
  accessor isPstnUser: boolean;
15
15
  accessor phoneMicEnabled: boolean;
16
+ accessor isVolteUser: boolean;
16
17
  get microphoneId(): string | null;
17
18
  get speakerId(): string;
18
19
  get speakerList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
@@ -59,7 +59,7 @@ var _decorator = require("agora-foundation/lib/decorator");
59
59
  var _constant = require("../../../utilities/constant");
60
60
  var _objectManager = require("../../../object-manager");
61
61
  var _DeviceControlStoreBase;
62
- var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
62
+ var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _init_isVolteUser, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
63
63
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
64
64
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
65
65
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -72,6 +72,7 @@ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.descr
72
72
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
73
73
  var _A = /*#__PURE__*/new WeakMap();
74
74
  var _B = /*#__PURE__*/new WeakMap();
75
+ var _C = /*#__PURE__*/new WeakMap();
75
76
  _ref = (_openDeviceSettingDialogDecs = [_mobx.action, _mobx.action.bound], _openConnectionDecs = [_mobx.action, _mobx.action.bound], _closeConnectionDecs = [_mobx.action, _mobx.action.bound], _checkMediaPermissionDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], "_deviceProvider");
76
77
  var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/function () {
77
78
  function DeviceControlStoreBase(_ref2) {
@@ -85,6 +86,7 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
85
86
  });
86
87
  _classPrivateFieldInitSpec(this, _A, _init_isPstnUser(this, false));
87
88
  _classPrivateFieldInitSpec(this, _B, _init_phoneMicEnabled(this, false));
89
+ _classPrivateFieldInitSpec(this, _C, _init_isVolteUser(this, false));
88
90
  this._dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
89
91
  this._deviceProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
90
92
  this._abilityProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
@@ -110,6 +112,14 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
110
112
  set: function set(v) {
111
113
  _classPrivateFieldSet(_B, this, v);
112
114
  }
115
+ }, {
116
+ key: "isVolteUser",
117
+ get: function get() {
118
+ return _classPrivateFieldGet(_C, this);
119
+ },
120
+ set: function set(v) {
121
+ _classPrivateFieldSet(_C, this, v);
122
+ }
113
123
  }, {
114
124
  key: "microphoneId",
115
125
  get: function get() {
@@ -249,17 +259,26 @@ var DeviceControlStoreBase = exports.DeviceControlStoreBase = /*#__PURE__*/funct
249
259
  var connectorType = _ref3.connectorType;
250
260
  return connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
251
261
  });
262
+ var volteStream = streams.find(function (_ref4) {
263
+ var connectorType = _ref4.connectorType;
264
+ return connectorType === _fcrCore.FcrRoomConnectorType.VOLTE;
265
+ });
252
266
  var hasPstnStream = !!pstnStream;
267
+ var hasVolteStream = !!volteStream;
253
268
  this.isPstnUser = hasPstnStream;
269
+ this.isVolteUser = hasVolteStream;
254
270
  if (hasPstnStream) {
255
271
  this.phoneMicEnabled = pstnStream.streamType === _type.FcrStreamType.BOTH || pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
272
+ } else if (hasVolteStream) {
273
+ this.phoneMicEnabled = volteStream.streamType === _type.FcrStreamType.BOTH || volteStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
256
274
  }
257
275
  }
258
276
  }]);
259
277
  }();
260
278
  _DeviceControlStoreBase = DeviceControlStoreBase;
261
- 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);
279
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DeviceControlStoreBase, [[_mobx.observable, 1, "isPstnUser"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.observable, 1, "isVolteUser"], [_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, 4);
262
280
  _init_isPstnUser = _applyDecs$e[0];
263
281
  _init_phoneMicEnabled = _applyDecs$e[1];
264
- _initProto = _applyDecs$e[2];
282
+ _init_isVolteUser = _applyDecs$e[2];
283
+ _initProto = _applyDecs$e[3];
265
284
  var DeviceControlStoreContext = exports.DeviceControlStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -24,6 +24,7 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
24
24
  isLocked = _useContext.isLocked,
25
25
  hasEndRoomPermission = _useContext.hasEndRoomPermission,
26
26
  isPstnUser = _useContext.isPstnUser,
27
+ isVolteUser = _useContext.isVolteUser,
27
28
  loading = _useContext.loading,
28
29
  exitMeeting = _useContext.exitMeeting,
29
30
  assignHost = _useContext.assignHost,
@@ -73,7 +74,7 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
73
74
  onChange: function onChange(checked) {
74
75
  return setKeepConnect(checked);
75
76
  },
76
- isHidden: !isPstnUser
77
+ isHidden: !isPstnUser && !isVolteUser
77
78
  },
78
79
  confirmBtnProps: {
79
80
  text: t('fmt_popup_button_endmeeting'),
@@ -102,7 +103,7 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
102
103
  onChange: function onChange(checked) {
103
104
  return setKeepConnect(checked);
104
105
  },
105
- isHidden: !isPstnUser
106
+ isHidden: !isPstnUser && !isVolteUser
106
107
  },
107
108
  confirmBtnProps: {
108
109
  text: t('fmt_actionbar__button_leaveyes'),
@@ -10,5 +10,6 @@ export default class LeaveMeetingStoreMain extends LeaveMeetingStoreBase {
10
10
  get localUserRole(): import("fcr-core/lib/type").FcrUserRole;
11
11
  get hostAvailibleRemoteUsers(): import("fcr-core/lib/type").FcrUserInfo[];
12
12
  get isPstnUser(): boolean;
13
+ get isVolteUser(): boolean;
13
14
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
14
15
  }
@@ -101,6 +101,11 @@ var LeaveMeetingStoreMain = exports["default"] = /*#__PURE__*/function (_LeaveMe
101
101
  get: function get() {
102
102
  return this._sharedMemberDataSource.hasOwnPstnStream;
103
103
  }
104
+ }, {
105
+ key: "isVolteUser",
106
+ get: function get() {
107
+ return this._sharedMemberDataSource.hasOwnVolteStream;
108
+ }
104
109
  }, {
105
110
  key: "isHostSupportedByPlatform",
106
111
  value: function isHostSupportedByPlatform(platform) {
@@ -109,5 +114,5 @@ var LeaveMeetingStoreMain = exports["default"] = /*#__PURE__*/function (_LeaveMe
109
114
  }]);
110
115
  }(_store.LeaveMeetingStoreBase);
111
116
  _LeaveMeetingStoreMain = LeaveMeetingStoreMain;
112
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStoreMain, [[_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, _store.LeaveMeetingStoreBase).e, 1);
117
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStoreMain, [[_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_mobx.computed, 3, "isVolteUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, _store.LeaveMeetingStoreBase).e, 1);
113
118
  _initProto = _applyDecs$e[0];
@@ -19,6 +19,7 @@ export declare abstract class LeaveMeetingStoreBase {
19
19
  get hasEndRoomPermission(): boolean;
20
20
  abstract get hostAvailibleRemoteUsers(): FcrUserInfo[];
21
21
  abstract get isPstnUser(): boolean;
22
+ abstract get isVolteUser(): boolean;
22
23
  get isAssignHostAvailable(): boolean;
23
24
  constructor({ objectManager }: LeaveMeetingStoreArgs);
24
25
  showEndConfirmDialog(): void;
@@ -186,7 +186,7 @@ var LeaveMeetingStoreBase = exports.LeaveMeetingStoreBase = /*#__PURE__*/functio
186
186
  return this._checkIfQuitFullScreen();
187
187
  case 1:
188
188
  this.loading = true;
189
- _t = this.keepConnect && this.isPstnUser;
189
+ _t = this.keepConnect && (this.isPstnUser || this.isVolteUser);
190
190
  if (!_t) {
191
191
  _context2.next = 2;
192
192
  break;
@@ -9,5 +9,6 @@ export default class LeaveMeetingStoreWaiting extends LeaveMeetingStoreBase {
9
9
  get localUserRole(): FcrUserRole;
10
10
  get hostAvailibleRemoteUsers(): never[];
11
11
  get isPstnUser(): boolean;
12
+ get isVolteUser(): boolean;
12
13
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
13
14
  }
@@ -92,6 +92,11 @@ var LeaveMeetingStoreWaiting = exports["default"] = /*#__PURE__*/function (_Leav
92
92
  get: function get() {
93
93
  return false;
94
94
  }
95
+ }, {
96
+ key: "isVolteUser",
97
+ get: function get() {
98
+ return false;
99
+ }
95
100
  }, {
96
101
  key: "isHostSupportedByPlatform",
97
102
  value: function isHostSupportedByPlatform(platform) {
@@ -100,5 +105,5 @@ var LeaveMeetingStoreWaiting = exports["default"] = /*#__PURE__*/function (_Leav
100
105
  }]);
101
106
  }(_store.LeaveMeetingStoreBase);
102
107
  _LeaveMeetingStoreWaiting = LeaveMeetingStoreWaiting;
103
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStoreWaiting, [[_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, _store.LeaveMeetingStoreBase).e, 1);
108
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStoreWaiting, [[_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_mobx.computed, 3, "isVolteUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, _store.LeaveMeetingStoreBase).e, 1);
104
109
  _initProto = _applyDecs$e[0];
@@ -13,8 +13,8 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _micVolume = require("../../mic-volume");
15
15
  var _iconButtons = require("./icon-buttons");
16
- var _iconPhoneCall = require("agora-ui-foundation/lib/components/icon-phone-call");
17
16
  var _provider = require("../provider");
17
+ var _microphoneState = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/microphone-state");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  var IconStatus = exports.IconStatus = (0, _mobxReact.observer)(function (_ref) {
20
20
  var iconSize = _ref.iconSize,
@@ -53,15 +53,12 @@ var IconStatus = exports.IconStatus = (0, _mobxReact.observer)(function (_ref) {
53
53
  };
54
54
  var renderPhoneStatus = function renderPhoneStatus() {
55
55
  if (!isPurePhone) {
56
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
57
- className: "fcr-user-window-actions-microphone",
58
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconPhoneCall.FcrIconPhoneCall, {
59
- size: iconSize,
60
- isMuted: !phoneMicEnabled,
61
- iconColors: {
62
- iconPrimary: store.ownerRoleType === _fcrCore.FcrUserRole.HOST ? 'var(--fcr_ui_scene_white10)' : 'var(--fcr_ui_scene_ramp_lightgreen6)'
63
- }
64
- })
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_microphoneState.MicrophoneState, {
57
+ isPhoneMic: true,
58
+ isMicrophoneMuted: !phoneMicEnabled,
59
+ size: iconSize,
60
+ voicePercent: volume,
61
+ activeColor: store.ownerRoleType === _fcrCore.FcrUserRole.HOST ? 'var(--fcr_ui_scene_white10)' : 'var(--fcr_ui_scene_ramp_lightgreen6)'
65
62
  });
66
63
  }
67
64
  };
@@ -59,8 +59,8 @@ var MoreActions = exports.MoreActions = (0, _mobxReact.observer)(function (_ref)
59
59
  isShowActionAudio = _actionMute.isShowActionAudio,
60
60
  actionAudioTag = _actionMute.actionAudioTag;
61
61
  var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
62
- var isPhone = connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
63
- var userType = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN && !hasVideoStream ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
62
+ var isPhone = connectorType === _fcrCore.FcrRoomConnectorType.PSTN || connectorType === _fcrCore.FcrRoomConnectorType.VOLTE;
63
+ var userType = (audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN || audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.VOLTE) && !hasVideoStream ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
64
64
  var isHost = ownerRoleType === _fcrCore.FcrUserRole.HOST;
65
65
  var audioDeviceType = isPhone ? 'phone-mic' : 'computer-mic';
66
66
  var userData = {
@@ -9,7 +9,6 @@ require("core-js/modules/es.array.find.js");
9
9
  require("core-js/modules/es.object.to-string.js");
10
10
  require("core-js/modules/esnext.iterator.constructor.js");
11
11
  require("core-js/modules/esnext.iterator.find.js");
12
- var _fcrCore = require("fcr-core");
13
12
  var _provider = require("./provider");
14
13
  var _index = require("./components/layout/index");
15
14
  var _moreActions = require("./components/more-actions");
@@ -45,12 +44,6 @@ var MemberWindowActions = exports.MemberWindowActions = function MemberWindowAct
45
44
  hasMutePermission = _ref.hasMutePermission,
46
45
  hasUnmutePermission = _ref.hasUnmutePermission,
47
46
  hasRequestStartAudioPermission = _ref.hasRequestStartAudioPermission;
48
- var audioStreamConnectorType = windowData.audioStreamConnectorType,
49
- videoStreamConnectorType = windowData.videoStreamConnectorType,
50
- hasMicrophoneAudioStream = windowData.hasMicrophoneAudioStream,
51
- phoneMicEnabled = windowData.phoneMicEnabled;
52
- var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
53
- var hideAudioConnectIcon = !!(connectorType === _fcrCore.FcrRoomConnectorType.NONE ? hasMicrophoneAudioStream : connectorType === _fcrCore.FcrRoomConnectorType.PSTN ? phoneMicEnabled : false);
54
47
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_provider.MemberWindowActionsProvider, {
55
48
  windowData: windowData,
56
49
  sendParticipantEvent: sendParticipantEvent,
@@ -303,7 +303,7 @@ var MemberWindowActionsStore = exports.MemberWindowActionsStore = /*#__PURE__*/f
303
303
  }, {
304
304
  key: "isPhone",
305
305
  get: function get() {
306
- return this.connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
306
+ return this.connectorType === _fcrCore.FcrRoomConnectorType.PSTN || this.connectorType === _fcrCore.FcrRoomConnectorType.VOLTE;
307
307
  }
308
308
  }, {
309
309
  key: "isInterpreter",
@@ -88,7 +88,7 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
88
88
  avatar = windowData.avatar;
89
89
  var t = (0, _i18n.useI18n)();
90
90
  var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
91
- var isPhone = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN;
91
+ var isPhone = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN || audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.VOLTE;
92
92
  var isPhoneOnlyAudio = isPhone && !videoStreamId;
93
93
  var isMeeting = meetingConnectorTypes.has(connectorType);
94
94
  var suffixedName = userName + (isMySelf ? t('fmt_attendies_labels_setting_mine') : '');
@@ -6,7 +6,7 @@
6
6
  }
7
7
 
8
8
  .fcr-tabs-frame-tabs {
9
- padding: 9px 0;
9
+ padding: 6px 0;
10
10
  display: flex;
11
11
  justify-content: center;
12
12
  -webkit-app-region: drag;
@@ -38,3 +38,14 @@
38
38
  justify-content: center;
39
39
  padding: 0px 12px 12px 12px;
40
40
  }
41
+
42
+ .fcr-tabs-frame-tabs-single {
43
+ font-weight: 600;
44
+ font-size: 14px;
45
+ line-height: 20px;
46
+ color: var(--fcr_ui_scene_icontext1);
47
+ height: 34px;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ }
@@ -36,7 +36,7 @@ function FcrDialogTabFrame(props) {
36
36
  className: "fcr-tabs-frame-tabs"
37
37
  // {...bind?.()}
38
38
  ,
39
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tabs.FcrTabs, {
39
+ children: tabs.length > 1 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tabs.FcrTabs, {
40
40
  activeKey: currentKey,
41
41
  items: tabs,
42
42
  onChange: function onChange(key) {
@@ -45,6 +45,9 @@ function FcrDialogTabFrame(props) {
45
45
  return tab.key === key;
46
46
  })) === null || _tabs$find === void 0 ? void 0 : _tabs$find.content) && setCurrentKey(key);
47
47
  }
48
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
49
+ className: "fcr-tabs-frame-tabs-single",
50
+ children: tabs[0].label
48
51
  })
49
52
  }), tabs.map(function (_ref) {
50
53
  var key = _ref.key,