fcr-ui-scene 3.5.1 → 3.6.0

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 (379) hide show
  1. package/lib/creator.d.ts +14 -0
  2. package/lib/creator.js +239 -14
  3. package/lib/electron/app.js +0 -21
  4. package/lib/electron/bootstrap-sdk.js +136 -7
  5. package/lib/electron/injections.d.ts +19 -7
  6. package/lib/electron/injections.js +206 -77
  7. package/lib/electron/ipc/ipc.d.ts +26 -0
  8. package/lib/electron/ipc/ipc.js +137 -0
  9. package/lib/electron/ipc/type.d.ts +11 -0
  10. package/lib/electron/ipc/type.js +19 -0
  11. package/lib/electron/logger.js +1 -1
  12. package/lib/electron/main.js +1 -1
  13. package/lib/electron/plugins/meeting-state.d.ts +1 -0
  14. package/lib/electron/plugins/meeting-state.js +3 -3
  15. package/lib/electron/plugins/screenshot.js +2 -2
  16. package/lib/electron/preload.js +67 -5
  17. package/lib/electron/window.js +0 -2
  18. package/lib/global.css +21 -0
  19. package/lib/modules/action-bar/components/apps/index.js +1 -0
  20. package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
  21. package/lib/modules/action-bar/components/item/index.d.ts +2 -0
  22. package/lib/modules/action-bar/components/item/index.js +4 -2
  23. package/lib/modules/action-bar/components/leave/index.js +1 -0
  24. package/lib/modules/action-bar/components/more/index.js +1 -0
  25. package/lib/modules/action-bar/components/record/index.js +43 -106
  26. package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
  27. package/lib/modules/action-bar/components/record/popover.js +57 -0
  28. package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
  29. package/lib/modules/action-bar/components/screen-share/index.js +15 -3
  30. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  31. package/lib/modules/action-bar/components/security/index.js +2 -1
  32. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  33. package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
  34. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
  35. package/lib/modules/action-bar/index.css +3 -2
  36. package/lib/modules/action-bar/index.js +2 -1
  37. package/lib/modules/action-bar/store.d.ts +5 -0
  38. package/lib/modules/action-bar/store.js +30 -12
  39. package/lib/modules/action-bar/types.d.ts +1 -0
  40. package/lib/modules/chat/chat-room-store.js +1 -1
  41. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  42. package/lib/modules/chat/components/chat-bar/index.js +5 -3
  43. package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
  44. package/lib/modules/chat/components/message-list/index.js +1 -2
  45. package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
  46. package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
  47. package/lib/modules/chat/index.css +24 -0
  48. package/lib/modules/chat/view.js +13 -3
  49. package/lib/modules/components/device-control/components/carmera/index.js +4 -5
  50. package/lib/modules/components/device-control/components/microphone/index.js +4 -5
  51. package/lib/modules/components/device-control/index.css +6 -3
  52. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
  53. package/lib/modules/components/leave-meeting/components/index.css +35 -0
  54. package/lib/modules/components/leave-meeting/index.js +1 -0
  55. package/lib/modules/components/leave-meeting/store.js +25 -67
  56. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
  57. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -1
  58. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
  59. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  60. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
  61. package/lib/modules/components/member-window/components/member-actions/index.js +2 -2
  62. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +3 -14
  63. package/lib/modules/components/member-window/index.css +18 -7
  64. package/lib/modules/components/member-window/types.d.ts +1 -1
  65. package/lib/modules/components/security-menu/index.css +2 -2
  66. package/lib/modules/components/security-menu/index.js +80 -28
  67. package/lib/modules/components/tab-frame/index.css +1 -1
  68. package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
  69. package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
  70. package/lib/modules/control-bar/components/more-actions/index.js +3 -21
  71. package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
  72. package/lib/modules/control-bar/index.d.ts +2 -0
  73. package/lib/modules/control-bar/index.js +3 -1
  74. package/lib/modules/control-bar/store.d.ts +11 -2
  75. package/lib/modules/control-bar/store.js +103 -95
  76. package/lib/modules/control-bar/view.js +1 -6
  77. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  78. package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
  79. package/lib/modules/dialog/components/chat/index.js +24 -17
  80. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
  81. package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
  82. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
  83. package/lib/modules/dialog/components/control-bar/index.js +5 -17
  84. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  85. package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
  86. package/lib/modules/dialog/components/dialog-container/index.css +2 -1
  87. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  88. package/lib/modules/dialog/components/dialog-container/index.js +3 -1
  89. package/lib/modules/dialog/components/participant/index.d.ts +0 -1
  90. package/lib/modules/dialog/components/participant/index.js +15 -24
  91. package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
  92. package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
  93. package/lib/modules/dialog/components/pre-setting/index.css +26 -0
  94. package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
  95. package/lib/modules/dialog/components/pre-setting/index.js +38 -0
  96. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
  97. package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
  98. package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
  99. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
  100. package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
  101. package/lib/modules/dialog/components/rename/index.d.ts +4 -0
  102. package/lib/modules/dialog/components/rename/index.js +72 -0
  103. package/lib/modules/dialog/components/video-window/index.js +18 -16
  104. package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
  105. package/lib/modules/dialog/components/widget/electron.js +3 -2
  106. package/lib/modules/dialog/components/widget/index.d.ts +2 -1
  107. package/lib/modules/dialog/components/widget/index.js +4 -6
  108. package/lib/modules/dialog/dialogs.d.ts +1 -0
  109. package/lib/modules/dialog/dialogs.js +3 -2
  110. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
  111. package/lib/modules/dialog/hooks/useElectron.js +11 -13
  112. package/lib/modules/dialog/index.d.ts +2 -0
  113. package/lib/modules/dialog/index.js +2 -1
  114. package/lib/modules/dialog/store.d.ts +8 -3
  115. package/lib/modules/dialog/store.js +38 -26
  116. package/lib/modules/dialog/type.d.ts +1 -0
  117. package/lib/modules/dialog/view.js +2 -1
  118. package/lib/modules/event-confirm/index.d.ts +2 -0
  119. package/lib/modules/event-confirm/index.js +2 -1
  120. package/lib/modules/event-confirm/store.d.ts +9 -1
  121. package/lib/modules/event-confirm/store.js +94 -8
  122. package/lib/modules/event-confirm/view.js +55 -46
  123. package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
  124. package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
  125. package/lib/modules/event-toast/store.js +2 -0
  126. package/lib/modules/interpreter/dialog-content/index.js +4 -1
  127. package/lib/modules/interpreter/index.d.ts +2 -0
  128. package/lib/modules/interpreter/index.js +2 -1
  129. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
  130. package/lib/modules/interpreter/store.d.ts +2 -2
  131. package/lib/modules/interpreter/store.js +30 -24
  132. package/lib/modules/interpreter/type.d.ts +2 -0
  133. package/lib/modules/invite/components/pstn-invite.js +3 -9
  134. package/lib/modules/invite/components/voip-invite.css +26 -0
  135. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  136. package/lib/modules/invite/components/voip-invite.js +8 -11
  137. package/lib/modules/invite/index.css +16 -3
  138. package/lib/modules/invite/index.d.ts +2 -1
  139. package/lib/modules/invite/index.js +2 -1
  140. package/lib/modules/invite/store.d.ts +5 -1
  141. package/lib/modules/invite/store.js +8 -1
  142. package/lib/modules/layout/components/Carousel.d.ts +1 -1
  143. package/lib/modules/layout/components/Carousel.js +16 -118
  144. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
  145. package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
  146. package/lib/modules/layout/components/Gallery.d.ts +1 -0
  147. package/lib/modules/layout/components/Gallery.js +62 -205
  148. package/lib/modules/layout/components/index.css +17 -34
  149. package/lib/modules/layout/index.d.ts +2 -0
  150. package/lib/modules/layout/index.js +2 -1
  151. package/lib/modules/layout/store.d.ts +5 -2
  152. package/lib/modules/layout/store.js +47 -39
  153. package/lib/modules/layout/type.d.ts +4 -0
  154. package/lib/modules/layout/type.js +6 -1
  155. package/lib/modules/live-streaming/store.d.ts +1 -0
  156. package/lib/modules/live-streaming/store.js +19 -8
  157. package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
  158. package/lib/modules/participant/components/confirm-input/index.js +74 -6
  159. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
  160. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
  161. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -2
  162. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
  163. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
  164. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
  165. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
  166. package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
  167. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
  168. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
  169. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
  170. package/lib/modules/participant/index.css +6 -0
  171. package/lib/modules/participant/index.d.ts +1 -0
  172. package/lib/modules/participant/index.js +9 -0
  173. package/lib/modules/participant/store.d.ts +6 -0
  174. package/lib/modules/participant/store.js +130 -96
  175. package/lib/modules/pc-audio-connect/store.js +1 -1
  176. package/lib/modules/phone-audio-connect/index.d.ts +2 -0
  177. package/lib/modules/phone-audio-connect/index.js +2 -1
  178. package/lib/modules/phone-audio-connect/store.d.ts +4 -1
  179. package/lib/modules/phone-audio-connect/store.js +4 -2
  180. package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
  181. package/lib/modules/setting/audio-settings/index.css +23 -6
  182. package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
  183. package/lib/modules/setting/general-settings/general-settings.js +111 -37
  184. package/lib/modules/setting/general-settings/index.css +15 -0
  185. package/lib/modules/setting/index.d.ts +4 -1
  186. package/lib/modules/setting/index.js +7 -4
  187. package/lib/modules/setting/state/index.js +1 -1
  188. package/lib/modules/setting/store.d.ts +24 -11
  189. package/lib/modules/setting/store.js +203 -142
  190. package/lib/modules/setting/video-settings/index.css +13 -2
  191. package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
  192. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  193. package/lib/modules/setting/video-settings/video-settings.js +3 -2
  194. package/lib/modules/setting/view.d.ts +11 -2
  195. package/lib/modules/setting/view.js +93 -71
  196. package/lib/modules/share-screen/components/selection/index.js +6 -2
  197. package/lib/modules/share-screen/index.d.ts +4 -1
  198. package/lib/modules/share-screen/index.js +3 -1
  199. package/lib/modules/share-screen/store.d.ts +15 -5
  200. package/lib/modules/share-screen/store.js +105 -59
  201. package/lib/modules/share-screen/view.js +1 -1
  202. package/lib/modules/state-bar/index.css +4 -2
  203. package/lib/modules/state-bar/index.d.ts +2 -0
  204. package/lib/modules/state-bar/index.js +2 -1
  205. package/lib/modules/state-bar/layout-config.js +1 -0
  206. package/lib/modules/state-bar/live-streaming-state.js +1 -0
  207. package/lib/modules/state-bar/meeting-detail.css +10 -1
  208. package/lib/modules/state-bar/meeting-details.js +42 -26
  209. package/lib/modules/state-bar/meeting-network-state.css +8 -0
  210. package/lib/modules/state-bar/meeting-time.js +9 -20
  211. package/lib/modules/state-bar/store.d.ts +5 -1
  212. package/lib/modules/state-bar/store.js +10 -3
  213. package/lib/modules/state-bar/view.js +17 -6
  214. package/lib/modules/video-window/components/members/index.js +0 -3
  215. package/lib/modules/waiting-room-layout/index.css +13 -0
  216. package/lib/modules/waiting-room-layout/index.d.ts +2 -1
  217. package/lib/modules/waiting-room-layout/index.js +2 -1
  218. package/lib/modules/waiting-room-layout/store.d.ts +12 -1
  219. package/lib/modules/waiting-room-layout/store.js +42 -6
  220. package/lib/modules/waiting-room-layout/view.js +22 -5
  221. package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
  222. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
  223. package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
  224. package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
  225. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
  226. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
  227. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
  228. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
  229. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
  230. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
  231. package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
  232. package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
  233. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
  234. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
  235. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
  236. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
  237. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
  238. package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
  239. package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
  240. package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
  241. package/lib/modules/whiteboard/context.d.ts +1 -2
  242. package/lib/modules/whiteboard/index.d.ts +1 -14
  243. package/lib/modules/whiteboard/index.js +131 -426
  244. package/lib/modules/whiteboard/view.js +12 -10
  245. package/lib/modules/widget/sdk.js +2 -1
  246. package/lib/object-manager.d.ts +8 -0
  247. package/lib/object-manager.js +75 -0
  248. package/lib/plugins/browser-runtime-plugin.js +19 -14
  249. package/lib/providers/ability-provider.d.ts +8 -0
  250. package/lib/providers/ability-provider.js +14 -0
  251. package/lib/providers/device-privilege-provider.d.ts +1 -0
  252. package/lib/providers/device-privilege-provider.js +53 -75
  253. package/lib/providers/device-provider.d.ts +18 -8
  254. package/lib/providers/device-provider.js +397 -209
  255. package/lib/providers/device-stream-provider.js +0 -4
  256. package/lib/providers/dialog-provider.d.ts +1 -0
  257. package/lib/providers/dialog-provider.js +4 -18
  258. package/lib/providers/event-provider.js +45 -2
  259. package/lib/providers/interpreter-provider.d.ts +4 -0
  260. package/lib/providers/interpreter-provider.js +166 -137
  261. package/lib/providers/message-provider.js +44 -2
  262. package/lib/providers/privilege-provider.d.ts +33 -0
  263. package/lib/providers/privilege-provider.js +120 -45
  264. package/lib/providers/room-provider.d.ts +12 -10
  265. package/lib/providers/room-provider.js +162 -262
  266. package/lib/providers/screen-share-provider.d.ts +4 -0
  267. package/lib/providers/screen-share-provider.js +3 -6
  268. package/lib/providers/widget-provider.js +6 -4
  269. package/lib/runtime.d.ts +20 -8
  270. package/lib/scenes/main-scene.d.ts +2 -0
  271. package/lib/scenes/main-scene.js +95 -37
  272. package/lib/scenes/waiting-scene.js +16 -13
  273. package/lib/schema.d.ts +55 -32
  274. package/lib/schema.js +23 -9
  275. package/lib/shared-data-source/config.d.ts +6 -2
  276. package/lib/shared-data-source/config.js +81 -10
  277. package/lib/shared-data-source/member-data.d.ts +16 -20
  278. package/lib/shared-data-source/member-data.js +121 -110
  279. package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
  280. package/lib/shared-data-source/screen-share-data-source.js +134 -0
  281. package/lib/shared-data-source/security-data.d.ts +1 -0
  282. package/lib/shared-data-source/security-data.js +3 -5
  283. package/lib/shared-data-source/setting.d.ts +1 -0
  284. package/lib/shared-data-source/setting.js +33 -17
  285. package/lib/shared-data-source/video-window.d.ts +3 -3
  286. package/lib/shared-data-source/video-window.js +55 -38
  287. package/lib/translations/enUS.d.ts +48 -1
  288. package/lib/translations/enUS.js +101 -17
  289. package/lib/translations/zhCN.d.ts +48 -1
  290. package/lib/translations/zhCN.js +88 -4
  291. package/lib/type.d.ts +40 -20
  292. package/lib/type.js +14 -1
  293. package/lib/ui-manager.d.ts +11 -9
  294. package/lib/ui-manager.js +118 -29
  295. package/lib/ui-scene.d.ts +7 -4
  296. package/lib/ui-scene.js +111 -128
  297. package/lib/utilities/constant.d.ts +3 -1
  298. package/lib/utilities/constant.js +2 -0
  299. package/lib/utilities/copyText.js +15 -11
  300. package/lib/utilities/default-config.d.ts +2 -0
  301. package/lib/utilities/default-config.js +11 -5
  302. package/lib/utilities/i18n-common-data.d.ts +2 -0
  303. package/lib/utilities/i18n-common-data.js +15 -0
  304. package/lib/utilities/logger.d.ts +0 -1
  305. package/lib/utilities/logger.js +3 -4
  306. package/lib/utilities/renderer.d.ts +0 -9
  307. package/lib/utilities/renderer.js +1 -70
  308. package/lib/utilities/screen.js +3 -1
  309. package/lib/utilities/setting-config-storage.d.ts +6 -1
  310. package/lib/utilities/setting-config-storage.js +21 -4
  311. package/lib/utilities/tools.d.ts +7 -6
  312. package/lib/utilities/tools.js +56 -44
  313. package/lib/utilities/ui-resources.d.ts +6 -0
  314. package/lib/utilities/ui-resources.js +47 -9
  315. package/lib/waiting-room-control-manager.d.ts +4 -4
  316. package/lib/waiting-room-control-manager.js +29 -9
  317. package/package.json +6 -6
  318. package/public/assets/browser/images/default1.jpg +0 -0
  319. package/public/assets/browser/images/default2.jpg +0 -0
  320. package/public/assets/browser/images/default3.jpg +0 -0
  321. package/public/assets/browser/images/default4.jpg +0 -0
  322. package/public/assets/browser/images/default5.jpg +0 -0
  323. package/public/assets/browser/images/default6.jpg +0 -0
  324. package/public/assets/browser/images/default7.jpg +0 -0
  325. package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
  326. package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
  327. package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  328. package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  329. package/public/assets/browser/videos/default8.mp4 +0 -0
  330. package/public/assets/browser/videos/default9.mp4 +0 -0
  331. package/public/assets/electron/images/default1.jpg +0 -0
  332. package/public/assets/electron/images/default2.jpg +0 -0
  333. package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
  334. package/public/assets/electron/videos/default8.mp4 +0 -0
  335. package/public/index.html +103 -82
  336. package/lib/hooks/meeting-time.d.ts +0 -15
  337. package/lib/hooks/meeting-time.js +0 -92
  338. package/lib/login-confirm-dialog.d.ts +0 -13
  339. package/lib/login-confirm-dialog.js +0 -85
  340. package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
  341. package/lib/modules/action-bar/components/apps/appitems.js +0 -45
  342. package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
  343. package/lib/modules/components/member-window/components/member-board.js +0 -63
  344. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  345. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  346. package/lib/modules/dialog/types/index.d.ts +0 -70
  347. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
  348. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
  349. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
  350. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
  351. package/lib/modules/participant/components/attendee/index.css +0 -69
  352. package/lib/modules/participant/components/attendee/index.d.ts +0 -4
  353. package/lib/modules/participant/components/attendee/index.js +0 -337
  354. package/lib/modules/participant/components/drop-menu/index.css +0 -60
  355. package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
  356. package/lib/modules/participant/components/drop-menu/index.js +0 -189
  357. package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
  358. package/lib/modules/participant/components/footer/buttons.js +0 -52
  359. package/lib/modules/participant/components/footer/index.d.ts +0 -4
  360. package/lib/modules/participant/components/footer/index.js +0 -37
  361. package/lib/modules/participant/components/merge/index.d.ts +0 -11
  362. package/lib/modules/participant/components/merge/index.js +0 -49
  363. package/lib/modules/participant/components/rename/index.d.ts +0 -4
  364. package/lib/modules/participant/components/rename/index.js +0 -45
  365. package/lib/modules/participant/components/user-action/index.d.ts +0 -17
  366. package/lib/modules/participant/components/user-action/index.js +0 -169
  367. package/lib/modules/video-window/deviceState/index.d.ts +0 -16
  368. package/lib/modules/video-window/deviceState/index.js +0 -75
  369. package/lib/modules/video-window/members/index.css +0 -51
  370. package/lib/modules/video-window/members/index.d.ts +0 -2
  371. package/lib/modules/video-window/members/index.js +0 -157
  372. package/lib/modules/video-window/speaking/index.css +0 -69
  373. package/lib/modules/video-window/speaking/index.d.ts +0 -3
  374. package/lib/modules/video-window/speaking/index.js +0 -57
  375. package/lib/modules/video-window/topControl/index.css +0 -35
  376. package/lib/modules/video-window/topControl/index.d.ts +0 -3
  377. package/lib/modules/video-window/topControl/index.js +0 -92
  378. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
  379. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
