fcr-ui-scene 3.3.1 → 3.4.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 (512) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/lib/common/device-store.d.ts +21 -11
  3. package/lib/common/device-store.js +236 -151
  4. package/lib/common/device-stream-store.d.ts +22 -4
  5. package/lib/common/device-stream-store.js +297 -113
  6. package/lib/common/event-store.d.ts +19 -10
  7. package/lib/common/event-store.js +28 -10
  8. package/lib/common/remote-renderer.d.ts +15 -0
  9. package/lib/common/remote-renderer.js +138 -0
  10. package/lib/common/room-store.d.ts +21 -18
  11. package/lib/common/room-store.js +54 -47
  12. package/lib/common/security-store.d.ts +35 -27
  13. package/lib/common/security-store.js +221 -383
  14. package/lib/creator.d.ts +3 -1
  15. package/lib/creator.js +13 -1
  16. package/lib/electron/app.js +43 -0
  17. package/lib/electron/bootstrap-sdk.js +2 -1
  18. package/lib/electron/injections.d.ts +6 -4
  19. package/lib/electron/injections.js +138 -113
  20. package/lib/electron/logger.js +3 -1
  21. package/lib/electron/main.js +13 -1
  22. package/lib/electron/plugins/devtool-shortcut.d.ts +2 -0
  23. package/lib/electron/plugins/devtool-shortcut.js +19 -0
  24. package/lib/electron/preload.js +5 -3
  25. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  26. package/lib/fragments/control-bar/control-bar-store.d.ts +11 -1
  27. package/lib/fragments/control-bar/control-bar-store.js +196 -111
  28. package/lib/fragments/control-bar/index.js +6 -0
  29. package/lib/fragments/control-bar/more-actions/index.js +1 -1
  30. package/lib/fragments/control-bar/security-content/index.css +65 -0
  31. package/lib/fragments/control-bar/security-content/index.js +66 -2
  32. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  33. package/lib/fragments/control-bar/view.js +15 -6
  34. package/lib/fragments/live-streaming/store.d.ts +1 -1
  35. package/lib/fragments/live-streaming/store.js +1 -1
  36. package/lib/fragments/live-streaming/view.js +4 -2
  37. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  38. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  39. package/lib/fragments/share-screen-selection/view.js +20 -20
  40. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  41. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  42. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  43. package/lib/fragments/toolbar/components/transfer-position-icon/index.d.ts +11 -0
  44. package/lib/fragments/toolbar/components/transfer-position-icon/index.js +46 -0
  45. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  46. package/lib/fragments/toolbar/hooks.js +1 -1
  47. package/lib/fragments/toolbar/store.d.ts +1 -1
  48. package/lib/hooks/meeting-time.d.ts +1 -1
  49. package/lib/modules/Interpreter/action/add-btn/index.css +4 -0
  50. package/lib/modules/Interpreter/action/add-btn/index.d.ts +11 -0
  51. package/lib/modules/Interpreter/action/add-btn/index.js +43 -0
  52. package/lib/modules/Interpreter/action/delete-btn/index.css +14 -0
  53. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +6 -0
  54. package/lib/modules/Interpreter/action/delete-btn/index.js +38 -0
  55. package/lib/modules/Interpreter/action/edit-btn/index.css +3 -0
  56. package/lib/modules/Interpreter/action/edit-btn/index.d.ts +5 -0
  57. package/lib/modules/Interpreter/action/edit-btn/index.js +49 -0
  58. package/lib/modules/Interpreter/action/switch-btn/index.d.ts +5 -0
  59. package/lib/modules/Interpreter/action/switch-btn/index.js +52 -0
  60. package/lib/modules/Interpreter/add-button/index.js +6 -4
  61. package/lib/modules/Interpreter/constant.d.ts +23 -12
  62. package/lib/modules/Interpreter/constant.js +53 -13
  63. package/lib/modules/Interpreter/dialog-content/index.js +2 -2
  64. package/lib/modules/Interpreter/footer/components/interpreter-btn/index.js +10 -13
  65. package/lib/modules/Interpreter/footer/components/set-btn/index.js +8 -5
  66. package/lib/modules/Interpreter/footer/components/tooltip-wrapper/index.js +3 -1
  67. package/lib/modules/Interpreter/footer/index.css +5 -5
  68. package/lib/modules/Interpreter/footer/index.d.ts +4 -1
  69. package/lib/modules/Interpreter/footer/index.js +8 -17
  70. package/lib/modules/Interpreter/index.css +10 -3
  71. package/lib/modules/Interpreter/index.d.ts +3 -1
  72. package/lib/modules/Interpreter/index.js +11 -5
  73. package/lib/modules/Interpreter/interpreter-list/index.css +1 -18
  74. package/lib/modules/Interpreter/interpreter-list/index.d.ts +4 -1
  75. package/lib/modules/Interpreter/interpreter-list/index.js +13 -32
  76. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +24 -3
  77. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +3 -0
  78. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +51 -13
  79. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  80. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  81. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  82. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  83. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  84. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  85. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  86. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  87. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  88. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  89. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  90. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  91. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  92. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  93. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  94. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  95. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  96. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +9 -4
  97. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +98 -39
  98. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +12 -5
  99. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -1
  100. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +76 -40
  101. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.css +3 -5
  102. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
  103. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +7 -24
  104. package/lib/modules/Interpreter/store.d.ts +48 -26
  105. package/lib/modules/Interpreter/store.js +919 -669
  106. package/lib/modules/Interpreter/tooltip-wrapper/index.d.ts +6 -0
  107. package/lib/modules/Interpreter/tooltip-wrapper/index.js +30 -0
  108. package/lib/modules/Interpreter/view.js +48 -11
  109. package/lib/modules/action-bar/Interpreter/index.d.ts +1 -1
  110. package/lib/modules/action-bar/Interpreter/index.js +7 -10
  111. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +4 -1
  112. package/lib/modules/action-bar/action-bar-collapes-items.js +32 -15
  113. package/lib/modules/action-bar/apps/app-item/index.css +35 -0
  114. package/lib/modules/action-bar/apps/app-item/index.d.ts +12 -0
  115. package/{dist/electron/bootstrap-dev.js → lib/modules/action-bar/apps/app-item/index.js} +38 -28
  116. package/lib/modules/action-bar/apps/appitems.d.ts +4 -1
  117. package/lib/modules/action-bar/apps/appitems.js +30 -25
  118. package/lib/modules/action-bar/apps/index.css +5 -3
  119. package/lib/modules/action-bar/apps/index.js +13 -14
  120. package/lib/modules/action-bar/apps/useAppItemOptions.d.ts +9 -0
  121. package/lib/modules/action-bar/apps/useAppItemOptions.js +29 -0
  122. package/lib/modules/action-bar/apps/useBeautyBackground.d.ts +10 -0
  123. package/lib/modules/action-bar/apps/useBeautyBackground.js +34 -0
  124. package/lib/modules/action-bar/apps/useInterpreter.d.ts +14 -0
  125. package/lib/modules/action-bar/apps/useInterpreter.js +35 -0
  126. package/lib/modules/action-bar/apps/useLiveStreaming.d.ts +16 -0
  127. package/lib/modules/action-bar/apps/useLiveStreaming.js +41 -0
  128. package/lib/modules/action-bar/chat/index.js +3 -3
  129. package/lib/modules/action-bar/device/index.js +22 -24
  130. package/lib/modules/action-bar/index.css +30 -3
  131. package/lib/modules/action-bar/index.d.ts +8 -2
  132. package/lib/modules/action-bar/index.dev.js +6 -3
  133. package/lib/modules/action-bar/index.js +25 -61
  134. package/lib/modules/action-bar/leave/assign-host.d.ts +1 -1
  135. package/lib/modules/action-bar/leave/index.css +10 -0
  136. package/lib/modules/action-bar/leave/index.js +66 -39
  137. package/lib/modules/action-bar/leave/leave-meeting.d.ts +3 -2
  138. package/lib/modules/action-bar/leave/leave-meeting.js +13 -4
  139. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  140. package/lib/modules/action-bar/more/index.js +9 -6
  141. package/lib/modules/action-bar/more/poppover-content.js +33 -12
  142. package/lib/modules/action-bar/participants/index.js +2 -2
  143. package/lib/modules/action-bar/record/index.js +4 -4
  144. package/lib/modules/action-bar/screen-share/index.js +4 -4
  145. package/lib/modules/action-bar/screen-share/submenu.js +4 -4
  146. package/lib/modules/action-bar/security/drop-menu.js +49 -11
  147. package/lib/modules/action-bar/security/index.js +11 -6
  148. package/lib/modules/action-bar/settings/index.js +4 -4
  149. package/lib/modules/action-bar/smaller.js +4 -4
  150. package/lib/modules/action-bar/store.d.ts +54 -11
  151. package/lib/modules/action-bar/store.js +390 -164
  152. package/lib/modules/action-bar/switch-input-language-room/index.d.ts +1 -2
  153. package/lib/modules/action-bar/switch-input-language-room/index.js +134 -43
  154. package/lib/modules/action-bar/switch-output-language-room/drop-menu.js +3 -3
  155. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.d.ts +7 -1
  156. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.js +32 -19
  157. package/lib/modules/action-bar/switch-output-language-room/index.js +134 -69
  158. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.css +12 -8
  159. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.js +13 -7
  160. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.css +52 -4
  161. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.d.ts +1 -0
  162. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.js +12 -10
  163. package/lib/modules/action-bar/switch-output-language-room/notification-bar/dome.png +0 -0
  164. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.css +6 -3
  165. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.js +30 -13
  166. package/lib/modules/action-bar/view.js +25 -11
  167. package/lib/modules/audio-stream/index.d.ts +32 -9
  168. package/lib/modules/audio-stream/index.js +258 -57
  169. package/lib/modules/chat/chat-bar/index.css +1 -0
  170. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  171. package/lib/modules/chat/chat-bar/index.js +14 -16
  172. package/lib/modules/chat/chat-select/index.css +7 -0
  173. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  174. package/lib/modules/chat/chat-select/index.js +18 -4
  175. package/lib/modules/chat/chat.js +14 -26
  176. package/lib/modules/chat/index.d.ts +5 -3
  177. package/lib/modules/chat/index.dev.js +7 -3
  178. package/lib/modules/chat/index.js +16 -9
  179. package/lib/modules/chat/message-list.js +8 -3
  180. package/lib/modules/chat/store.d.ts +12 -6
  181. package/lib/modules/chat/store.js +109 -69
  182. package/lib/modules/components/device-control/components/audio-menu/index.d.ts +6 -0
  183. package/lib/modules/components/device-control/components/audio-menu/index.js +156 -0
  184. package/lib/modules/components/device-control/components/carmera/index.d.ts +3 -0
  185. package/lib/modules/components/device-control/components/carmera/index.js +111 -0
  186. package/lib/modules/components/device-control/components/microphone/index.d.ts +7 -0
  187. package/lib/modules/components/device-control/components/microphone/index.js +170 -0
  188. package/lib/modules/components/device-control/components/none-menu/index.d.ts +4 -0
  189. package/lib/modules/components/device-control/components/none-menu/index.js +68 -0
  190. package/lib/modules/components/device-control/components/phone-menu/index.d.ts +4 -0
  191. package/lib/modules/components/device-control/components/phone-menu/index.js +61 -0
  192. package/lib/modules/components/device-control/components/video-menu/index.d.ts +5 -0
  193. package/lib/modules/components/device-control/components/video-menu/index.js +111 -0
  194. package/lib/modules/components/device-control/hooks/index.d.ts +9 -0
  195. package/lib/modules/components/device-control/hooks/index.js +42 -0
  196. package/lib/modules/components/device-control/index.css +163 -0
  197. package/lib/modules/components/device-control/index.d.ts +3 -0
  198. package/lib/modules/components/device-control/index.js +21 -0
  199. package/lib/modules/components/device-control/store.d.ts +42 -0
  200. package/lib/modules/components/device-control/store.js +256 -0
  201. package/lib/modules/components/device-control/type.d.ts +6 -0
  202. package/lib/modules/components/device-control/type.js +13 -0
  203. package/lib/modules/components/security-menu/index.css +35 -0
  204. package/lib/modules/components/security-menu/index.d.ts +5 -0
  205. package/lib/modules/components/security-menu/index.js +315 -0
  206. package/lib/modules/components/toast/index.css +12 -0
  207. package/lib/modules/components/toast/index.d.ts +10 -0
  208. package/lib/modules/components/toast/index.js +66 -0
  209. package/lib/modules/components/toast/store.d.ts +17 -0
  210. package/lib/modules/components/toast/store.js +149 -0
  211. package/lib/modules/components/toast/view.d.ts +2 -0
  212. package/lib/modules/components/toast/view.js +35 -0
  213. package/lib/modules/connection-gateway/components/computer/index.js +6 -6
  214. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +1 -1
  215. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  216. package/lib/modules/connection-gateway/components/phone/index.js +3 -2
  217. package/lib/modules/connection-gateway/components/tabs/index.js +2 -1
  218. package/lib/modules/connection-gateway/index.d.ts +1 -1
  219. package/lib/modules/connection-gateway/index.js +1 -1
  220. package/lib/modules/connection-gateway/store.d.ts +8 -12
  221. package/lib/modules/connection-gateway/store.js +87 -111
  222. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +1 -0
  223. package/lib/modules/control-bar/components/cloud-recording-buttons.js +67 -0
  224. package/lib/modules/control-bar/components/meeting-details/index.css +133 -0
  225. package/lib/modules/control-bar/components/meeting-details/index.d.ts +2 -0
  226. package/lib/modules/control-bar/components/meeting-details/index.js +251 -0
  227. package/lib/modules/control-bar/components/more-actions/index.css +72 -0
  228. package/lib/modules/control-bar/components/more-actions/index.d.ts +7 -0
  229. package/lib/modules/control-bar/components/more-actions/index.js +182 -0
  230. package/lib/modules/control-bar/components/share-state-nav/index.css +74 -0
  231. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +10 -0
  232. package/lib/modules/control-bar/components/share-state-nav/index.js +116 -0
  233. package/lib/modules/control-bar/components/stop-live-streaming/index.d.ts +1 -0
  234. package/lib/modules/control-bar/components/stop-live-streaming/index.js +36 -0
  235. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +6 -0
  236. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +35 -0
  237. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +11 -0
  238. package/lib/modules/control-bar/components/transfer-position-icon/index.js +46 -0
  239. package/lib/modules/control-bar/index.css +341 -0
  240. package/lib/modules/control-bar/index.d.ts +29 -0
  241. package/lib/modules/control-bar/index.js +111 -0
  242. package/lib/modules/control-bar/store.d.ts +111 -0
  243. package/lib/modules/control-bar/store.js +881 -0
  244. package/lib/modules/control-bar/type.d.ts +10 -0
  245. package/lib/modules/control-bar/type.js +18 -0
  246. package/lib/modules/control-bar/view.d.ts +1 -0
  247. package/lib/modules/control-bar/view.js +351 -0
  248. package/lib/modules/device-pretest/assets/virtual-backdound-resources.d.ts +9 -0
  249. package/lib/modules/device-pretest/assets/virtual-backdound-resources.js +7 -1
  250. package/lib/modules/device-pretest/audio-preview/speaker-control.js +2 -2
  251. package/lib/modules/device-pretest/index.js +2 -2
  252. package/lib/modules/device-pretest/settings/beauty.d.ts +1 -1
  253. package/lib/modules/device-pretest/settings/video-settings-basic.js +2 -2
  254. package/lib/modules/device-pretest/store.d.ts +2 -1
  255. package/lib/modules/device-pretest/store.js +7 -7
  256. package/lib/modules/dialog/components/Interpreter/electron.js +35 -54
  257. package/lib/modules/dialog/components/Interpreter/index.js +8 -7
  258. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  259. package/lib/modules/dialog/components/chat/electron.js +17 -44
  260. package/lib/modules/dialog/components/chat/index.js +3 -3
  261. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  262. package/lib/modules/dialog/components/confirm/electron.js +38 -70
  263. package/lib/modules/dialog/components/confirm/index.d.ts +1 -9
  264. package/lib/modules/dialog/components/confirm/index.js +31 -77
  265. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +4 -1
  266. package/lib/modules/dialog/components/connection-gateway/electron.js +30 -40
  267. package/lib/modules/dialog/components/connection-gateway/index.d.ts +6 -1
  268. package/lib/modules/dialog/components/connection-gateway/index.js +11 -6
  269. package/lib/modules/dialog/components/control-bar/index.d.ts +7 -0
  270. package/lib/modules/dialog/components/control-bar/index.js +42 -0
  271. package/lib/modules/dialog/components/device-setting/electron.js +37 -56
  272. package/lib/modules/dialog/components/device-setting/index.js +4 -3
  273. package/lib/modules/dialog/components/invite/index.d.ts +3 -0
  274. package/lib/modules/dialog/components/invite/index.js +68 -0
  275. package/lib/modules/dialog/components/live-streaming/index.d.ts +4 -0
  276. package/lib/modules/dialog/components/live-streaming/index.js +88 -0
  277. package/lib/modules/dialog/components/operation-waiting-room/electron.js +28 -75
  278. package/lib/modules/dialog/components/operation-waiting-room/index.js +4 -4
  279. package/lib/modules/dialog/components/participant/electron.js +25 -74
  280. package/lib/modules/dialog/components/participant/index.js +6 -3
  281. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +8 -1
  282. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +22 -75
  283. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +3 -3
  284. package/lib/modules/dialog/components/share-screen-selection/index.js +10 -28
  285. package/lib/modules/dialog/components/switch-language-channels/electron.js +4 -4
  286. package/lib/modules/dialog/components/switch-language-channels/index.js +3 -3
  287. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  288. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  289. package/lib/modules/dialog/components/system-preference/electron.d.ts +5 -0
  290. package/lib/modules/dialog/components/system-preference/electron.js +42 -0
  291. package/lib/modules/dialog/components/system-preference/index.css +49 -0
  292. package/lib/modules/dialog/components/system-preference/index.d.ts +5 -0
  293. package/lib/modules/dialog/components/system-preference/index.js +150 -0
  294. package/lib/modules/dialog/components/toast/index.d.ts +3 -0
  295. package/lib/modules/dialog/components/toast/index.js +62 -0
  296. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  297. package/lib/modules/dialog/dialogs.d.ts +1 -5
  298. package/lib/modules/dialog/dialogs.js +23 -177
  299. package/lib/modules/dialog/hooks/useElectron.d.ts +26 -0
  300. package/lib/modules/dialog/hooks/useElectron.js +109 -0
  301. package/lib/modules/dialog/index.css +7 -2
  302. package/lib/modules/dialog/index.d.ts +6 -6
  303. package/lib/modules/dialog/index.js +9 -18
  304. package/lib/modules/dialog/store.d.ts +16 -18
  305. package/lib/modules/dialog/store.js +114 -164
  306. package/lib/modules/dialog/view.js +2 -2
  307. package/lib/modules/event-confirm/index.css +12 -0
  308. package/lib/modules/event-confirm/index.d.ts +10 -0
  309. package/lib/modules/event-confirm/index.js +55 -0
  310. package/lib/modules/event-confirm/store.d.ts +18 -0
  311. package/lib/modules/event-confirm/store.js +172 -0
  312. package/lib/modules/event-confirm/view.d.ts +2 -0
  313. package/lib/modules/event-confirm/view.js +156 -0
  314. package/lib/modules/event-toast/index.css +16 -0
  315. package/lib/modules/event-toast/index.d.ts +1 -1
  316. package/lib/modules/event-toast/index.js +19 -3
  317. package/lib/modules/event-toast/store.d.ts +13 -0
  318. package/lib/modules/event-toast/store.js +114 -17
  319. package/lib/modules/event-toast/view.d.ts +4 -1
  320. package/lib/modules/event-toast/view.js +28 -4
  321. package/lib/modules/invite/index.d.ts +1 -1
  322. package/lib/modules/invite/index.js +13 -3
  323. package/lib/modules/invite/pstn-invite.js +6 -9
  324. package/lib/modules/invite/store.d.ts +24 -25
  325. package/lib/modules/invite/store.js +148 -147
  326. package/lib/modules/invite/view.js +2 -2
  327. package/lib/modules/invite/voip-invite.js +2 -3
  328. package/lib/modules/layout/components/Aside.js +3 -3
  329. package/lib/modules/layout/components/Carousel.js +15 -9
  330. package/lib/modules/layout/components/Gallery.js +25 -17
  331. package/lib/modules/layout/components/Layout.js +11 -6
  332. package/lib/modules/layout/components/index.css +11 -4
  333. package/lib/modules/layout/index.css +1 -0
  334. package/lib/modules/layout/index.d.ts +4 -2
  335. package/lib/modules/layout/index.dev.js +20 -10
  336. package/lib/modules/layout/index.js +24 -18
  337. package/lib/modules/layout/member-window/index.css +95 -10
  338. package/lib/modules/layout/member-window/index.d.ts +10 -3
  339. package/lib/modules/layout/member-window/index.js +205 -112
  340. package/lib/modules/layout/store.d.ts +20 -7
  341. package/lib/modules/layout/store.js +137 -65
  342. package/lib/modules/layout/type.d.ts +2 -2
  343. package/lib/modules/layout/video-window-datasource.d.ts +5 -3
  344. package/lib/modules/layout/video-window-datasource.js +61 -26
  345. package/lib/modules/live-streaming/index.d.ts +1 -2
  346. package/lib/modules/live-streaming/index.js +13 -29
  347. package/lib/modules/live-streaming/store.d.ts +3 -7
  348. package/lib/modules/live-streaming/store.js +7 -73
  349. package/lib/modules/live-streaming/view.js +3 -3
  350. package/lib/modules/notification/index.css +2 -1
  351. package/lib/modules/notification/index.js +13 -3
  352. package/lib/modules/notification/interpreter-status/index.css +5 -1
  353. package/lib/modules/notification/interpreter-status/index.js +4 -1
  354. package/lib/modules/notification/store.d.ts +1 -0
  355. package/lib/modules/notification/store.js +4 -2
  356. package/lib/modules/notification/view.js +2 -2
  357. package/lib/modules/offscreen-pulling/index.d.ts +19 -0
  358. package/lib/modules/offscreen-pulling/index.js +127 -0
  359. package/lib/modules/participant/attendee/index.css +3 -0
  360. package/lib/modules/participant/attendee/index.d.ts +14 -3
  361. package/lib/modules/participant/attendee/index.js +87 -33
  362. package/lib/modules/participant/attendee/participants-more-action.d.ts +18 -0
  363. package/lib/modules/participant/attendee/participants-more-action.js +278 -0
  364. package/lib/modules/participant/components/drop-menu/index.css +59 -0
  365. package/lib/modules/participant/components/drop-menu/index.d.ts +2 -0
  366. package/lib/modules/participant/components/drop-menu/index.js +189 -0
  367. package/lib/modules/participant/components/footer/buttons.d.ts +7 -0
  368. package/lib/modules/participant/components/footer/buttons.js +53 -0
  369. package/lib/modules/participant/components/footer/index.d.ts +4 -0
  370. package/lib/modules/participant/components/footer/index.js +37 -0
  371. package/lib/modules/participant/components/merge/index.d.ts +11 -0
  372. package/lib/modules/participant/components/merge/index.js +49 -0
  373. package/lib/modules/participant/components/mute-all/index.d.ts +9 -0
  374. package/lib/modules/participant/components/mute-all/index.js +78 -0
  375. package/lib/modules/participant/components/participants/index.d.ts +2 -0
  376. package/lib/modules/participant/components/participants/index.js +201 -0
  377. package/lib/modules/participant/components/rename/index.d.ts +4 -0
  378. package/lib/modules/participant/components/rename/index.js +45 -0
  379. package/lib/modules/participant/index.css +6 -0
  380. package/lib/modules/participant/index.d.ts +8 -6
  381. package/lib/modules/participant/index.dev.js +10 -4
  382. package/lib/modules/participant/index.js +13 -33
  383. package/lib/modules/participant/member-list-data-source.d.ts +1 -1
  384. package/lib/modules/participant/member-list-data-source.js +3 -3
  385. package/lib/modules/participant/store.d.ts +38 -27
  386. package/lib/modules/participant/store.js +456 -292
  387. package/lib/modules/participant/type.d.ts +1 -1
  388. package/lib/modules/participant/view.d.ts +0 -9
  389. package/lib/modules/participant/view.js +8 -346
  390. package/lib/modules/setting/audio-settings/audio-settings.js +10 -10
  391. package/lib/modules/setting/dialog-wrapper.js +2 -2
  392. package/lib/modules/setting/general-settings/general-settings.js +2 -2
  393. package/lib/modules/setting/index.d.ts +3 -2
  394. package/lib/modules/setting/index.dev.js +1 -1
  395. package/lib/modules/setting/index.js +7 -3
  396. package/lib/modules/setting/minutes-settings/minutes-settings.js +2 -2
  397. package/lib/modules/setting/state/index.js +3 -3
  398. package/lib/modules/setting/storage-settings/storage-settings.js +2 -2
  399. package/lib/modules/setting/store.d.ts +16 -13
  400. package/lib/modules/setting/store.js +83 -53
  401. package/lib/modules/setting/translate-settings/translate-settings.js +2 -2
  402. package/lib/modules/setting/video-settings/video-settings-basic.js +2 -2
  403. package/lib/modules/setting/video-settings/video-settings.js +2 -11
  404. package/lib/modules/setting/view.js +1 -2
  405. package/lib/modules/share-screen/index.d.ts +1 -5
  406. package/lib/modules/share-screen/index.dev.js +8 -16
  407. package/lib/modules/share-screen/index.js +2 -99
  408. package/lib/modules/share-screen/selection/index.js +51 -40
  409. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  410. package/lib/modules/share-screen/store.d.ts +13 -47
  411. package/lib/modules/share-screen/store.js +470 -924
  412. package/lib/modules/share-screen/view.js +6 -19
  413. package/lib/modules/sound-effect/index.d.ts +54 -0
  414. package/lib/modules/sound-effect/index.js +295 -0
  415. package/lib/modules/sound-effect/sound-effect-player.d.ts +12 -0
  416. package/lib/modules/sound-effect/sound-effect-player.js +57 -0
  417. package/lib/modules/state-bar/index.css +3 -0
  418. package/lib/modules/state-bar/index.d.ts +8 -4
  419. package/lib/modules/state-bar/index.js +37 -23
  420. package/lib/modules/state-bar/layout-config.js +6 -7
  421. package/lib/modules/state-bar/live-streaming-state.js +10 -15
  422. package/lib/modules/state-bar/meeting-detail.css +32 -13
  423. package/lib/modules/state-bar/meeting-details.js +118 -58
  424. package/lib/modules/state-bar/meeting-network-state.js +4 -4
  425. package/lib/modules/state-bar/meeting-time.js +2 -2
  426. package/lib/modules/state-bar/network-quality.js +2 -2
  427. package/lib/modules/state-bar/recording.js +2 -3
  428. package/lib/modules/state-bar/store.d.ts +9 -6
  429. package/lib/modules/state-bar/store.js +45 -41
  430. package/lib/modules/state-bar/view.js +41 -28
  431. package/lib/modules/video-window/deviceState/index.d.ts +2 -1
  432. package/lib/modules/video-window/deviceState/index.js +8 -8
  433. package/lib/modules/video-window/index.d.ts +2 -1
  434. package/lib/modules/video-window/index.js +23 -16
  435. package/lib/modules/video-window/members/index.js +14 -8
  436. package/lib/modules/video-window/speaking/index.js +2 -2
  437. package/lib/modules/video-window/store.d.ts +13 -5
  438. package/lib/modules/video-window/store.js +73 -20
  439. package/lib/modules/video-window/topControl/index.js +2 -2
  440. package/lib/modules/video-window/type.d.ts +0 -5
  441. package/lib/modules/video-window/type.js +1 -7
  442. package/lib/modules/video-window/view.js +2 -2
  443. package/lib/modules/waiting-room-layout/index.css +17 -3
  444. package/lib/modules/waiting-room-layout/index.js +13 -3
  445. package/lib/modules/waiting-room-layout/store.d.ts +5 -2
  446. package/lib/modules/waiting-room-layout/store.js +12 -5
  447. package/lib/modules/waiting-room-layout/view.js +43 -33
  448. package/lib/modules/whiteboard/app.js +2 -2
  449. package/lib/modules/whiteboard/components/control-bar/index.js +4 -6
  450. package/lib/modules/whiteboard/components/control-bar/store.d.ts +2 -2
  451. package/lib/modules/whiteboard/components/control-bar/store.js +1 -1
  452. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  453. package/lib/modules/whiteboard/components/multi-window/index.js +2 -2
  454. package/lib/modules/whiteboard/components/progress/electron.js +3 -3
  455. package/lib/modules/whiteboard/components/switch-theme/index.css +1 -0
  456. package/lib/modules/whiteboard/components/switch-theme/index.js +19 -9
  457. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +1 -1
  458. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +1 -1
  459. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -1
  460. package/lib/modules/whiteboard/context.d.ts +1 -1
  461. package/lib/modules/whiteboard/context.js +2 -2
  462. package/lib/modules/whiteboard/index.d.ts +5 -10
  463. package/lib/modules/whiteboard/index.js +32 -74
  464. package/lib/modules/whiteboard/type.d.ts +1 -1
  465. package/lib/plugins/browser-runtime-plugin.js +24 -3
  466. package/lib/plugins/electron-rtc-plugin.js +3 -3
  467. package/lib/plugins/module-dev-plugin.d.ts +1 -1
  468. package/lib/plugins/module-dev-plugin.js +3 -3
  469. package/lib/plugins/rtm-plugin.js +3 -3
  470. package/lib/plugins/web-rtc-plugin.js +3 -3
  471. package/lib/runtime.d.ts +14 -4
  472. package/lib/translations/enUS.d.ts +267 -2
  473. package/lib/translations/enUS.js +373 -103
  474. package/lib/translations/zhCN.d.ts +267 -3
  475. package/lib/translations/zhCN.js +299 -30
  476. package/lib/type.d.ts +13 -4
  477. package/lib/type.js +4 -4
  478. package/lib/ui-manager.d.ts +8 -9
  479. package/lib/ui-manager.js +602 -655
  480. package/lib/ui-scene.d.ts +3 -3
  481. package/lib/ui-scene.js +9 -22
  482. package/lib/utilities/constant.d.ts +44 -155
  483. package/lib/utilities/constant.js +42 -129
  484. package/lib/utilities/extract.d.ts +1 -1
  485. package/lib/utilities/parameters.d.ts +4 -0
  486. package/lib/utilities/parameters.js +19 -1
  487. package/lib/utilities/renderer.d.ts +2 -1
  488. package/lib/utilities/renderer.js +6 -3
  489. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  490. package/lib/utilities/screen-capture-permission.js +16 -0
  491. package/lib/utilities/screen.js +32 -23
  492. package/lib/utilities/tools.d.ts +10 -1
  493. package/lib/utilities/tools.js +69 -4
  494. package/lib/utilities/ui-resources.d.ts +1 -0
  495. package/lib/utilities/ui-resources.js +5 -2
  496. package/lib/utilities/video-track-render-context.d.ts +2 -2
  497. package/package.json +7 -7
  498. package/public/assets/loading.gif +0 -0
  499. package/public/index.html +43 -4
  500. package/dist/electron/app.js +0 -148
  501. package/dist/electron/bootstrap-sdk.js +0 -56
  502. package/dist/electron/default-options.js +0 -25
  503. package/dist/electron/env.js +0 -13
  504. package/dist/electron/index.js +0 -20
  505. package/dist/electron/injections.js +0 -702
  506. package/dist/electron/logger.js +0 -66
  507. package/dist/electron/main.js +0 -67
  508. package/dist/electron/plugins/meeting-state.js +0 -39
  509. package/dist/electron/plugins/screenshot.js +0 -49
  510. package/dist/electron/preload.js +0 -36
  511. package/dist/electron/tools.js +0 -66
  512. package/dist/electron/window.js +0 -124
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.setInMeetingState = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.handleWillClose = exports.getCurrentWorkArea = exports.close = void 0;
7
+ exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.handleWillClose = exports.getCurrentSharingWorkArea = exports.close = void 0;
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  require("core-js/modules/es.array.find.js");
10
10
  require("core-js/modules/es.array.index-of.js");
