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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/lib/base.js +0 -3
  2. package/lib/creator.js +25 -26
  3. package/lib/electron/app.js +31 -13
  4. package/lib/electron/bootstrap-dev.js +2 -3
  5. package/lib/electron/bootstrap-sdk.js +4 -10
  6. package/lib/electron/exit-codes.d.ts +14 -0
  7. package/lib/electron/exit-codes.js +22 -0
  8. package/lib/electron/injections.js +117 -118
  9. package/lib/electron/ipc/ipc.js +0 -1
  10. package/lib/electron/main.js +44 -3
  11. package/lib/electron/tools.js +0 -4
  12. package/lib/electron/window.js +1 -4
  13. package/lib/fragments/annotation/index.js +1 -2
  14. package/lib/fragments/annotation/store.js +47 -48
  15. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  16. package/lib/modules/action-bar/components/apps/app-list.js +2 -5
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
  18. package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
  19. package/lib/modules/action-bar/components/collapse/index.js +0 -4
  20. package/lib/modules/action-bar/components/item/index.js +0 -2
  21. package/lib/modules/action-bar/components/leave/index.js +0 -2
  22. package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
  23. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
  24. package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
  25. package/lib/modules/action-bar/components/screen-share/index.js +0 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
  27. package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
  28. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
  29. package/lib/modules/action-bar/index.js +1 -2
  30. package/lib/modules/action-bar/store.js +32 -36
  31. package/lib/modules/annotation/components/control-bar/index.js +3 -2
  32. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
  33. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +2 -1
  34. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
  35. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
  36. package/lib/modules/annotation/components/toolbar/store.js +0 -1
  37. package/lib/modules/annotation/index.d.ts +2 -0
  38. package/lib/modules/annotation/index.js +2 -1
  39. package/lib/modules/annotation/store.d.ts +5 -3
  40. package/lib/modules/annotation/store.js +35 -43
  41. package/lib/modules/audio-stream/index.js +0 -4
  42. package/lib/modules/chat/chat-room-store.js +6 -10
  43. package/lib/modules/chat/components/chat-bar/index.js +0 -2
  44. package/lib/modules/chat/components/chat-select/index.js +0 -1
  45. package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
  46. package/lib/modules/chat/components/message-list/index.js +1 -3
  47. package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
  48. package/lib/modules/chat/index.js +13 -14
  49. package/lib/modules/chat/store.js +0 -1
  50. package/lib/modules/chat/view.js +11 -15
  51. package/lib/modules/components/annotation-menu/index.js +0 -3
  52. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
  53. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  54. package/lib/modules/components/device-control/store.js +0 -1
  55. package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
  56. package/lib/modules/components/leave-meeting/store.js +11 -12
  57. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
  58. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  59. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -3
  60. package/lib/modules/components/member-window/components/member-actions/index.js +0 -1
  61. package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
  62. package/lib/modules/components/member-window/components/member-actions/store.js +20 -20
  63. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
  64. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
  65. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  66. package/lib/modules/components/member-window/components/video-player/index.js +3 -3
  67. package/lib/modules/components/member-window/index.js +1 -0
  68. package/lib/modules/components/security-menu/index.js +1 -4
  69. package/lib/modules/components/tab-frame/index.js +0 -4
  70. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  71. package/lib/modules/connection-gateway/components/phone/index.js +5 -4
  72. package/lib/modules/connection-gateway/index.js +1 -2
  73. package/lib/modules/connection-gateway/store.js +23 -26
  74. package/lib/modules/control-bar/components/more-actions/index.js +0 -3
  75. package/lib/modules/control-bar/index.js +1 -2
  76. package/lib/modules/control-bar/store.d.ts +1 -0
  77. package/lib/modules/control-bar/store.js +8 -2
  78. package/lib/modules/control-bar/view.js +9 -11
  79. package/lib/modules/device-pretest/settings/beauty.js +1 -2
  80. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  81. package/lib/modules/device-pretest/store.js +2 -4
  82. package/lib/modules/dialog/components/control-bar/index.js +3 -3
  83. package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
  84. package/lib/modules/dialog/components/dialog-container/index.js +1 -2
  85. package/lib/modules/dialog/components/host-area-container/index.js +0 -3
  86. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
  87. package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
  88. package/lib/modules/dialog/components/system-preference/index.js +2 -5
  89. package/lib/modules/dialog/components/video-window/index.js +0 -2
  90. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
  91. package/lib/modules/dialog/hooks/useElectron.js +0 -2
  92. package/lib/modules/dialog/index.js +1 -3
  93. package/lib/modules/dialog/store.js +1 -5
  94. package/lib/modules/dialog/view.js +2 -1
  95. package/lib/modules/event-confirm/components/window/index.js +0 -2
  96. package/lib/modules/event-confirm/index.js +1 -2
  97. package/lib/modules/event-confirm/store.js +4 -7
  98. package/lib/modules/event-confirm/view.js +2 -1
  99. package/lib/modules/event-sound/index.js +1 -2
  100. package/lib/modules/event-sound/sound-effect-player.js +2 -2
  101. package/lib/modules/event-toast/index.js +1 -2
  102. package/lib/modules/event-toast/store.js +0 -2
  103. package/lib/modules/event-toast/view.js +2 -1
  104. package/lib/modules/interpreter/index.js +1 -2
  105. package/lib/modules/interpreter/interpreter-list/index.js +3 -4
  106. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
  107. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  108. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
  109. package/lib/modules/interpreter/store.js +5 -10
  110. package/lib/modules/interpreter/utils.js +15 -14
  111. package/lib/modules/invite/components/pstn-invite.js +22 -23
  112. package/lib/modules/invite/components/voip-invite.js +7 -7
  113. package/lib/modules/invite/enums.js +1 -0
  114. package/lib/modules/invite/index.js +1 -2
  115. package/lib/modules/invite/store.js +46 -45
  116. package/lib/modules/layout/components/CommonVideoRenderer.js +2 -1
  117. package/lib/modules/layout/components/Gallery.js +5 -3
  118. package/lib/modules/layout/components/index.js +0 -1
  119. package/lib/modules/layout/index.js +1 -2
  120. package/lib/modules/layout/store.d.ts +3 -0
  121. package/lib/modules/layout/store.js +38 -14
  122. package/lib/modules/layout/type.js +9 -0
  123. package/lib/modules/live-streaming/index.dev.js +6 -6
  124. package/lib/modules/live-streaming/index.js +1 -2
  125. package/lib/modules/live-streaming/store.js +19 -19
  126. package/lib/modules/notification/index.js +1 -2
  127. package/lib/modules/notification/interpreter-status/index.js +2 -1
  128. package/lib/modules/notification/view.js +1 -2
  129. package/lib/modules/offscreen-pulling/index.js +0 -1
  130. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
  131. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
  132. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
  133. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
  134. package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
  135. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
  136. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
  137. package/lib/modules/participant/index.js +1 -4
  138. package/lib/modules/participant/member-list-data-source.js +0 -3
  139. package/lib/modules/participant/store.js +81 -86
  140. package/lib/modules/pc-audio-connect/index.js +1 -2
  141. package/lib/modules/pc-audio-connect/store.js +9 -10
  142. package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
  143. package/lib/modules/phone-audio-connect/index.js +1 -2
  144. package/lib/modules/phone-audio-connect/store.js +0 -3
  145. package/lib/modules/phone-audio-connect/view.js +5 -4
  146. package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
  147. package/lib/modules/setting/general-settings/general-settings.js +1 -2
  148. package/lib/modules/setting/index.js +1 -2
  149. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
  150. package/lib/modules/setting/state/index.js +0 -4
  151. package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
  152. package/lib/modules/setting/store.js +11 -15
  153. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  154. package/lib/modules/setting/video-settings/video-settings.js +1 -2
  155. package/lib/modules/setting/view.js +1 -2
  156. package/lib/modules/share-screen/components/selection/index.js +16 -9
  157. package/lib/modules/share-screen/index.d.ts +2 -0
  158. package/lib/modules/share-screen/index.js +3 -3
  159. package/lib/modules/share-screen/store.d.ts +9 -2
  160. package/lib/modules/share-screen/store.js +97 -93
  161. package/lib/modules/state-bar/index.js +1 -2
  162. package/lib/modules/state-bar/layout-config.js +2 -1
  163. package/lib/modules/state-bar/live-streaming-state.js +0 -3
  164. package/lib/modules/state-bar/store.js +0 -1
  165. package/lib/modules/video-window/components/members/index.js +2 -1
  166. package/lib/modules/video-window/components/topControl/index.js +0 -3
  167. package/lib/modules/video-window/index.js +1 -2
  168. package/lib/modules/video-window/store.js +0 -4
  169. package/lib/modules/waiting-room-layout/index.js +1 -2
  170. package/lib/modules/whiteboard/components/control-bar/store.js +0 -1
  171. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  172. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  174. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  175. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
  176. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
  177. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  178. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
  179. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
  180. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
  181. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  182. package/lib/modules/whiteboard/components/toolbar/store.js +12 -11
  183. package/lib/modules/whiteboard/index.js +2 -6
  184. package/lib/modules/whiteboard/style.css +12 -0
  185. package/lib/modules/whiteboard/view.js +2 -0
  186. package/lib/modules/widget/index.js +1 -2
  187. package/lib/modules/widget/web-widget.js +1 -1
  188. package/lib/plugins/browser-runtime-plugin.js +1 -1
  189. package/lib/plugins/module-dev-plugin.js +13 -13
  190. package/lib/providers/ability-provider.d.ts +12 -1
  191. package/lib/providers/ability-provider.js +8 -1
  192. package/lib/providers/annotation-provider.js +7 -11
  193. package/lib/providers/device-privilege-provider.js +81 -83
  194. package/lib/providers/device-provider.js +193 -198
  195. package/lib/providers/device-stream-provider.js +24 -27
  196. package/lib/providers/event-provider.js +0 -2
  197. package/lib/providers/interpreter-provider.js +195 -197
  198. package/lib/providers/message-provider.js +0 -2
  199. package/lib/providers/phone-audio-provider.js +17 -19
  200. package/lib/providers/privilege-provider.js +53 -58
  201. package/lib/providers/renderer-provider.d.ts +3 -1
  202. package/lib/providers/renderer-provider.js +18 -4
  203. package/lib/providers/room-provider.js +31 -33
  204. package/lib/providers/screen-share-provider.d.ts +1 -0
  205. package/lib/providers/screen-share-provider.js +66 -65
  206. package/lib/providers/sharing-provider.js +2 -1
  207. package/lib/providers/user-setting-storage-provider.js +0 -2
  208. package/lib/providers/widget-provider.js +0 -1
  209. package/lib/scenes/main-scene.js +11 -13
  210. package/lib/scenes/waiting-scene.js +3 -3
  211. package/lib/shared-data-source/chat-data.js +0 -2
  212. package/lib/shared-data-source/interpreter.js +0 -2
  213. package/lib/shared-data-source/layout-data.js +1 -4
  214. package/lib/shared-data-source/member-data.js +0 -4
  215. package/lib/shared-data-source/pin-data.js +0 -1
  216. package/lib/shared-data-source/screen-share-data.d.ts +2 -2
  217. package/lib/shared-data-source/screen-share-data.js +1 -2
  218. package/lib/shared-data-source/security-data.js +0 -1
  219. package/lib/shared-data-source/setting.js +0 -2
  220. package/lib/shared-data-source/video-window.js +26 -30
  221. package/lib/shared-data-source/waiting-room.js +0 -2
  222. package/lib/type.js +14 -0
  223. package/lib/ui-scene.js +7 -8
  224. package/lib/utilities/constant.js +7 -0
  225. package/lib/utilities/copyText.js +12 -12
  226. package/lib/utilities/hooks.js +1 -2
  227. package/lib/utilities/logger.js +0 -1
  228. package/lib/utilities/parameters.js +2 -2
  229. package/lib/utilities/privilege.js +0 -3
  230. package/lib/utilities/renderer-event.js +0 -2
  231. package/lib/utilities/setting-config-storage.d.ts +2 -0
  232. package/lib/utilities/setting-config-storage.js +24 -4
  233. package/lib/utilities/tools.js +6 -10
  234. package/lib/waiting-room-control-manager.js +26 -28
  235. package/package.json +5 -5