package/lib/creator.d.ts CHANGED
@@ -1,13 +1,27 @@
1
1
  import { FcrUISceneCancelCallback, FcrUISceneConfig, FcrUISceneCreatorConfig, FcrUISceneFailureCallback, FcrUISceneSuccessCallback, FcrUISettingConfig, FcrUIWebWidgetConfig } from './type';
2
2
  import { FcrUIDefaultScene } from './ui-scene';
3
+ import SettingStore from './modules/setting/store';
4
+ export interface FcrObservableSettingStore {
5
+ value: SettingStore | null;
6
+ }
3
7
  export declare class FcrUISceneCreator {
4
8
  private _config;
9
+ accessor observableSettingStore: FcrObservableSettingStore;
5
10
  protected logger: import("agora-foundation/lib/logger").Logger;
6
11
  private _settingConfigStorage;
7
12
  private _registeredWidgetConfigs;
13
+ private _released;
14
+ private _scene;
8
15
  constructor(_config: FcrUISceneCreatorConfig);
9
16
  launch(config: FcrUISceneConfig, onCancel: FcrUISceneCancelCallback, onSuccess: FcrUISceneSuccessCallback, onFailure: FcrUISceneFailureCallback, dom: HTMLElement): FcrUIDefaultScene;
10
17
  getSettingConfig(): FcrUISettingConfig;
11
18
  registerWidget(config: FcrUIWebWidgetConfig): void;
12
19
  unregisterWidget(widgetId: string): void;
20
+ renewUserToken(token: string): void;
21
+ setParameters(parameters: Record<string, unknown>): void;
22
+ private _initSettingStore;
23
+ openSetting(): void;
24
+ closeSetting(): void;
25
+ release(): void;
26
+ private _precheckState;
13
27
  }