@@ -23,7 +23,7 @@ var close = exports.close = function close(path) {
23
23
  var isWindows = exports.isWindows = function isWindows() {
24
24
  return navigator.userAgent.indexOf('Windows') > -1;
25
25
  };
26
- var getCurrentWorkArea = exports.getCurrentWorkArea = function getCurrentWorkArea(currentShareId, currentShareType, allApplicationWindows) {
26
+ var getCurrentSharingWorkArea = exports.getCurrentSharingWorkArea = function getCurrentSharingWorkArea(currentShareId, currentShareType, allApplicationWindows) {
27
27
  var displays = window.runtime.screen.getAllDisplays();
28
28
  var bounds = {
29
29
  x: 0,
@@ -33,7 +33,7 @@ var getCurrentWorkArea = exports.getCurrentWorkArea = function getCurrentWorkAre
33
33
  displayId: 1,
34
34
  availTop: 0
35
35
  };
36
- if (currentShareType === _type.AgoraRtcScreenCaptureType.DISPLAY) {
36
+ if (currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN) {
37
37
  var display;
38
38
  if (isWindows()) {
39
39
  display = displays.find(function (display, index) {
@@ -115,4 +115,7 @@ var releaseSubAllWindowRefs = exports.releaseSubAllWindowRefs = function release
115
115
  };
116
116
  var setInMeetingState = exports.setInMeetingState = function setInMeetingState(state) {
117
117
  window.runtime.setInMeetingState(state);
118
+ };
119
+ var restartApp = exports.restartApp = function restartApp() {
120
+ window.runtime.restartApp();
118
121
  };
@@ -0,0 +1 @@
1
+ export declare const hasScreenCapturePermission: () => boolean;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.hasScreenCapturePermission = void 0;
8
+ var _env = require("agora-foundation/lib/utilities/env");
9
+ var hasScreenCapturePermission = exports.hasScreenCapturePermission = function hasScreenCapturePermission() {
10
+ if ((0, _env.isElectron)()) {
11
+ var _window$require = window.require('@electron/remote'),
12
+ systemPreferences = _window$require.systemPreferences;
13
+ return systemPreferences.getMediaAccessStatus('screen') === 'granted';
14
+ }
15
+ return true;
16
+ };
@@ -5,37 +5,46 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.isFullScreen = exports.exitFullScreen = exports.enterFullScreen = void 0;
8
+ var _env = require("agora-foundation/lib/utilities/env");
8
9
  var isFullScreen = exports.isFullScreen = function isFullScreen() {
9
- return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
10
+ return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && window.runtime.browserWindow.isFullScreen());
10
11
  };
11
12
  var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
12
13
  if (isFullScreen()) return;
13
14
  var elem = document.documentElement;
14
- if (elem.requestFullscreen) {
15
- elem.requestFullscreen();
16
- } else if (elem.mozRequestFullScreen) {
17
- /* Firefox */
18
- elem.mozRequestFullScreen();
19
- } else if (elem.webkitRequestFullscreen) {
20
- /* Chrome, Safari and Opera */
21
- elem.webkitRequestFullscreen();
22
- } else if (elem.msRequestFullscreen) {
23
- /* IE/Edge */
24
- elem.msRequestFullscreen();
15
+ if ((0, _env.isElectron)()) {
16
+ window.runtime.browserWindow.setFullScreen(true);
17
+ } else {
18
+ if (elem.requestFullscreen) {
19
+ elem.requestFullscreen();
20
+ } else if (elem.mozRequestFullScreen) {
21
+ /* Firefox */
22
+ elem.mozRequestFullScreen();
23
+ } else if (elem.webkitRequestFullscreen) {
24
+ /* Chrome, Safari and Opera */
25
+ elem.webkitRequestFullscreen();
26
+ } else if (elem.msRequestFullscreen) {
27
+ /* IE/Edge */
28
+ elem.msRequestFullscreen();
29
+ }
25
30
  }
26
31
  };
27
32
  var exitFullScreen = exports.exitFullScreen = function exitFullScreen() {
28
33
  if (!isFullScreen()) return;
29
- if (document.exitFullscreen) {
30
- document.exitFullscreen();
31
- } else if (document.mozCancelFullScreen) {
32
- /* Firefox */
33
- document.mozCancelFullScreen();
34
- } else if (document.webkitExitFullscreen) {
35
- /* Chrome, Safari and Opera */
36
- document.webkitExitFullscreen();
37
- } else if (document.msExitFullscreen) {
38
- /* IE/Edge */
39
- document.msExitFullscreen();
34
+ if ((0, _env.isElectron)()) {
35
+ window.runtime.browserWindow.setFullScreen(false);
36
+ } else {
37
+ if (document.exitFullscreen) {
38
+ document.exitFullscreen();
39
+ } else if (document.mozCancelFullScreen) {
40
+ /* Firefox */
41
+ document.mozCancelFullScreen();
42
+ } else if (document.webkitExitFullscreen) {
43
+ /* Chrome, Safari and Opera */
44
+ document.webkitExitFullscreen();
45
+ } else if (document.msExitFullscreen) {
46
+ /* IE/Edge */
47
+ document.msExitFullscreen();
48
+ }
40
49
  }
41
50
  };
@@ -1,3 +1,4 @@
1
+ import { Bounds } from 'electron-screenshots';
1
2
  export declare const uint8ArrayToImageData: (target: {
2
3
  buffer?: Uint8Array;
3
4
  width?: number;
@@ -18,8 +19,16 @@ export declare const matchVirtualSoundCardPattern: (deviceName: string) => boole
18
19
  export declare const isResourceZipUrl: (url: string) => boolean;
19
20
  export declare const isPngOrJpg: (path: string) => boolean;
20
21
  export declare const isMp4: (path: string) => boolean;
22
+ export declare const isMp3OrWav: (path: string) => boolean;
21
23
  export declare function getFileNameWithoutExtension(filePath: string): string;
22
24
  export declare const setLanguage: (language: string) => void;
23
25
  export declare const getLanguage: () => string | null;
24
- export declare const waitUntil: (prediction: () => boolean | Promise<boolean>, memo?: string, intervalMs?: number) => Promise<void>;
26
+ export declare const waitUntil: (prediction: () => boolean | Promise<boolean>, memo?: string, intervalMs?: number, timeout?: number) => Promise<void>;
27
+ export declare const renderMeetingId: (meetingId: string | undefined, roomId: string) => string;
28
+ export declare function handleCheckMouseOver(params: {
29
+ elem: HTMLDivElement;
30
+ browserWindow: Electron.BrowserWindow;
31
+ screenBounds: Bounds;
32
+ callback?: (timerId: NodeJS.Timeout) => void;
33
+ }): NodeJS.Timeout;
25
34
  export {};
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getAssetUrl = exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
9
9
  exports.getFileNameWithoutExtension = getFileNameWithoutExtension;
10
- exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.matchVirtualSoundCardPattern = exports.isResourceZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.getLanguage = void 0;
10
+ exports.getLanguage = void 0;
11
+ exports.handleCheckMouseOver = handleCheckMouseOver;
12
+ exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isResourceZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
11
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
14
  require("core-js/modules/es.array.concat.js");
13
15
  require("core-js/modules/es.array.reduce.js");
16
+ require("core-js/modules/es.array.slice.js");
17
+ require("core-js/modules/es.date.now.js");
14
18
  require("core-js/modules/es.number.constructor.js");
15
19
  require("core-js/modules/es.number.to-fixed.js");
16
20
  require("core-js/modules/es.object.to-string.js");
@@ -19,9 +23,11 @@ require("core-js/modules/es.regexp.exec.js");
19
23
  require("core-js/modules/es.regexp.test.js");
20
24
  require("core-js/modules/es.string.ends-with.js");
21
25
  require("core-js/modules/es.string.match.js");
26
+ require("core-js/modules/es.string.replace.js");
22
27
  require("core-js/modules/esnext.async-iterator.reduce.js");
23
28
  require("core-js/modules/esnext.iterator.constructor.js");
24
29
  require("core-js/modules/esnext.iterator.reduce.js");
30
+ require("core-js/modules/web.timers.js");
25
31
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
26
32
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
27
33
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -116,6 +122,10 @@ var isMp4 = exports.isMp4 = function isMp4(path) {
116
122
  if (!path || typeof path !== 'string') return false;
117
123
  return path.endsWith('.mp4');
118
124
  };
125
+ var isMp3OrWav = exports.isMp3OrWav = function isMp3OrWav(path) {
126
+ if (!path || typeof path !== 'string') return false;
127
+ return path.endsWith('.mp3') || path.endsWith('.wav');
128
+ };
119
129
  function getFileNameWithoutExtension(filePath) {
120
130
  var match = filePath.match(/([^\\/]+)(?=\.\w+$)/);
121
131
  return match ? match[1] : '';
@@ -129,33 +139,46 @@ var getLanguage = exports.getLanguage = function getLanguage() {
129
139
  var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
130
140
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(prediction, memo) {
131
141
  var intervalMs,
142
+ timeout,
132
143
  logger,
144
+ startTs,
133
145
  _args2 = arguments;
134
146
  return _regenerator["default"].wrap(function _callee2$(_context2) {
135
147
  while (1) switch (_context2.prev = _context2.next) {
136
148
  case 0:
137
149
  intervalMs = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 100;
150
+ timeout = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : 3000;
138
151
  logger = (0, _logger.getLogger)();
152
+ startTs = Date.now();
139
153
  return _context2.abrupt("return", new Promise(function (resolve) {
140
154
  var task = _schedule.AgoraScheduler.shared.addPollingTask(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
141
155
  var isTrue;
142
156
  return _regenerator["default"].wrap(function _callee$(_context) {
143
157
  while (1) switch (_context.prev = _context.next) {
144
158
  case 0:
159
+ if (!(Date.now() - startTs > timeout)) {
160
+ _context.next = 5;
161
+ break;
162
+ }
163
+ logger.warn("[wait-until] predict ".concat(memo, ": timeout"));
164
+ task.stop();
165
+ resolve();
166
+ return _context.abrupt("return");
167
+ case 5:
145
168
  isTrue = prediction();
146
169
  logger.info("[wait-until] predict ".concat(memo, ": ").concat(isTrue));
147
170
  if (isTrue) {
148
171
  task.stop();
149
172
  resolve();
150
173
  }
151
- case 3:
174
+ case 8:
152
175
  case "end":
153
176
  return _context.stop();
154
177
  }
155
178
  }, _callee);
156
179
  })), intervalMs, false);
157
180
  }));
158
- case 3:
181
+ case 5:
159
182
  case "end":
160
183
  return _context2.stop();
161
184
  }
@@ -164,4 +187,46 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
164
187
  return function waitUntil(_x, _x2) {
165
188
  return _ref.apply(this, arguments);
166
189
  };
167
- }();
190
+ }();
191
+ var renderMeetingId = exports.renderMeetingId = function renderMeetingId(meetingId, roomId) {
192
+ var renderMeetingId = '';
193
+ if (meetingId) {
194
+ renderMeetingId = meetingId;
195
+ } else {
196
+ if (roomId.endsWith('-waiting')) {
197
+ renderMeetingId = roomId.slice(0, -8).replace(/(.{3})/g, '$1 ');
198
+ } else {
199
+ renderMeetingId = roomId.replace(/(.{3})/g, '$1 ');
200
+ }
201
+ }
202
+ return renderMeetingId;
203
+ };
204
+ // 修复 windows 无法响应 hover 的问题
205
+ function handleCheckMouseOver(params) {
206
+ var elem = params.elem,
207
+ browserWindow = params.browserWindow,
208
+ screenBounds = params.screenBounds,
209
+ callback = params.callback;
210
+ browserWindow.focus();
211
+ browserWindow.setIgnoreMouseEvents(true);
212
+ var timerId = setInterval(function () {
213
+ var _window$runtime$scree = window.runtime.screen.getCursorScreenPoint(),
214
+ x = _window$runtime$scree.x,
215
+ y = _window$runtime$scree.y;
216
+ var offsetWidth = elem.offsetWidth,
217
+ offsetHeight = elem.offsetHeight;
218
+ var _elem$getBoundingClie = elem.getBoundingClientRect(),
219
+ left = _elem$getBoundingClie.left,
220
+ top = _elem$getBoundingClie.top;
221
+ var sx = screenBounds.x,
222
+ sy = screenBounds.y;
223
+ if (x > left + sx && x < left + offsetWidth + sx && y > 0 + sy && y < offsetHeight + top + sy) {
224
+ browserWindow.setIgnoreMouseEvents(false);
225
+ if (!browserWindow.isFocused()) {
226
+ browserWindow.focus();
227
+ }
228
+ }
229
+ }, 50);
230
+ callback === null || callback === void 0 || callback(timerId);
231
+ return timerId;
232
+ }
@@ -1,2 +1,3 @@
1
1
  export declare const BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST: string[];
2
2
  export declare const BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST: string[];
3
+ export declare const BUILTIN_SOUND_EFFECT_URL_LIST: string[];
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = void 0;
7
+ exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
8
8
  var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = [
9
9
  // electron zip
10
10
  'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip'
@@ -23,4 +23,7 @@ var BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROU
23
23
  // browser png
24
24
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default8.mp4',
25
25
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default9.mp4',
26
- ];
26
+ ];
27
+ var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = ['https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/sound_effect_audios.zip',
28
+ // browser mp3
29
+ 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3', 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/speaker_test.mp3', 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/recording_started.mp3'];
@@ -1,7 +1,7 @@
1
1
  import { FcrDeviceStore } from '../common/device-store';
2
- import { FcrStreamControl } from 'agora-edu-core';
2
+ import { FcrRemoteVideoRenderManager } from '../common/remote-renderer';
3
3
  export interface FcrVideoTrackRenderer {
4
4
  deviceStore?: FcrDeviceStore;
5
- streamControl?: FcrStreamControl;
5
+ remoteVideoRenderManager?: FcrRemoteVideoRenderManager;
6
6
  }
7
7
  export declare const FcrVideoTrackRenderContext: import("react").Context<FcrVideoTrackRenderer>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -20,7 +20,7 @@
20
20
  "@electron/remote": "2.0.1",
21
21
  "@react-spring/web": "^9.7.3",
22
22
  "@use-gesture/react": "^10.3.1",
23
- "agora-electron-sdk": "4.3.2-build.90-rc.1",
23
+ "agora-electron-sdk": "4.3.2-build.11-rc.1",
24
24
  "classnames": "^2.5.1",
25
25
  "core-js": "^3.33.3",
26
26
  "dayjs": "^1.10.4",
@@ -40,9 +40,9 @@
40
40
  "systeminformation": "^5.22.11",
41
41
  "jszip": "^3.10.1",
42
42
  "winston": "^3.16.0",
43
- "agora-foundation": "^3.3.1",
44
- "agora-ui-foundation": "^3.3.1",
45
- "agora-edu-core": "^3.3.1"
43
+ "agora-foundation": "^3.4.0",
44
+ "agora-ui-foundation": "^3.4.0",
45
+ "fcr-core": "^3.4.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@babel/core": "^7.23.5",
@@ -58,13 +58,13 @@
58
58
  "@types/react-virtualized": "^9.21.30",
59
59
  "@types/tinycolor2": "^1.4.6",
60
60
  "core-js": "^3.33.3",
61
- "electron": "24.8.8",
61
+ "electron": "22.3.27",
62
62
  "husky": "^9.0.11",
63
63
  "lint-staged": "^15.2.2",
64
64
  "prettier": "^3.2.5",
65
65
  "react-hot-loader": "^4.13.1",
66
66
  "tslib": "^2.6.2",
67
- "agora-toolchain": "^3.3.1"
67
+ "agora-toolchain": "^3.4.0"
68
68
  },
69
69
  "lint-staged": {
70
70
  "*.{ts,tsx,html,css}": "prettier --write"
Binary file
package/public/index.html CHANGED
@@ -6,11 +6,28 @@
6
6
  <title>Meeting</title>
7
7
  </head>
8
8
 
9
- <body>
9
+ <body style="background: rgb(251, 252, 255)">
10
+ <div
11
+ style="display: flex; align-items: center; justify-content: center; height: 100vh"
12
+ id="launch-loading">
13
+ <img src="assets/loading.gif" alt="loading" width="128" height="128" />
14
+ </div>
10
15
  <div id="root"></div>
11
16
  </body>
12
17
  <script>
18
+ const setLoading = (visible) => {
19
+ const dom = document.querySelector('#launch-loading');
20
+ if (dom) {
21
+ if (visible) {
22
+ dom.style.display = 'flex';
23
+ } else {
24
+ dom.style.display = 'none';
25
+ }
26
+ }
27
+ };
28
+
13
29
  (async () => {
30
+ setLoading(true);
14
31
  const launchOptions = await window.runtime.getLaunchOptions();
15
32
  let launchOptionsObj = launchOptions;
16
33
  try {
@@ -18,12 +35,27 @@
18
35
  } catch (e) {
19
36
  console.error('Failed to parse launch options', e);
20
37
  }
21
- const { appId, userId, parameters, ...others } = launchOptionsObj;
22
- const uiScene = new FcrUIScene.FcrUISceneCreator({
38
+ const {
39
+ appId,
40
+ userId,
41
+ parameters,
42
+ cameraExpectedOff,
43
+ autoConnectAudio,
44
+ microphoneExpectedOff,
45
+ ...others
46
+ } = launchOptionsObj;
47
+ const creator = new FcrUIScene.FcrUISceneCreator({
23
48
  appId,
24
49
  userId,
25
50
  parameters,
26
- }).launch(
51
+ });
52
+ const settingConfig = creator.getSettingConfig();
53
+ settingConfig.media = {
54
+ cameraExpectedOff,
55
+ autoConnectAudio,
56
+ microphoneExpectedOff,
57
+ };
58
+ const uiScene = creator.launch(
27
59
  others,
28
60
  () => {
29
61
  window.runtime.quitApp();
@@ -40,6 +72,13 @@
40
72
  document.getElementById('root'),
41
73
  );
42
74
  uiScene.addObserver({
75
+ onLaunchSuccess: () => {
76
+ setLoading(false);
77
+ },
78
+ onLaunchFailure: () => {
79
+ setLoading(false);
80
+ window.runtime.quitApp();
81
+ },
43
82
  onExited: (reason) => {
44
83
  window.runtime.quitApp();
45
84
  },
@@ -1,148 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.hookApp = void 0;
9
- require("core-js/modules/es.array.find.js");
10
- require("core-js/modules/es.array.for-each.js");
11
- require("core-js/modules/es.array.join.js");
12
- require("core-js/modules/es.object.keys.js");
13
- require("core-js/modules/es.object.to-string.js");
14
- require("core-js/modules/es.string.starts-with.js");
15
- require("core-js/modules/esnext.async-iterator.find.js");
16
- require("core-js/modules/esnext.async-iterator.for-each.js");
17
- require("core-js/modules/esnext.iterator.constructor.js");
18
- require("core-js/modules/esnext.iterator.find.js");
19
- require("core-js/modules/esnext.iterator.for-each.js");
20
- require("core-js/modules/esnext.json.parse.js");
21
- require("core-js/modules/web.dom-collections.for-each.js");
22
- require("core-js/modules/web.timers.js");
23
- var _window = require("./window");
24
- var _electron = require("electron");
25
- var _path = _interopRequireDefault(require("path"));
26
- var _logger = require("./logger");
27
- var hookApp = exports.hookApp = function hookApp(app) {
28
- var logger = (0, _logger.getLogger)();
29
- var isWindowDestroyed = function isWindowDestroyed(window) {
30
- return window.isDestroyed();
31
- };
32
- app.addListener('browser-window-created', function (_, window) {
33
- var windowId = window.id;
34
- window.addListener('close', function () {
35
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
36
- if (!isWindowDestroyed(window)) {
37
- window.webContents.send('custom-event', {
38
- action: 'FRAGMENT_CLOSED',
39
- payload: (0, _window.getWindowKeyById)(windowId)
40
- });
41
- }
42
- });
43
- });
44
- window.webContents.addListener('render-process-gone', function (event, arg) {
45
- logger.info("render-process-gone: ".concat(arg));
46
- });
47
- window.webContents.addListener('did-finish-load', function () {
48
- setTimeout(function () {
49
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
50
- if (!isWindowDestroyed(window)) {
51
- window.webContents.send('custom-event', {
52
- action: 'FRAGMENT_LOADED',
53
- payload: (0, _window.getWindowKeyById)(windowId)
54
- });
55
- }
56
- });
57
- });
58
- });
59
- });
60
- app.addListener('ready', function () {
61
- _electron.powerMonitor.addListener('suspend', function () {
62
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
63
- window.webContents.send('custom-event', {
64
- action: 'POWER_MONITOR_SUSPEND'
65
- });
66
- });
67
- });
68
- _electron.powerMonitor.addListener('resume', function () {
69
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
70
- window.webContents.send('custom-event', {
71
- action: 'POWER_MONITOR_RESUME'
72
- });
73
- });
74
- });
75
- _electron.powerMonitor.addListener('lock-screen', function () {
76
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
77
- window.webContents.send('custom-event', {
78
- action: 'POWER_MONITOR_LOCK_SCREEN'
79
- });
80
- });
81
- });
82
- _electron.powerMonitor.addListener('unlock-screen', function () {
83
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
84
- window.webContents.send('custom-event', {
85
- action: 'POWER_MONITOR_UNLOCK_SCREEN'
86
- });
87
- });
88
- });
89
- _electron.powerMonitor.addListener('shutdown', function () {
90
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
91
- window.webContents.send('custom-event', {
92
- action: 'POWER_MONITOR_SHUTDOWN'
93
- });
94
- });
95
- });
96
- _electron.ipcMain.handle('get-launch-options', function () {
97
- var launchOptions = process.argv.find(function (arg) {
98
- return arg.startsWith('--launch-options=');
99
- });
100
- if (!launchOptions) {
101
- logger.error('No launch options found');
102
- return {};
103
- }
104
- var jsonStr = launchOptions.substring('--launch-options='.length);
105
- try {
106
- return launchOptions = JSON.parse(jsonStr);
107
- } catch (e) {
108
- logger.error('Invalid JSON argument:', jsonStr);
109
- }
110
- });
111
- _electron.ipcMain.handle('launch', function (_e, launchOptions) {
112
- if (process.platform === 'darwin') {
113
- var ext = require(_path["default"].join(process.resourcesPath, 'Frameworks', 'FcrUISceneLauncher.node'));
114
- var res = ext.launch(launchOptions);
115
- if (res !== 0) {
116
- logger.error('Failed to launch FcrUISceneLauncher');
117
- }
118
- } else {
119
- var _ext = require(_path["default"].join(process.resourcesPath, 'Libs', 'FcrUISceneLauncher.node'));
120
- var _res = _ext.launch(launchOptions);
121
- if (_res !== 0) {
122
- logger.error('Failed to launch FcrUISceneLauncher');
123
- }
124
- }
125
- });
126
- _electron.ipcMain.handle('getBrowserWindowId', function (_, frameName) {
127
- var _getRendererWindow;
128
- return (_getRendererWindow = (0, _window.getRendererWindow)(frameName)) === null || _getRendererWindow === void 0 ? void 0 : _getRendererWindow.id;
129
- });
130
- _electron.ipcMain.addListener('open', function (_, entryPath, dialogId) {
131
- (0, _window.open)(entryPath, dialogId);
132
- });
133
- _electron.ipcMain.addListener('close', function (_, entryPath, dialogId) {
134
- (0, _window.close)(entryPath, dialogId);
135
- });
136
- _electron.ipcMain.addListener('setFragmentBaseUrl', function (_, isDev, baseUrl) {
137
- (0, _window.setFragmentBaseUrl)(isDev, baseUrl);
138
- });
139
- _electron.ipcMain.addListener('setFragmentOptions', function (_, entryPath, windowOptions, webPreferences) {
140
- _window.windowOptionsMap[entryPath] = windowOptions;
141
- _window.webPreferencesMap[entryPath] = webPreferences;
142
- });
143
- _electron.ipcMain.addListener('closeAllSubWindows', function () {
144
- (0, _window.closeAllWindows)();
145
- (0, _window.clearAllRendererWindows)();
146
- });
147
- });
148
- };
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
- require("core-js/modules/es.array.push.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
- require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
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
- require("core-js/modules/esnext.async-iterator.filter.js");
14
- require("core-js/modules/esnext.async-iterator.for-each.js");
15
- require("core-js/modules/esnext.iterator.constructor.js");
16
- require("core-js/modules/esnext.iterator.filter.js");
17
- require("core-js/modules/esnext.iterator.for-each.js");
18
- require("core-js/modules/web.dom-collections.for-each.js");
19
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
- require("core-js/modules/es.array.join.js");
21
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
- var _electron = require("electron");
23
- var _main = require("@electron/remote/main");
24
- var _2 = require(".");
25
- var _defaultOptions = require("./default-options");
26
- var _env = require("./env");
27
- var _path = _interopRequireDefault(require("path"));
28
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
- (0, _main.initialize)();
31
- (0, _2.hookApp)(_electron.app);
32
- _electron.app.addListener('ready', function () {
33
- var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
34
- webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
35
- show: false
36
- }));
37
- (0, _2.hookWindow)(mainWindow);
38
- mainWindow.addListener('closed', function () {
39
- _electron.app.exit(0);
40
- });
41
- mainWindow.addListener('ready-to-show', function () {
42
- mainWindow.show();
43
- });
44
- if (_env.isDev) {
45
- mainWindow.webContents.openDevTools({
46
- mode: 'detach'
47
- });
48
- mainWindow.loadURL(_env.devPageUrl);
49
- } else {
50
- mainWindow.loadFile(_path["default"].join(_env.distPathPrefix, _env.distIndexFileName));
51
- }
52
- return mainWindow;
53
- });
54
- _electron.app.addListener('browser-window-created', function (_, window) {
55
- (0, _main.enable)(window.webContents);
56
- });