@@ -45,10 +45,6 @@ require("core-js/modules/es.object.assign.js");
45
45
  require("core-js/modules/es.object.to-string.js");
46
46
  require("core-js/modules/es.string.iterator.js");
47
47
  require("core-js/modules/es.weak-map.js");
48
- require("core-js/modules/esnext.async-iterator.filter.js");
49
- require("core-js/modules/esnext.async-iterator.find.js");
50
- require("core-js/modules/esnext.async-iterator.for-each.js");
51
- require("core-js/modules/esnext.async-iterator.some.js");
52
48
  require("core-js/modules/esnext.iterator.constructor.js");
53
49
  require("core-js/modules/esnext.iterator.filter.js");
54
50
  require("core-js/modules/esnext.iterator.find.js");
@@ -327,20 +323,20 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
327
323
  }, {
328
324
  key: "userName",
329
325
  get: function get() {
330
- var _this$_videoStream10, _this$_audioStream5, _this$_boardUserInfo2;
331
- return ((_this$_videoStream10 = this._videoStream) === null || _this$_videoStream10 === void 0 ? void 0 : _this$_videoStream10.owner.userName) || ((_this$_audioStream5 = this._audioStream) === null || _this$_audioStream5 === void 0 ? void 0 : _this$_audioStream5.owner.userName) || ((_this$_boardUserInfo2 = this._boardUserInfo) === null || _this$_boardUserInfo2 === void 0 ? void 0 : _this$_boardUserInfo2.userName) || '';
326
+ var _this$_videoStream0, _this$_audioStream5, _this$_boardUserInfo2;
327
+ return ((_this$_videoStream0 = this._videoStream) === null || _this$_videoStream0 === void 0 ? void 0 : _this$_videoStream0.owner.userName) || ((_this$_audioStream5 = this._audioStream) === null || _this$_audioStream5 === void 0 ? void 0 : _this$_audioStream5.owner.userName) || ((_this$_boardUserInfo2 = this._boardUserInfo) === null || _this$_boardUserInfo2 === void 0 ? void 0 : _this$_boardUserInfo2.userName) || '';
332
328
  }
333
329
  }, {
334
330
  key: "ownerRoleType",
335
331
  get: function get() {
336
- var _this$_videoStream11, _this$_audioStream6, _this$_boardUserInfo3;
337
- return ((_this$_videoStream11 = this._videoStream) === null || _this$_videoStream11 === void 0 ? void 0 : _this$_videoStream11.owner.userRole) || ((_this$_audioStream6 = this._audioStream) === null || _this$_audioStream6 === void 0 ? void 0 : _this$_audioStream6.owner.userRole) || ((_this$_boardUserInfo3 = this._boardUserInfo) === null || _this$_boardUserInfo3 === void 0 ? void 0 : _this$_boardUserInfo3.userRole) || _type2.FcrUserRole.AUDIENCE;
332
+ var _this$_videoStream1, _this$_audioStream6, _this$_boardUserInfo3;
333
+ return ((_this$_videoStream1 = this._videoStream) === null || _this$_videoStream1 === void 0 ? void 0 : _this$_videoStream1.owner.userRole) || ((_this$_audioStream6 = this._audioStream) === null || _this$_audioStream6 === void 0 ? void 0 : _this$_audioStream6.owner.userRole) || ((_this$_boardUserInfo3 = this._boardUserInfo) === null || _this$_boardUserInfo3 === void 0 ? void 0 : _this$_boardUserInfo3.userRole) || _type2.FcrUserRole.AUDIENCE;
338
334
  }
339
335
  }, {
340
336
  key: "videoSourceType",
341
337
  get: function get() {
342
- var _this$_videoStream12;
343
- return ((_this$_videoStream12 = this._videoStream) === null || _this$_videoStream12 === void 0 ? void 0 : _this$_videoStream12.videoSourceType) || _fcrCore.FcrVideoSourceType.CAMERA;
338
+ var _this$_videoStream10;
339
+ return ((_this$_videoStream10 = this._videoStream) === null || _this$_videoStream10 === void 0 ? void 0 : _this$_videoStream10.videoSourceType) || _fcrCore.FcrVideoSourceType.CAMERA;
344
340
  }
345
341
  }, {
346
342
  key: "audioSourceType",
@@ -357,11 +353,11 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
357
353
  key: "sortingPriority",
358
354
  get: function get() {
359
355
  if (this._placement === 'main-list') {
360
- var _this$_videoStream13;
356
+ var _this$_videoStream11;
361
357
  if (this.type === _type.FcrUIWindowType.BOARD && this._boardCanEdit) {
362
358
  return _type.FcrUIVideoWindowMainSortingPriority.HIGHEST;
363
359
  }
364
- if (this.isPin || ((_this$_videoStream13 = this._videoStream) === null || _this$_videoStream13 === void 0 ? void 0 : _this$_videoStream13.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN || this.type === _type.FcrUIWindowType.BOARD) {
360
+ if (this.isPin || ((_this$_videoStream11 = this._videoStream) === null || _this$_videoStream11 === void 0 ? void 0 : _this$_videoStream11.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN || this.type === _type.FcrUIWindowType.BOARD) {
365
361
  return _type.FcrUIVideoWindowMainSortingPriority.FOCUS;
366
362
  }
367
363
  if (this.isSpeakerSpotlight) {
@@ -390,14 +386,14 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
390
386
  // return FcrUIVideoWindowMainSortingPriority.MICROPHONE_OPEN;
391
387
  // }
392
388
  } else {
393
- var _this$_videoStream14;
389
+ var _this$_videoStream12;
394
390
  if (this.isSpeakerSpotlight) {
395
391
  return _type.FcrUIVideoWindowFoldSortingPriority.FOCUS;
396
392
  }
397
393
  if (this.isPin) {
398
394
  return _type.FcrUIVideoWindowFoldSortingPriority.PIN;
399
395
  }
400
- if (((_this$_videoStream14 = this._videoStream) === null || _this$_videoStream14 === void 0 ? void 0 : _this$_videoStream14.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
396
+ if (((_this$_videoStream12 = this._videoStream) === null || _this$_videoStream12 === void 0 ? void 0 : _this$_videoStream12.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
401
397
  return _type.FcrUIVideoWindowFoldSortingPriority.SCREEN_SHARING_STREAM;
402
398
  }
403
399
  if (this.hasScreenSharing) {
@@ -994,7 +990,7 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
994
990
  }, {
995
991
  key: "_syncHasScreenSharing",
996
992
  value: function _syncHasScreenSharing(enable, hasBoardSharing, userId, list, limitCount, placement) {
997
- var _this10 = this;
993
+ var _this0 = this;
998
994
  if (enable) {
999
995
  list.forEach(function (item, index) {
1000
996
  if (item.userId === userId) {
@@ -1003,10 +999,10 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
1003
999
  item.setHasScreenSharing(enable);
1004
1000
  item.setHasBoardSharing(hasBoardSharing);
1005
1001
  if (item.sortingPriority !== originalPriority) {
1006
- itemIndex = _this10._insertByPriority(item, list, limitCount);
1002
+ itemIndex = _this0._insertByPriority(item, list, limitCount);
1007
1003
  }
1008
- _this10._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', itemIndex);
1009
- var hasLoopbackAudioStream = _this10 === null || _this10 === void 0 ? void 0 : _this10.mainList.some(function (item) {
1004
+ _this0._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', itemIndex);
1005
+ var hasLoopbackAudioStream = _this0 === null || _this0 === void 0 ? void 0 : _this0.mainList.some(function (item) {
1010
1006
  return item.userId === userId && item.hasScreenSharing && item.hasLoopbackAudioStream;
1011
1007
  });
1012
1008
  item.setHasLoopbackSharing(hasLoopbackAudioStream);
@@ -1021,8 +1017,8 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
1021
1017
  if (item.userId === userId) {
1022
1018
  item.setHasScreenSharing(enable);
1023
1019
  item.setHasBoardSharing(hasBoardSharing);
1024
- var index = _this10._insertByPriority(item, list, limitCount);
1025
- _this10._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
1020
+ var index = _this0._insertByPriority(item, list, limitCount);
1021
+ _this0._observer.notifyObservers(placement === 'main-list' ? 'onMainListUpdated' : 'onFoldListUpdated', index);
1026
1022
  }
1027
1023
  });
1028
1024
  }
@@ -1177,23 +1173,23 @@ var FcrUISpeakerSpotlightPool = exports.FcrUISpeakerSpotlightPool = /*#__PURE__*
1177
1173
  }, {
1178
1174
  key: "_scan",
1179
1175
  value: function _scan() {
1180
- var _this11 = this;
1176
+ var _this1 = this;
1181
1177
  if (this._timer) {
1182
1178
  window.clearInterval(this._timer);
1183
1179
  this._timer = null;
1184
1180
  }
1185
1181
  this._timer = window.setInterval(function () {
1186
1182
  var now = Date.now();
1187
- var _iterator = _createForOfIteratorHelper(_this11.streams),
1183
+ var _iterator = _createForOfIteratorHelper(_this1.streams),
1188
1184
  _step;
1189
1185
  try {
1190
1186
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
1191
1187
  var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
1192
1188
  _streamId2 = _step$value[0],
1193
1189
  time = _step$value[1];
1194
- if (now - time - _this11.duration * 1000 >= 0) {
1195
- _this11.streams["delete"](_streamId2);
1196
- _this11._observer.notifyObservers('onRemoved', _streamId2);
1190
+ if (now - time - _this1.duration * 1000 >= 0) {
1191
+ _this1.streams["delete"](_streamId2);
1192
+ _this1._observer.notifyObservers('onRemoved', _streamId2);
1197
1193
  }
1198
1194
  }
1199
1195
  } catch (err) {
@@ -1201,18 +1197,18 @@ var FcrUISpeakerSpotlightPool = exports.FcrUISpeakerSpotlightPool = /*#__PURE__*
1201
1197
  } finally {
1202
1198
  _iterator.f();
1203
1199
  }
1204
- if (_this11.streams.size === 0) {
1205
- _this11._timer && window.clearInterval(_this11._timer);
1206
- _this11._timer = null;
1200
+ if (_this1.streams.size === 0) {
1201
+ _this1._timer && window.clearInterval(_this1._timer);
1202
+ _this1._timer = null;
1207
1203
  }
1208
1204
  }, 1000);
1209
1205
  }
1210
1206
  }, {
1211
1207
  key: "clear",
1212
1208
  value: function clear() {
1213
- var _this12 = this;
1209
+ var _this10 = this;
1214
1210
  this.streams.forEach(function (_, streamId) {
1215
- _this12._observer.notifyObservers('onRemoved', streamId);
1211
+ _this10._observer.notifyObservers('onRemoved', streamId);
1216
1212
  });
1217
1213
  this.streams.clear();
1218
1214
  if (this._timer) {
@@ -46,8 +46,6 @@ require("core-js/modules/es.object.to-string.js");
46
46
  require("core-js/modules/es.string.includes.js");
47
47
  require("core-js/modules/es.string.iterator.js");
48
48
  require("core-js/modules/es.weak-map.js");
49
- require("core-js/modules/esnext.async-iterator.filter.js");
50
- require("core-js/modules/esnext.async-iterator.for-each.js");
51
49
  require("core-js/modules/esnext.iterator.constructor.js");
52
50
  require("core-js/modules/esnext.iterator.filter.js");
53
51
  require("core-js/modules/esnext.iterator.for-each.js");
package/lib/type.js CHANGED
@@ -30,9 +30,21 @@ var _fcrCore = require("fcr-core");
30
30
  * FcrUIExitReason enum represents the reason for exiting a UI scene.
31
31
  */
32
32
  var FcrUIExitReason = exports.FcrUIExitReason = /*#__PURE__*/function (FcrUIExitReason) {
33
+ /**
34
+ * The user leaves the room.
35
+ */
33
36
  FcrUIExitReason["LEAVE_ROOM"] = "LEAVE_ROOM";
37
+ /**
38
+ * The user leaves the room due to the room being closed.
39
+ */
34
40
  FcrUIExitReason["CLOSE_ROOM"] = "CLOSE_ROOM";
41
+ /**
42
+ * The user is kicked out of the room.
43
+ */
35
44
  FcrUIExitReason["KICKED_OUT"] = "KICKED_OUT";
45
+ /**
46
+ * The user failed to join the room due to various reasons such as User ID conflict.
47
+ */
36
48
  FcrUIExitReason["ABORTED"] = "ABORTED";
37
49
  return FcrUIExitReason;
38
50
  }({});
@@ -75,7 +87,9 @@ var FcrUINotificationContentType = exports.FcrUINotificationContentType = /*#__P
75
87
  return FcrUINotificationContentType;
76
88
  }({});
77
89
  var FcrUIVideoWindowLayoutType = exports.FcrUIVideoWindowLayoutType = /*#__PURE__*/function (FcrUIVideoWindowLayoutType) {
90
+ /** Show a carousel on top and a big video on the rest of the screen. */
78
91
  FcrUIVideoWindowLayoutType["Speaker"] = "speaker";
92
+ /** Show videos in grid, filling the screen. */
79
93
  FcrUIVideoWindowLayoutType["Gallery"] = "gallery";
80
94
  return FcrUIVideoWindowLayoutType;
81
95
  }({});
package/lib/ui-scene.js CHANGED
@@ -46,7 +46,6 @@ require("core-js/modules/es.number.constructor.js");
46
46
  require("core-js/modules/es.object.to-string.js");
47
47
  require("core-js/modules/es.promise.js");
48
48
  require("core-js/modules/es.promise.finally.js");
49
- require("core-js/modules/esnext.async-iterator.for-each.js");
50
49
  require("core-js/modules/esnext.iterator.constructor.js");
51
50
  require("core-js/modules/esnext.iterator.for-each.js");
52
51
  require("core-js/modules/web.dom-collections.for-each.js");
@@ -405,7 +404,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
405
404
  var _joinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine, roomControl, deviceProvider, joinRoomCallback) {
406
405
  var _this4 = this;
407
406
  var p;
408
- return _regenerator["default"].wrap(function _callee2$(_context2) {
407
+ return _regenerator["default"].wrap(function (_context2) {
409
408
  while (1) switch (_context2.prev = _context2.next) {
410
409
  case 0:
411
410
  p = engine.login().then(function () {
@@ -414,12 +413,12 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
414
413
  return roomControl.handleJoinRoom();
415
414
  }).then(/*#__PURE__*/function () {
416
415
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(response) {
417
- return _regenerator["default"].wrap(function _callee$(_context) {
416
+ return _regenerator["default"].wrap(function (_context) {
418
417
  while (1) switch (_context.prev = _context.next) {
419
418
  case 0:
420
419
  joinRoomCallback();
421
420
  return _context.abrupt("return", response);
422
- case 2:
421
+ case 1:
423
422
  case "end":
424
423
  return _context.stop();
425
424
  }
@@ -435,7 +434,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
435
434
  _this4._observable.notifyObservers('onLaunchFailure', _this4._config.roomId, e);
436
435
  });
437
436
  return _context2.abrupt("return", p);
438
- case 3:
437
+ case 1:
439
438
  case "end":
440
439
  return _context2.stop();
441
440
  }
@@ -452,7 +451,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
452
451
  var _renderSceneUI2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource) {
453
452
  var _roomControl$getRoomI;
454
453
  var type;
455
- return _regenerator["default"].wrap(function _callee3$(_context3) {
454
+ return _regenerator["default"].wrap(function (_context3) {
456
455
  while (1) switch (_context3.prev = _context3.next) {
457
456
  case 0:
458
457
  type = (_roomControl$getRoomI = roomControl.getRoomInfo()) === null || _roomControl$getRoomI === void 0 ? void 0 : _roomControl$getRoomI.roomType;
@@ -467,13 +466,13 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
467
466
  } else {
468
467
  this._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource));
469
468
  }
470
- case 2:
469
+ case 1:
471
470
  case "end":
472
471
  return _context3.stop();
473
472
  }
474
473
  }, _callee3, this);
475
474
  }));
476
- function _renderSceneUI(_x6, _x7, _x8, _x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19, _x20, _x21) {
475
+ function _renderSceneUI(_x6, _x7, _x8, _x9, _x0, _x1, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19) {
477
476
  return _renderSceneUI2.apply(this, arguments);
478
477
  }
479
478
  return _renderSceneUI;
@@ -6,7 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.FcrUIVideoWindowPinType = exports.FcrUIRoomControlType = exports.FcrUIRendererEventAction = exports.FcrUIParticipantType = exports.FcrUIHighlightElement = exports.FcrUIDialogKey = exports.FcrUIAction = void 0;
8
8
  var FcrUIRendererEventAction = exports.FcrUIRendererEventAction = /*#__PURE__*/function (FcrUIRendererEventAction) {
9
+ /**
10
+ * Indicates that the fragment has been loaded.
11
+ */
9
12
  FcrUIRendererEventAction["FRAGMENT_LOADED"] = "FRAGMENT_LOADED";
13
+ /**
14
+ * Indicates that the fragment has been closed.
15
+ */
10
16
  FcrUIRendererEventAction["FRAGMENT_CLOSED"] = "FRAGMENT_CLOSED";
11
17
  FcrUIRendererEventAction["POWER_MONITOR_LOCK_SCREEN"] = "POWER_MONITOR_LOCK_SCREEN";
12
18
  FcrUIRendererEventAction["POWER_MONITOR_SUSPEND"] = "POWER_MONITOR_SUSPEND";
@@ -74,6 +80,7 @@ var FcrUIAction = exports.FcrUIAction = /*#__PURE__*/function (FcrUIAction) {
74
80
  FcrUIAction[FcrUIAction["START_SHARE_SCREEN"] = 6] = "START_SHARE_SCREEN";
75
81
  FcrUIAction[FcrUIAction["STOP_SHARE_SCREEN"] = 7] = "STOP_SHARE_SCREEN";
76
82
  FcrUIAction[FcrUIAction["TOGGLE_LAYOUT"] = 8] = "TOGGLE_LAYOUT";
83
+ // LAYOUT_CHANGED,
77
84
  FcrUIAction[FcrUIAction["SET_MAIN_SPEAKER"] = 9] = "SET_MAIN_SPEAKER";
78
85
  FcrUIAction[FcrUIAction["OPEN_DEVICE_SETTING"] = 10] = "OPEN_DEVICE_SETTING";
79
86
  FcrUIAction[FcrUIAction["OPEN_DEVICE_SETTING_DIALOG"] = 11] = "OPEN_DEVICE_SETTING_DIALOG";
@@ -13,24 +13,24 @@ function copyText(_x) {
13
13
  }
14
14
  function _copyText() {
15
15
  _copyText = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
16
- var textarea;
17
- return _regenerator["default"].wrap(function _callee$(_context) {
16
+ var textarea, _t;
17
+ return _regenerator["default"].wrap(function (_context) {
18
18
  while (1) switch (_context.prev = _context.next) {
19
19
  case 0:
20
20
  if (!('clipboard' in navigator)) {
21
- _context.next = 10;
21
+ _context.next = 4;
22
22
  break;
23
23
  }
24
24
  _context.prev = 1;
25
- _context.next = 4;
25
+ _context.next = 2;
26
26
  return navigator.clipboard.writeText(text);
27
- case 4:
27
+ case 2:
28
28
  return _context.abrupt("return");
29
- case 7:
30
- _context.prev = 7;
31
- _context.t0 = _context["catch"](1);
32
- console.error('navigator.clipboard.writeText catch error:', _context.t0);
33
- case 10:
29
+ case 3:
30
+ _context.prev = 3;
31
+ _t = _context["catch"](1);
32
+ console.error('navigator.clipboard.writeText catch error:', _t);
33
+ case 4:
34
34
  textarea = document.createElement('textarea');
35
35
  textarea.setAttribute('readonly', 'readonly');
36
36
  textarea.value = text;
@@ -38,11 +38,11 @@ function _copyText() {
38
38
  textarea.select();
39
39
  document.execCommand('copy');
40
40
  document.body.removeChild(textarea);
41
- case 17:
41
+ case 5:
42
42
  case "end":
43
43
  return _context.stop();
44
44
  }
45
- }, _callee, null, [[1, 7]]);
45
+ }, _callee, null, [[1, 3]]);
46
46
  }));
47
47
  return _copyText.apply(this, arguments);
48
48
  }
@@ -20,8 +20,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
20
20
  var _react = require("react");
21
21
  var _reactUseMeasure = _interopRequireDefault(require("react-use-measure"));
22
22
  var theme_ = _interopRequireWildcard(require("agora-ui-foundation/lib/theme/generate"));
23
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
25
24
  // FIXME: Files in 'lib' are commonjs modules.
26
25
  // There's no variable binding unless you reference the whole module.
27
26
 
@@ -8,7 +8,6 @@ exports.getLogger = exports.generateLogObserver = exports.createLogger = exports
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.object.to-string.js");
11
- require("core-js/modules/esnext.async-iterator.for-each.js");
12
11
  require("core-js/modules/esnext.iterator.constructor.js");
13
12
  require("core-js/modules/esnext.iterator.for-each.js");
14
13
  require("core-js/modules/web.dom-collections.for-each.js");
@@ -45,6 +45,6 @@ var getDualScreenVideoStreamConfig = exports.getDualScreenVideoStreamConfig = fu
45
45
  return parameters === null || parameters === void 0 || (_parameters$scene9 = parameters.scene) === null || _parameters$scene9 === void 0 ? void 0 : _parameters$scene9.dualScreenVideoStreamConfig;
46
46
  };
47
47
  var getStartScreenSharing = exports.getStartScreenSharing = function getStartScreenSharing(parameters) {
48
- var _parameters$scene10;
49
- return (0, _valueCheck.isTrueValue)(parameters === null || parameters === void 0 || (_parameters$scene10 = parameters.scene) === null || _parameters$scene10 === void 0 ? void 0 : _parameters$scene10.startScreenSharing);
48
+ var _parameters$scene0;
49
+ return (0, _valueCheck.isTrueValue)(parameters === null || parameters === void 0 || (_parameters$scene0 = parameters.scene) === null || _parameters$scene0 === void 0 ? void 0 : _parameters$scene0.startScreenSharing);
50
50
  };
@@ -10,11 +10,8 @@ require("core-js/modules/es.array.includes.js");
10
10
  require("core-js/modules/es.array.some.js");
11
11
  require("core-js/modules/es.object.to-string.js");
12
12
  require("core-js/modules/es.string.includes.js");
13
- require("core-js/modules/esnext.async-iterator.find.js");
14
- require("core-js/modules/esnext.async-iterator.some.js");
15
13
  require("core-js/modules/esnext.iterator.constructor.js");
16
14
  require("core-js/modules/esnext.iterator.find.js");
17
- require("core-js/modules/esnext.iterator.some.js");
18
15
  var hasPermissionWithTargetRoleEnabled = exports.hasPermissionWithTargetRoleEnabled = function hasPermissionWithTargetRoleEnabled(permissionInfos, action, targetRole) {
19
16
  var info = permissionInfos.find(function (permissionInfo) {
20
17
  var _permissionInfo$info;
@@ -11,8 +11,6 @@ require("core-js/modules/es.array.iterator.js");
11
11
  require("core-js/modules/es.object.to-string.js");
12
12
  require("core-js/modules/es.set.js");
13
13
  require("core-js/modules/es.string.iterator.js");
14
- require("core-js/modules/esnext.async-iterator.find.js");
15
- require("core-js/modules/esnext.async-iterator.for-each.js");
16
14
  require("core-js/modules/esnext.iterator.constructor.js");
17
15
  require("core-js/modules/esnext.iterator.find.js");
18
16
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -2,6 +2,7 @@ import { FcrUIMediaConfig, FcrUISettingConfig } from '../type';
2
2
  import { FcrUIUserSettingStorageProvider } from '../providers/user-setting-storage-provider';
3
3
  export declare const settingConfigStorageKey = "fcr-ui-setting-config";
4
4
  export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
5
+ protected logger: import("agora-foundation/lib/logger").Logger;
5
6
  private _settingConfig;
6
7
  private _userSettingStorageProvider;
7
8
  constructor({ userSettingStorageProvider, }: {
@@ -12,5 +13,6 @@ export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
12
13
  get setting(): import("../modules/setting/store").FcrUICustomSetting;
13
14
  private _initSettingConfig;
14
15
  private _setSettingConfig;
16
+ private _isMediaObject;
15
17
  private _createMediaProxy;
16
18
  }
@@ -9,8 +9,6 @@ require("core-js/modules/es.object.define-property.js");
9
9
  require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.to-string.js");
12
- require("core-js/modules/esnext.async-iterator.filter.js");
13
- require("core-js/modules/esnext.async-iterator.for-each.js");
14
12
  require("core-js/modules/esnext.iterator.constructor.js");
15
13
  require("core-js/modules/esnext.iterator.filter.js");
16
14
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -21,12 +19,15 @@ Object.defineProperty(exports, "__esModule", {
21
19
  });
22
20
  exports.settingConfigStorageKey = exports.FcrSettingConfigStorage = void 0;
23
21
  require("core-js/modules/es.object.keys.js");
22
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
24
23
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
24
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
26
25
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
26
  var _env = require("agora-foundation/lib/utilities/env");
28
27
  var _fcrCore = require("fcr-core");
29
28
  var _tools = require("./tools");
29
+ var _merge = _interopRequireDefault(require("lodash/merge"));
30
+ var _logger = require("../utilities/logger");
30
31
  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; }
31
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
33
  var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
@@ -34,6 +35,9 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
34
35
  function FcrSettingConfigStorage(_ref) {
35
36
  var userSettingStorageProvider = _ref.userSettingStorageProvider;
36
37
  (0, _classCallCheck2["default"])(this, FcrSettingConfigStorage);
38
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
39
+ prefix: 'FcrSettingConfigStorage'
40
+ }));
37
41
  (0, _defineProperty2["default"])(this, "_settingConfig", {
38
42
  media: {
39
43
  autoConnectAudio: true,
@@ -71,6 +75,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
71
75
  return this._settingConfig.media;
72
76
  },
73
77
  set: function set(media) {
78
+ this._isMediaObject(media);
74
79
  this._settingConfig.media = this._createMediaProxy(media);
75
80
  this._setSettingConfig(this._settingConfig);
76
81
  }
@@ -86,8 +91,9 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
86
91
  if (!settingConfig || Object.keys(settingConfig).length === 0) {
87
92
  this._userSettingStorageProvider.write(this._settingConfig);
88
93
  } else {
89
- this._settingConfig = settingConfig;
94
+ this._settingConfig = (0, _merge["default"])(this._settingConfig, settingConfig);
90
95
  }
96
+ this._isMediaObject(this._settingConfig.media);
91
97
  this._settingConfig.media = this._createMediaProxy(this._settingConfig.media);
92
98
  }
93
99
  }, {
@@ -96,6 +102,15 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
96
102
  this._settingConfig = settingConfig;
97
103
  this._userSettingStorageProvider.write(settingConfig);
98
104
  }
105
+ }, {
106
+ key: "_isMediaObject",
107
+ value: function _isMediaObject(media) {
108
+ var isMediaObject = media && (0, _typeof2["default"])(media) === 'object';
109
+ if (!isMediaObject) {
110
+ this.logger.error('media is not a valid object', media);
111
+ }
112
+ return isMediaObject;
113
+ }
99
114
  }, {
100
115
  key: "_createMediaProxy",
101
116
  value: function _createMediaProxy(media) {
@@ -107,7 +122,12 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
107
122
  return true;
108
123
  }
109
124
  };
110
- return new Proxy(media, handler);
125
+ var isMediaObject = this._isMediaObject(media);
126
+ return new Proxy(isMediaObject ? media : {
127
+ autoConnectAudio: true,
128
+ microphoneExpectedOff: true,
129
+ cameraExpectedOff: true
130
+ }, handler);
111
131
  }
112
132
  }]);
113
133
  }();
@@ -35,13 +35,9 @@ require("core-js/modules/es.string.ends-with.js");
35
35
  require("core-js/modules/es.string.match.js");
36
36
  require("core-js/modules/es.string.replace.js");
37
37
  require("core-js/modules/es.string.starts-with.js");
38
- require("core-js/modules/esnext.async-iterator.for-each.js");
39
- require("core-js/modules/esnext.async-iterator.map.js");
40
- require("core-js/modules/esnext.async-iterator.reduce.js");
41
38
  require("core-js/modules/esnext.iterator.constructor.js");
42
39
  require("core-js/modules/esnext.iterator.for-each.js");
43
40
  require("core-js/modules/esnext.iterator.map.js");
44
- require("core-js/modules/esnext.iterator.reduce.js");
45
41
  require("core-js/modules/web.dom-collections.for-each.js");
46
42
  require("core-js/modules/web.timers.js");
47
43
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -159,7 +155,7 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
159
155
  logger,
160
156
  startTs,
161
157
  _args2 = arguments;
162
- return _regenerator["default"].wrap(function _callee2$(_context2) {
158
+ return _regenerator["default"].wrap(function (_context2) {
163
159
  while (1) switch (_context2.prev = _context2.next) {
164
160
  case 0:
165
161
  intervalMs = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 100;
@@ -169,32 +165,32 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
169
165
  return _context2.abrupt("return", new Promise(function (resolve) {
170
166
  var task = _schedule.AgoraScheduler.shared.addPollingTask(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
171
167
  var isTrue;
172
- return _regenerator["default"].wrap(function _callee$(_context) {
168
+ return _regenerator["default"].wrap(function (_context) {
173
169
  while (1) switch (_context.prev = _context.next) {
174
170
  case 0:
175
171
  if (!(Date.now() - startTs > timeout)) {
176
- _context.next = 5;
172
+ _context.next = 1;
177
173
  break;
178
174
  }
179
175
  logger.warn("[wait-until] predict ".concat(memo, ": timeout"));
180
176
  task.stop();
181
177
  resolve();
182
178
  return _context.abrupt("return");
183
- case 5:
179
+ case 1:
184
180
  isTrue = prediction();
185
181
  logger.info("[wait-until] predict ".concat(memo, ": ").concat(isTrue));
186
182
  if (isTrue) {
187
183
  task.stop();
188
184
  resolve();
189
185
  }
190
- case 8:
186
+ case 2:
191
187
  case "end":
192
188
  return _context.stop();
193
189
  }
194
190
  }, _callee);
195
191
  })), intervalMs, false);
196
192
  }));
197
- case 5:
193
+ case 1:
198
194
  case "end":
199
195
  return _context2.stop();
200
196
  }