package/lib/creator.js CHANGED
@@ -3,8 +3,6 @@
3
3
  require("core-js/modules/es.symbol.js");
4
4
  require("core-js/modules/es.symbol.description.js");
5
5
  require("core-js/modules/es.symbol.to-primitive.js");
6
- require("core-js/modules/es.error.cause.js");
7
- require("core-js/modules/es.error.to-string.js");
8
6
  require("core-js/modules/es.array.is-array.js");
9
7
  require("core-js/modules/es.array.push.js");
10
8
  require("core-js/modules/es.date.to-primitive.js");
@@ -22,12 +20,16 @@ Object.defineProperty(exports, "__esModule", {
22
20
  value: true
23
21
  });
24
22
  exports.FcrUISceneCreator = void 0;
23
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
24
+ require("core-js/modules/es.error.cause.js");
25
+ require("core-js/modules/es.error.to-string.js");
25
26
  require("core-js/modules/es.array.iterator.js");
26
27
  require("core-js/modules/es.date.to-json.js");
27
28
  require("core-js/modules/es.json.stringify.js");
28
29
  require("core-js/modules/es.map.js");
29
30
  require("core-js/modules/es.object.to-string.js");
30
31
  require("core-js/modules/es.string.iterator.js");
32
+ require("core-js/modules/es.weak-map.js");
31
33
  require("core-js/modules/esnext.map.delete-all.js");
32
34
  require("core-js/modules/esnext.map.emplace.js");
33
35
  require("core-js/modules/esnext.map.every.js");
@@ -42,68 +44,291 @@ require("core-js/modules/esnext.map.merge.js");
42
44
  require("core-js/modules/esnext.map.reduce.js");
43
45
  require("core-js/modules/esnext.map.some.js");
44
46
  require("core-js/modules/esnext.map.update.js");
47
+ require("core-js/modules/esnext.weak-map.delete-all.js");
48
+ require("core-js/modules/esnext.weak-map.emplace.js");
45
49
  require("core-js/modules/web.dom-collections.iterator.js");
50
+ require("core-js/modules/web.timers.js");
46
51
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
52
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
47
53
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
48
54
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
49
55
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
50
- var _logger = require("agora-foundation/lib/logger");
51
56
  var _uiScene = require("./ui-scene");
52
57
  var _i18n = require("agora-ui-foundation/lib/i18n");
53
58
  var _settingConfigStorage = require("./utilities/setting-config-storage");
54
59
  var _validateParams = _interopRequireDefault(require("./utilities/validate-params"));
55
60
  var _schema = require("./schema");
56
61
  var _decorator = require("agora-foundation/lib/decorator");
62
+ var _mobx = require("mobx");
63
+ var _store = _interopRequireDefault(require("./modules/setting/store"));
64
+ var _reactDom = _interopRequireDefault(require("react-dom"));
65
+ var _view = require("./modules/setting/view");
66
+ var _deviceProvider = require("./providers/device-provider");
67
+ var _fcrCore = require("fcr-core");
68
+ var _dialogProvider = require("./providers/dialog-provider");
69
+ var _eventProvider = require("./providers/event-provider");
70
+ var _messageProvider = require("./providers/message-provider");
71
+ var _monitorProvider = require("./providers/monitor-provider");
72
+ var _config2 = require("./shared-data-source/config");
73
+ var _setting = require("./shared-data-source/setting");
74
+ var _parameters = require("./utilities/parameters");
75
+ var _defaultConfig = require("./utilities/default-config");
76
+ var _imports = require("fcr-core/lib/imports");
77
+ var _localStorageProvider = require("./providers/local-storage-provider");
78
+ var _uiResources = require("./utilities/ui-resources");
79
+ var _logger = require("./utilities/logger");
80
+ var _jsxRuntime = require("react/jsx-runtime");
57
81
  var _FcrUISceneCreator;
58
- var _initProto, _launchDecs, _ref;
82
+ var _initProto, _init_observableSettingStore, _launchDecs, _ref;
83
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
84
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
85
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
86
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
87
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
59
88
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
60
89
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
61
90
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
62
91
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
63
92
  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; }
64
- _ref = (_launchDecs = [(0, _validateParams["default"])(_schema.fcrUISceneConfigSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneFailureCallbackSchema, _schema.fcrRenderViewSchema), _decorator.trace], "logger");
93
+ var _A = /*#__PURE__*/new WeakMap();
94
+ _ref = (_launchDecs = [_decorator.trace, (0, _validateParams["default"])(_schema.fcrUISceneConfigSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneFailureCallbackSchema, _schema.fcrRenderViewSchema)], "_engine");
65
95
  var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
66
96
  function FcrUISceneCreator(_config) {
67
97
  (0, _classCallCheck2["default"])(this, FcrUISceneCreator);
68
- (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
69
- (0, _defineProperty2["default"])(this, "_settingConfigStorage", new _settingConfigStorage.FcrSettingConfigStorage());
98
+ // @internal
99
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
100
+ _classPrivateFieldInitSpec(this, _A, _init_observableSettingStore(this, {
101
+ value: null
102
+ // isPreMeetingSettingsStore: true
103
+ }));
104
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
105
+ prefix: 'FcrUISceneCreator'
106
+ }));
70
107
  (0, _defineProperty2["default"])(this, "_registeredWidgetConfigs", new Map([]));
108
+ (0, _defineProperty2["default"])(this, "_released", false);
109
+ (0, _defineProperty2["default"])(this, "_scene", null);
71
110
  this._config = _config;
72
- this.logger.info("[FcrUISceneCreator] creator config: ".concat(JSON.stringify(_config)));
111
+ this.logger.info("creator config: ".concat(JSON.stringify(_config)));
112
+ this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
113
+ this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
114
+ localStorageProvider: this._localStorageProvider
115
+ });
116
+ var dualCameraVideoStreamConfigFromParameters = (0, _parameters.getDualCameraVideoStreamConfig)(this._config.parameters);
117
+ var dualScreenVideoStreamConfigFromParameters = (0, _parameters.getDualScreenVideoStreamConfig)(this._config.parameters);
118
+ (0, _defaultConfig.mergeDefaultDualStreamConfig)(dualCameraVideoStreamConfigFromParameters, dualScreenVideoStreamConfigFromParameters);
119
+ var dualCameraVideoStreamConfig = {
120
+ lowVideoEncoderConfig: _defaultConfig.cameraVideoLowStreamEncoderConfig,
121
+ highVideoEncoderConfig: _defaultConfig.cameraVideoHighStreamEncoderConfig,
122
+ enableDualStreamMode: (0, _defaultConfig.isCameraDualStreamModeEnabled)()
123
+ };
124
+ var dualScreenVideoStreamConfig = {
125
+ lowVideoEncoderConfig: _defaultConfig.screenCaptureLowStreamEncoderConfig,
126
+ highVideoEncoderConfig: _defaultConfig.screenCaptureHighStreamEncoderConfig,
127
+ enableDualStreamMode: (0, _defaultConfig.isScreenDualStreamModeEnabled)()
128
+ };
129
+ var config = {
130
+ appId: this._config.appId,
131
+ userId: this._config.userId,
132
+ parameters: this._config.parameters,
133
+ token: this._config.token,
134
+ region: _fcrCore.FcrRegion.CN,
135
+ dualCameraVideoStreamConfig: dualCameraVideoStreamConfig,
136
+ dualScreenVideoStreamConfig: dualScreenVideoStreamConfig
137
+ };
138
+ this.logger.info("create core engine with config: ".concat((0, _imports.jsonstring)(config)));
139
+ var engine = new _imports.FcrCoreEngine(config);
140
+
141
+ // @ts-ignore
142
+ window.__core_engine = engine;
143
+ this._engine = engine;
144
+ this._initSettingStore();
73
145
  }
74
146
  return (0, _createClass2["default"])(FcrUISceneCreator, [{
147
+ key: "observableSettingStore",
148
+ get: function get() {
149
+ return _classPrivateFieldGet(_A, this);
150
+ },
151
+ set: function set(v) {
152
+ _classPrivateFieldSet(_A, this, v);
153
+ }
154
+ }, {
75
155
  key: "launch",
76
156
  value: function launch(config, onCancel, onSuccess, onFailure, dom) {
77
- this.logger.info("[FcrUISceneCreator] scene config: ".concat(JSON.stringify(config)));
157
+ var _this = this;
158
+ this._precheckState();
159
+ if (this._scene) {
160
+ throw new Error('scene is launched, please exit it before launching a new one.');
161
+ }
78
162
  (0, _i18n.changeLanguage)(config.language);
79
- var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom, this._settingConfigStorage, this._registeredWidgetConfigs);
163
+ var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom, this._settingConfigStorage, this._registeredWidgetConfigs, this._engine);
80
164
  scene.addObserver({
81
165
  onLaunchSuccess: onSuccess,
82
166
  onLaunchFailure: onFailure,
83
- onLaunchCancel: onCancel
167
+ onLaunchCancel: onCancel,
168
+ onSettingStore: function onSettingStore(store) {
169
+ _this.observableSettingStore.value = store;
170
+ _this.closeSetting();
171
+ },
172
+ onExited: function onExited() {
173
+ _this.closeSetting();
174
+ _this._initSettingStore();
175
+ },
176
+ onOpenSettingDialog: function onOpenSettingDialog() {
177
+ _this.openSetting();
178
+ }
179
+ });
180
+ var resetScene = function resetScene() {
181
+ _this._scene = null;
182
+ };
183
+ scene.addObserver({
184
+ onLaunchFailure: resetScene,
185
+ onLaunchCancel: resetScene,
186
+ onExited: resetScene
84
187
  });
85
188
  scene.launch();
189
+ this._scene = scene;
86
190
  return scene;
87
191
  }
88
192
  }, {
89
193
  key: "getSettingConfig",
90
194
  value: function getSettingConfig() {
195
+ this._precheckState();
91
196
  return this._settingConfigStorage;
92
197
  }
93
198
  }, {
94
199
  key: "registerWidget",
95
200
  value: function registerWidget(config) {
201
+ this._precheckState();
96
202
  this._registeredWidgetConfigs.set(config.id, config);
97
203
  }
98
204
  }, {
99
205
  key: "unregisterWidget",
100
206
  value: function unregisterWidget(widgetId) {
207
+ this._precheckState();
101
208
  this._registeredWidgetConfigs["delete"](widgetId);
102
209
  }
210
+ }, {
211
+ key: "renewUserToken",
212
+ value: function renewUserToken(token) {
213
+ this._engine.renewUserToken(token);
214
+ }
215
+ }, {
216
+ key: "setParameters",
217
+ value: function setParameters(parameters) {
218
+ var _this$_engine;
219
+ this._precheckState();
220
+ (_this$_engine = this._engine) === null || _this$_engine === void 0 || _this$_engine.setParameters(parameters);
221
+ }
222
+ }, {
223
+ key: "_initSettingStore",
224
+ value: function () {
225
+ var _initSettingStore2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
226
+ var openDefaultCamera, openDefaultMicrophone, eventProvider, deviceProvider, dialogProvider, messageProvider, sharedConfigDataSource, sharedSettingDataSource, monitorProvider;
227
+ return _regenerator["default"].wrap(function _callee$(_context) {
228
+ while (1) switch (_context.prev = _context.next) {
229
+ case 0:
230
+ this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
231
+ this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
232
+ this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
233
+ this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._localStorageProvider);
234
+ this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
235
+ creatorConfig: this._config,
236
+ settingConfig: this._settingConfigStorage,
237
+ localStorageProvider: this._localStorageProvider
238
+ });
239
+ this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._localStorageProvider);
240
+ openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
241
+ openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
242
+ if (openDefaultCamera) {
243
+ this._settingConfigStorage.media.cameraExpectedOff = false;
244
+ }
245
+ if (openDefaultMicrophone) {
246
+ this._settingConfigStorage.media.autoConnectAudio = true;
247
+ this._settingConfigStorage.media.microphoneExpectedOff = false;
248
+ }
249
+ eventProvider = this._eventProvider;
250
+ deviceProvider = this._deviceProvider;
251
+ dialogProvider = this._dialogProvider;
252
+ messageProvider = this._messageProvider;
253
+ sharedConfigDataSource = this._sharedConfigDataSource;
254
+ sharedSettingDataSource = this._sharedSettingDataSource;
255
+ monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
256
+ deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
257
+ _context.next = 20;
258
+ return deviceProvider.init();
259
+ case 20:
260
+ this.observableSettingStore.value = new _store["default"]({
261
+ uiEventStore: eventProvider,
262
+ monitorControl: monitorProvider,
263
+ deviceStore: deviceProvider,
264
+ config: sharedConfigDataSource === null || sharedConfigDataSource === void 0 ? void 0 : sharedConfigDataSource.sceneConfig,
265
+ parameters: sharedConfigDataSource === null || sharedConfigDataSource === void 0 ? void 0 : sharedConfigDataSource.creatorConfig.parameters,
266
+ messageProvider: messageProvider,
267
+ sharedSettingDataSource: sharedSettingDataSource,
268
+ dialogProvider: dialogProvider,
269
+ settingConfig: sharedConfigDataSource.settingConfig,
270
+ localStorageProvider: this._localStorageProvider,
271
+ userId: this._config.userId
272
+ });
273
+ case 21:
274
+ case "end":
275
+ return _context.stop();
276
+ }
277
+ }, _callee, this);
278
+ }));
279
+ function _initSettingStore() {
280
+ return _initSettingStore2.apply(this, arguments);
281
+ }
282
+ return _initSettingStore;
283
+ }()
284
+ }, {
285
+ key: "openSetting",
286
+ value: function openSetting() {
287
+ var _this2 = this;
288
+ this._precheckState();
289
+ this.closeSetting();
290
+ setTimeout(function () {
291
+ var settingContainer = document.createElement('div');
292
+ settingContainer.setAttribute('id', 'setting-container');
293
+ var body = document.querySelector('body');
294
+ body === null || body === void 0 || body.appendChild(settingContainer);
295
+ // this._renderSettingsViewe()
296
+ var dom = document.querySelector('#setting-container');
297
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_view.SettingsView, {
298
+ onClose: _this2.closeSetting,
299
+ store: _this2.observableSettingStore
300
+ }), dom);
301
+ }, 400);
302
+ }
303
+ }, {
304
+ key: "closeSetting",
305
+ value: function closeSetting() {
306
+ this._precheckState();
307
+ var settingContainer = document.querySelector('#setting-container');
308
+ if (settingContainer) {
309
+ _reactDom["default"].unmountComponentAtNode(settingContainer);
310
+ document.body.removeChild(settingContainer);
311
+ }
312
+ }
313
+ }, {
314
+ key: "release",
315
+ value: function release() {
316
+ var _this$_engine2;
317
+ (_this$_engine2 = this._engine) === null || _this$_engine2 === void 0 || _this$_engine2.release();
318
+ this._released = true;
319
+ }
320
+ }, {
321
+ key: "_precheckState",
322
+ value: function _precheckState() {
323
+ if (this._released) {
324
+ throw new Error('FcrUISceneCreator has been released.');
325
+ }
326
+ }
103
327
  }]);
104
328
  }();
105
329
  _FcrUISceneCreator = FcrUISceneCreator;
106
- var _applyDecs$e = _applyDecs(_FcrUISceneCreator, [[_launchDecs, 2, "launch"], [_decorator.trace, 2, "getSettingConfig"], [_decorator.trace, 2, "registerWidget"], [_decorator.trace, 2, "unregisterWidget"]], []).e;
107
- var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
108
- _initProto = _applyDecs$e2[0];
330
+ var _applyDecs$e = _applyDecs(_FcrUISceneCreator, [[_mobx.observable, 1, "observableSettingStore"], [_launchDecs, 2, "launch"], [_decorator.trace, 2, "getSettingConfig"], [_decorator.trace, 2, "registerWidget"], [_decorator.trace, 2, "unregisterWidget"], [_decorator.trace, 2, "renewUserToken"], [_decorator.trace, 2, "setParameters"], [[_decorator.trace, _decorator.bound], 2, "openSetting"], [[_decorator.trace, _decorator.bound], 2, "closeSetting"]], []).e;
331
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
332
+ _init_observableSettingStore = _applyDecs$e2[0];
333
+ _initProto = _applyDecs$e2[1];
109
334
  _applyDecs$e;
@@ -36,12 +36,6 @@ var hookApp = exports.hookApp = function hookApp(app) {
36
36
  return window.isDestroyed();
37
37
  };
38
38
  app.commandLine.appendSwitch('ignore-certificate-errors');
39
- var appUserModelId = process.argv.find(function (arg) {
40
- return arg.startsWith('--app-user-model-id=');
41
- });
42
- if (appUserModelId) {
43
- app.setAppUserModelId(appUserModelId.substring('--app-user-model-id='.length));
44
- }
45
39
  app.addListener('browser-window-created', function (_, window) {
46
40
  var windowId = window.id;
47
41
  window.addListener('close', function () {
@@ -121,21 +115,6 @@ var hookApp = exports.hookApp = function hookApp(app) {
121
115
  logger.error('Invalid JSON argument:', jsonStr);
122
116
  }
123
117
  });
124
- _electron.ipcMain.handle('launch', function (_e, launchOptions) {
125
- if (process.platform === 'darwin') {
126
- var ext = require(_path["default"].join(process.resourcesPath, 'Frameworks', 'FcrUISceneLauncher.node'));
127
- var res = ext.launch(launchOptions);
128
- if (res !== 0) {
129
- logger.error('Failed to launch FcrUISceneLauncher');
130
- }
131
- } else {
132
- var _ext = require(_path["default"].join(process.resourcesPath, 'Libs', 'FcrUISceneLauncher.node'));
133
- var _res = _ext.launch(launchOptions);
134
- if (_res !== 0) {
135
- logger.error('Failed to launch FcrUISceneLauncher');
136
- }
137
- }
138
- });
139
118
  _electron.ipcMain.handle('getBundleType', function () {
140
119
  if (process.env.DEV === 'true') {
141
120
  return 'JS_BUNDLE';
@@ -8,18 +8,25 @@ require("core-js/modules/es.object.define-properties.js");
8
8
  require("core-js/modules/es.object.define-property.js");
9
9
  require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/es.object.keys.js");
12
- require("core-js/modules/es.object.to-string.js");
13
11
  require("core-js/modules/esnext.async-iterator.filter.js");
14
12
  require("core-js/modules/esnext.async-iterator.for-each.js");
15
- require("core-js/modules/esnext.iterator.constructor.js");
16
13
  require("core-js/modules/esnext.iterator.filter.js");
17
14
  require("core-js/modules/esnext.iterator.for-each.js");
18
15
  require("core-js/modules/web.dom-collections.for-each.js");
19
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+ require("core-js/modules/es.array.concat.js");
18
+ require("core-js/modules/es.array.find.js");
20
19
  require("core-js/modules/es.array.join.js");
21
20
  require("core-js/modules/es.date.to-json.js");
22
21
  require("core-js/modules/es.json.stringify.js");
22
+ require("core-js/modules/es.object.keys.js");
23
+ require("core-js/modules/es.object.to-string.js");
24
+ require("core-js/modules/es.parse-int.js");
25
+ require("core-js/modules/es.string.starts-with.js");
26
+ require("core-js/modules/esnext.async-iterator.find.js");
27
+ require("core-js/modules/esnext.iterator.constructor.js");
28
+ require("core-js/modules/esnext.iterator.find.js");
29
+ require("core-js/modules/esnext.json.parse.js");
23
30
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
31
  var _electron = require("electron");
25
32
  var _main = require("@electron/remote/main");
@@ -29,30 +36,152 @@ var _env = require("./env");
29
36
  var _path = _interopRequireDefault(require("path"));
30
37
  var _logger = require("./logger");
31
38
  var _devtoolShortcut = require("./plugins/devtool-shortcut");
39
+ var _ipc = require("./ipc/ipc");
40
+ var _type = require("./ipc/type");
41
+ var _meetingState = require("./plugins/meeting-state");
42
+ var _process$argv$find;
32
43
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
44
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
+ var mainWindow;
46
+ var mainWindowReady = false;
34
47
  (0, _main.initialize)();
48
+ var port = (_process$argv$find = process.argv.find(function (arg) {
49
+ return arg.startsWith('--port=');
50
+ })) === null || _process$argv$find === void 0 ? void 0 : _process$argv$find.split('=')[1];
51
+ var ipcClient = new _ipc.IPCClient({
52
+ port: port ? parseInt(port, 10) : 50000
53
+ });
54
+ ipcClient.addObserver({
55
+ onConnected: function onConnected() {
56
+ (0, _logger.getLogger)().info('IPC client connected to server');
57
+ if (mainWindowReady) {
58
+ ipcClient.sendMessage({
59
+ cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
60
+ data: {}
61
+ });
62
+ }
63
+ },
64
+ onMessageReceived: function onMessageReceived(message) {
65
+ switch (message.cmd) {
66
+ case _type.IPCMessageCMD.LaunchMeeting:
67
+ (0, _logger.getLogger)().info("LaunchMeeting: ".concat(JSON.stringify(message.data)));
68
+ if (mainWindow) {
69
+ mainWindow.webContents.send(_type.IPCMessageCMD.LaunchMeeting, message.data);
70
+ mainWindow.show();
71
+ mainWindow.focus();
72
+ mainWindow.moveTop();
73
+ }
74
+ break;
75
+ case _type.IPCMessageCMD.InitCreator:
76
+ (0, _logger.getLogger)().info("InitCreator: ".concat(JSON.stringify(message.data)));
77
+ try {
78
+ var data = JSON.parse(message.data);
79
+ if (!data['appUserModelId']) return;
80
+ var appUserModelId = data['appUserModelId'].appUserModelId;
81
+ if (appUserModelId) {
82
+ _electron.app.setAppUserModelId(appUserModelId);
83
+ }
84
+ } catch (e) {
85
+ (0, _logger.getLogger)().error("InitCreator: ".concat(e));
86
+ }
87
+ if (mainWindow) {
88
+ mainWindow.webContents.send(_type.IPCMessageCMD.InitCreator, message.data);
89
+ }
90
+ break;
91
+ case _type.IPCMessageCMD.OpenSetting:
92
+ (0, _logger.getLogger)().info("OpenSetting: ".concat(JSON.stringify(message.data)));
93
+ if (mainWindow) {
94
+ mainWindow.webContents.send(_type.IPCMessageCMD.OpenSetting, message.data);
95
+ }
96
+ break;
97
+ case _type.IPCMessageCMD.CloseSetting:
98
+ (0, _logger.getLogger)().info("CloseSetting: ".concat(JSON.stringify(message.data)));
99
+ if (mainWindow) {
100
+ mainWindow.webContents.send(_type.IPCMessageCMD.CloseSetting, message.data);
101
+ }
102
+ break;
103
+ case _type.IPCMessageCMD.SetParameters:
104
+ (0, _logger.getLogger)().info("SetParameters: ".concat(JSON.stringify(message.data)));
105
+ if (mainWindow) {
106
+ mainWindow.webContents.send(_type.IPCMessageCMD.SetParameters, message.data);
107
+ }
108
+ break;
109
+ default:
110
+ (0, _logger.getLogger)().info("Unknown command: ".concat(message.cmd));
111
+ break;
112
+ }
113
+ },
114
+ onError: function onError(error) {
115
+ (0, _logger.getLogger)().error("Error: ".concat(error));
116
+ }
117
+ });
35
118
  _electron.crashReporter.start({
36
119
  uploadToServer: false
37
120
  });
38
121
  (0, _2.hookApp)(_electron.app);
39
122
  _electron.app.addListener('ready', function () {
40
- var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
123
+ mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
41
124
  webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
42
125
  show: false
43
126
  }));
44
127
  _electron.Menu.setApplicationMenu(null);
128
+ _electron.ipcMain.addListener('launch-success', function (_, roomId) {
129
+ (0, _logger.getLogger)().info("launch-success in bootstrap-sdk: ".concat(roomId));
130
+ ipcClient.sendMessage({
131
+ cmd: _type.IPCMessageCMD.LaunchSuccess,
132
+ data: {
133
+ roomId: roomId
134
+ }
135
+ });
136
+ });
137
+ _electron.ipcMain.addListener('launch-failure', function (_, roomId, errorCode) {
138
+ (0, _logger.getLogger)().info("launch-failure in bootstrap-sdk: ".concat(roomId, ", ").concat(errorCode));
139
+ if (!roomId || typeof roomId !== 'string') {
140
+ (0, _logger.getLogger)().error("Invalid roomId: ".concat(roomId));
141
+ return;
142
+ }
143
+ ipcClient.sendMessage({
144
+ cmd: _type.IPCMessageCMD.LaunchFailure,
145
+ data: {
146
+ roomId: roomId,
147
+ errorCode: errorCode
148
+ }
149
+ });
150
+ });
151
+ _electron.ipcMain.addListener('exited-meeting', function (_, roomId, reason) {
152
+ (0, _logger.getLogger)().info("exited-meeting in bootstrap-sdk: ".concat(roomId, ", ").concat(reason));
153
+ ipcClient.sendMessage({
154
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
155
+ data: {
156
+ roomId: roomId,
157
+ reason: reason
158
+ }
159
+ });
160
+ });
45
161
  (0, _2.hookWindow)(mainWindow);
162
+ mainWindow.webContents.addListener('did-finish-load', function () {
163
+ mainWindowReady = true;
164
+ ipcClient.sendMessage({
165
+ cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
166
+ data: {}
167
+ });
168
+ });
46
169
  mainWindow.addListener('closed', function () {
47
170
  _electron.app.exit(0);
48
171
  });
172
+ mainWindow.addListener('close', function (e) {
173
+ var closeListenerCount = mainWindow.listenerCount('close');
174
+ (0, _logger.getLogger)().info("mainWindow close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
175
+ if (_meetingState.isInMeeting === 0) {
176
+ e.preventDefault();
177
+ mainWindow.hide();
178
+ mainWindow.webContents.send('close-window-before-launch-success');
179
+ }
180
+ });
49
181
  mainWindow.webContents.addListener('render-process-gone', function (e, details) {
50
182
  (0, _logger.getLogger)().info("app exit due to render-process-gone event: ".concat(JSON.stringify(details)));
51
183
  _electron.app.exit(0);
52
184
  });
53
- mainWindow.addListener('ready-to-show', function () {
54
- mainWindow.show();
55
- });
56
185
  if (_env.isDev) {
57
186
  mainWindow.webContents.openDevTools({
58
187
  mode: 'detach'
@@ -1,6 +1,12 @@
1
1
  import { IpcRendererEvent } from 'electron';
2
2
  import { BrowserWindowConstructorOptions } from 'electron/renderer';
3
3
  import os from 'os';
4
+ export declare enum FcrNumericExitReason {
5
+ LEAVE_ROOM = 1,// 自己离开而退出
6
+ CLOSE_ROOM = 2,// 房间关闭而退出
7
+ KICKED_OUT = 3,// 被踢出房间而退出
8
+ ABORTED = 4
9
+ }
4
10
  export declare const getBundleType: () => Promise<"JS_BUNDLE" | "NATIVE_BUNDLE">;
5
11
  export declare const openDirectory: () => Promise<string | undefined>;
6
12
  export declare const showItemInFolder: (path: string) => void;
@@ -29,15 +35,14 @@ export declare const quitApp: () => void;
29
35
  export declare const getSystemMemorySize: () => number;
30
36
  export declare const getSystemCpuInfo: () => os.CpuInfo[];
31
37
  export declare const getNetworkType: () => Promise<NetworkType>;
32
- export declare const getAssetUrl: (path: string) => string;
33
- export declare const getRendererProcessUsage: () => Promise<{
34
- memoryUsage: number;
35
- cpuUsage: number;
36
- totalMemoryUsage: number;
37
- totalCpuUsage: number;
38
- }>;
39
38
  export declare const getResourceByFileType: (url: string, md5Url: string, type: "image" | "video" | "audio") => Promise<string[]>;
40
39
  export declare const fileToBase64: (file: string, type: "image" | "video" | "audio") => string;
40
+ export declare const fileToBlob: (file: string, type: "image" | "video" | "audio") => Blob;
41
+ export declare const loadBuiltinResources: () => Promise<{
42
+ virtualBackgroundImages: string[];
43
+ virtualBackgroundVideos: string[];
44
+ soundEffects: string[];
45
+ }>;
41
46
  export declare const releaseSubAllWindowRefs: () => void;
42
47
  export declare const getMediaSourceIdList: () => {
43
48
  title: string;
@@ -47,3 +52,10 @@ export declare const setInMeetingState: (state: 0 | 1) => void;
47
52
  export declare const restartApp: () => void;
48
53
  export declare const getUserSettingData: () => any;
49
54
  export declare const setUserSettingData: (data: object) => void;
55
+ export declare const initSDK: (options: any) => void;
56
+ export declare const openSetting: () => void;
57
+ export declare const getIsSDKReady: () => Promise<any>;
58
+ export declare const launchSuccess: (roomId: string) => void;
59
+ export declare const launchFailure: (roomId: string, errorCode: number) => void;
60
+ export declare const setParameters: (parameters: string) => void;
61
+ export declare const exitedMeeting: (roomId: string, reason: string) => void;