fcr-ui-scene 3.6.2 → 3.6.4

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 (374) hide show
  1. package/lib/base.js +0 -3
  2. package/lib/creator.d.ts +1 -0
  3. package/lib/creator.js +64 -50
  4. package/lib/electron/app.js +33 -14
  5. package/lib/electron/bootstrap-dev.js +5 -3
  6. package/lib/electron/bootstrap-sdk.js +4 -10
  7. package/lib/electron/exit-codes.d.ts +14 -0
  8. package/lib/electron/exit-codes.js +22 -0
  9. package/lib/electron/injections.d.ts +3 -2
  10. package/lib/electron/injections.js +122 -124
  11. package/lib/electron/ipc/ipc.js +0 -1
  12. package/lib/electron/main.js +57 -12
  13. package/lib/electron/tools.js +0 -4
  14. package/lib/electron/window.js +1 -7
  15. package/lib/fragments/annotation/index.d.ts +1 -0
  16. package/lib/fragments/annotation/index.js +54 -40
  17. package/lib/fragments/annotation/store.d.ts +7 -2
  18. package/lib/fragments/annotation/store.js +181 -102
  19. package/lib/fragments/annotation/view.d.ts +1 -0
  20. package/lib/fragments/annotation/view.js +10 -2
  21. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  22. package/lib/modules/action-bar/components/apps/app-list.js +2 -5
  23. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
  24. package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
  25. package/lib/modules/action-bar/components/collapse/index.js +0 -4
  26. package/lib/modules/action-bar/components/item/index.js +0 -2
  27. package/lib/modules/action-bar/components/leave/index.js +0 -2
  28. package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
  29. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
  30. package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
  31. package/lib/modules/action-bar/components/screen-share/index.js +0 -1
  32. package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
  33. package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
  34. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
  35. package/lib/modules/action-bar/index.css +4 -0
  36. package/lib/modules/action-bar/index.js +1 -2
  37. package/lib/modules/action-bar/store.d.ts +1 -7
  38. package/lib/modules/action-bar/store.js +67 -118
  39. package/lib/modules/annotation/board-cursor.css +76 -0
  40. package/lib/modules/annotation/components/control-bar/index.js +43 -2
  41. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +5 -2
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
  44. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
  45. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
  46. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
  47. package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
  48. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
  49. package/lib/modules/annotation/components/toolbar/store.js +0 -1
  50. package/lib/modules/annotation/index.d.ts +4 -0
  51. package/lib/modules/annotation/index.js +3 -1
  52. package/lib/modules/annotation/store.d.ts +15 -5
  53. package/lib/modules/annotation/store.js +222 -205
  54. package/lib/modules/annotation/style.css +3 -3
  55. package/lib/modules/annotation/view.d.ts +1 -0
  56. package/lib/modules/annotation/view.js +26 -9
  57. package/lib/modules/audio-stream/index.js +0 -4
  58. package/lib/modules/chat/chat-room-store.js +6 -10
  59. package/lib/modules/chat/components/chat-bar/index.js +0 -2
  60. package/lib/modules/chat/components/chat-select/index.js +0 -1
  61. package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
  62. package/lib/modules/chat/components/message-list/index.js +1 -3
  63. package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
  64. package/lib/modules/chat/index.js +13 -14
  65. package/lib/modules/chat/store.js +0 -1
  66. package/lib/modules/chat/view.js +11 -15
  67. package/lib/modules/components/annotation-menu/index.js +0 -3
  68. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
  69. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  70. package/lib/modules/components/device-control/store.js +0 -1
  71. package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
  72. package/lib/modules/components/leave-meeting/store.js +11 -12
  73. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  74. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  75. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
  76. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  79. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +7 -34
  82. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  83. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +8 -13
  85. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  87. package/lib/modules/components/member-window/components/member-actions/index.js +1 -33
  88. package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +120 -13
  91. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
  92. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  94. package/lib/modules/components/member-window/components/video-player/index.js +3 -3
  95. package/lib/modules/components/member-window/index.css +37 -0
  96. package/lib/modules/components/member-window/index.js +1 -0
  97. package/lib/modules/components/security-menu/index.js +1 -4
  98. package/lib/modules/components/tab-frame/index.js +0 -4
  99. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  100. package/lib/modules/connection-gateway/components/phone/index.js +5 -4
  101. package/lib/modules/connection-gateway/index.js +1 -2
  102. package/lib/modules/connection-gateway/store.js +23 -26
  103. package/lib/modules/control-bar/components/more-actions/index.js +0 -3
  104. package/lib/modules/control-bar/index.d.ts +0 -4
  105. package/lib/modules/control-bar/index.js +1 -34
  106. package/lib/modules/control-bar/store.d.ts +5 -6
  107. package/lib/modules/control-bar/store.js +70 -104
  108. package/lib/modules/control-bar/view.js +53 -13
  109. package/lib/modules/device-pretest/settings/beauty.js +1 -2
  110. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  111. package/lib/modules/device-pretest/store.js +2 -4
  112. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  113. package/lib/modules/dialog/components/control-bar/index.js +4 -6
  114. package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
  115. package/lib/modules/dialog/components/dialog-container/index.js +1 -2
  116. package/lib/modules/dialog/components/host-area-container/index.js +0 -3
  117. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
  118. package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
  119. package/lib/modules/dialog/components/system-preference/index.js +2 -5
  120. package/lib/modules/dialog/components/video-window/index.js +0 -2
  121. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
  122. package/lib/modules/dialog/hooks/useElectron.js +3 -4
  123. package/lib/modules/dialog/index.d.ts +0 -3
  124. package/lib/modules/dialog/index.js +2 -28
  125. package/lib/modules/dialog/store.d.ts +6 -8
  126. package/lib/modules/dialog/store.js +22 -60
  127. package/lib/modules/dialog/view.js +2 -1
  128. package/lib/modules/event-confirm/components/window/index.js +0 -2
  129. package/lib/modules/event-confirm/index.js +1 -2
  130. package/lib/modules/event-confirm/store.js +4 -7
  131. package/lib/modules/event-confirm/view.js +2 -1
  132. package/lib/modules/event-sound/index.js +1 -2
  133. package/lib/modules/event-sound/sound-effect-player.js +2 -2
  134. package/lib/modules/event-toast/index.js +1 -2
  135. package/lib/modules/event-toast/store.js +0 -2
  136. package/lib/modules/event-toast/view.js +2 -1
  137. package/lib/modules/interpreter/index.js +1 -2
  138. package/lib/modules/interpreter/interpreter-list/index.js +3 -4
  139. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
  140. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  141. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
  142. package/lib/modules/interpreter/store.js +5 -10
  143. package/lib/modules/interpreter/utils.js +15 -14
  144. package/lib/modules/invite/components/pstn-invite.js +22 -23
  145. package/lib/modules/invite/components/voip-invite.js +7 -7
  146. package/lib/modules/invite/enums.js +1 -0
  147. package/lib/modules/invite/index.js +1 -2
  148. package/lib/modules/invite/store.js +46 -45
  149. package/lib/modules/layout/components/CommonVideoRenderer.js +7 -3
  150. package/lib/modules/layout/components/Gallery.js +5 -3
  151. package/lib/modules/layout/components/index.js +0 -1
  152. package/lib/modules/layout/index.js +1 -2
  153. package/lib/modules/layout/store.d.ts +3 -0
  154. package/lib/modules/layout/store.js +38 -14
  155. package/lib/modules/layout/type.d.ts +7 -0
  156. package/lib/modules/layout/type.js +9 -0
  157. package/lib/modules/live-streaming/index.dev.js +6 -6
  158. package/lib/modules/live-streaming/index.js +1 -2
  159. package/lib/modules/live-streaming/store.js +19 -19
  160. package/lib/modules/notification/index.js +1 -2
  161. package/lib/modules/notification/interpreter-status/index.js +2 -1
  162. package/lib/modules/notification/view.js +1 -2
  163. package/lib/modules/offscreen-pulling/index.js +0 -1
  164. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
  165. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
  166. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
  167. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
  168. package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
  169. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
  170. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
  171. package/lib/modules/participant/index.js +1 -4
  172. package/lib/modules/participant/member-list-data-source.js +0 -3
  173. package/lib/modules/participant/store.js +140 -114
  174. package/lib/modules/pc-audio-connect/index.js +1 -2
  175. package/lib/modules/pc-audio-connect/store.js +9 -10
  176. package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
  177. package/lib/modules/phone-audio-connect/index.js +1 -2
  178. package/lib/modules/phone-audio-connect/store.js +0 -3
  179. package/lib/modules/phone-audio-connect/view.js +5 -4
  180. package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
  181. package/lib/modules/setting/general-settings/general-settings.js +1 -2
  182. package/lib/modules/setting/index.d.ts +2 -0
  183. package/lib/modules/setting/index.js +4 -5
  184. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
  185. package/lib/modules/setting/state/index.js +0 -4
  186. package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
  187. package/lib/modules/setting/store.d.ts +8 -10
  188. package/lib/modules/setting/store.js +33 -35
  189. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  190. package/lib/modules/setting/video-settings/video-settings.js +1 -2
  191. package/lib/modules/setting/view.js +1 -2
  192. package/lib/modules/share-screen/components/selection/index.js +16 -9
  193. package/lib/modules/share-screen/index.d.ts +2 -0
  194. package/lib/modules/share-screen/index.js +3 -3
  195. package/lib/modules/share-screen/store.d.ts +12 -2
  196. package/lib/modules/share-screen/store.js +149 -136
  197. package/lib/modules/state-bar/index.css +8 -6
  198. package/lib/modules/state-bar/index.d.ts +2 -0
  199. package/lib/modules/state-bar/index.js +3 -3
  200. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  201. package/lib/modules/state-bar/layout-config.js +17 -6
  202. package/lib/modules/state-bar/live-streaming-state.js +0 -3
  203. package/lib/modules/state-bar/store.d.ts +5 -1
  204. package/lib/modules/state-bar/store.js +8 -2
  205. package/lib/modules/state-bar/view.js +9 -5
  206. package/lib/modules/video-window/components/members/index.js +2 -1
  207. package/lib/modules/video-window/components/topControl/index.js +0 -3
  208. package/lib/modules/video-window/index.js +1 -2
  209. package/lib/modules/video-window/store.js +0 -4
  210. package/lib/modules/waiting-room-layout/index.js +1 -2
  211. package/lib/modules/whiteboard/components/control-bar/store.js +2 -1
  212. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  213. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  214. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  215. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  216. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
  217. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
  218. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  219. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
  220. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
  221. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
  222. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  223. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
  224. package/lib/modules/whiteboard/components/toolbar/store.js +64 -37
  225. package/lib/modules/whiteboard/index.js +5 -8
  226. package/lib/modules/whiteboard/style.css +12 -4
  227. package/lib/modules/whiteboard/view.js +10 -2
  228. package/lib/modules/widget/index.js +1 -2
  229. package/lib/modules/widget/web-widget.js +1 -1
  230. package/lib/plugins/browser-runtime-plugin.js +1 -1
  231. package/lib/plugins/module-dev-plugin.js +13 -13
  232. package/lib/providers/ability-provider.d.ts +12 -1
  233. package/lib/providers/ability-provider.js +8 -1
  234. package/lib/providers/annotation-provider.d.ts +63 -12
  235. package/lib/providers/annotation-provider.js +52 -46
  236. package/lib/providers/device-privilege-provider.js +81 -83
  237. package/lib/providers/device-provider.d.ts +3 -3
  238. package/lib/providers/device-provider.js +201 -204
  239. package/lib/providers/device-stream-provider.js +24 -27
  240. package/lib/providers/event-provider.d.ts +3 -3
  241. package/lib/providers/event-provider.js +0 -2
  242. package/lib/providers/interpreter-provider.js +195 -197
  243. package/lib/providers/message-provider.js +0 -2
  244. package/lib/providers/phone-audio-provider.js +17 -19
  245. package/lib/providers/privilege-provider.js +53 -58
  246. package/lib/providers/renderer-provider.d.ts +3 -1
  247. package/lib/providers/renderer-provider.js +18 -4
  248. package/lib/providers/room-provider.js +31 -33
  249. package/lib/providers/screen-share-provider.d.ts +1 -0
  250. package/lib/providers/screen-share-provider.js +97 -103
  251. package/lib/providers/sharing-provider.d.ts +5 -1
  252. package/lib/providers/sharing-provider.js +17 -1
  253. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  254. package/lib/providers/user-setting-storage-provider.js +72 -0
  255. package/lib/providers/widget-provider.js +0 -1
  256. package/lib/scenes/main-scene.js +13 -16
  257. package/lib/scenes/waiting-scene.js +4 -4
  258. package/lib/shared-data-source/chat-data.js +0 -2
  259. package/lib/shared-data-source/config.d.ts +1 -5
  260. package/lib/shared-data-source/config.js +11 -81
  261. package/lib/shared-data-source/interpreter.js +0 -2
  262. package/lib/shared-data-source/layout-data.js +1 -4
  263. package/lib/shared-data-source/member-data.js +0 -4
  264. package/lib/shared-data-source/pin-data.js +0 -1
  265. package/lib/shared-data-source/screen-share-data.d.ts +6 -2
  266. package/lib/shared-data-source/screen-share-data.js +2 -2
  267. package/lib/shared-data-source/security-data.js +0 -1
  268. package/lib/shared-data-source/setting.d.ts +13 -13
  269. package/lib/shared-data-source/setting.js +10 -8
  270. package/lib/shared-data-source/video-window.d.ts +2 -1
  271. package/lib/shared-data-source/video-window.js +82 -66
  272. package/lib/shared-data-source/waiting-room.js +0 -2
  273. package/lib/translations/enUS.d.ts +8 -0
  274. package/lib/translations/enUS.js +9 -1
  275. package/lib/translations/zhCN.d.ts +8 -0
  276. package/lib/translations/zhCN.js +11 -3
  277. package/lib/type.d.ts +2 -1
  278. package/lib/type.js +14 -0
  279. package/lib/ui-scene.js +18 -14
  280. package/lib/utilities/constant.d.ts +2 -1
  281. package/lib/utilities/constant.js +8 -0
  282. package/lib/utilities/copyText.js +12 -12
  283. package/lib/utilities/hooks.js +1 -2
  284. package/lib/utilities/logger.js +0 -1
  285. package/lib/utilities/parameters.js +2 -2
  286. package/lib/utilities/privilege.js +0 -3
  287. package/lib/utilities/renderer-event.js +0 -2
  288. package/lib/utilities/setting-config-storage.d.ts +7 -6
  289. package/lib/utilities/setting-config-storage.js +55 -41
  290. package/lib/utilities/tools.d.ts +1 -0
  291. package/lib/utilities/tools.js +9 -12
  292. package/lib/waiting-room-control-manager.js +26 -28
  293. package/package.json +8 -6
  294. package/dist/132.js +0 -2
  295. package/dist/132.js.LICENSE.txt +0 -311
  296. package/dist/317.js +0 -2
  297. package/dist/317.js.LICENSE.txt +0 -20
  298. package/dist/651.js +0 -2
  299. package/dist/651.js.LICENSE.txt +0 -1
  300. package/dist/689343b64b60bfb7ffff.png +0 -0
  301. package/dist/73.js +0 -1
  302. package/dist/885f9369ea05a8ac0e56.png +0 -0
  303. package/dist/90f383876a6e93e7c7ca.png +0 -0
  304. package/dist/9b37584780995fc5df8c.gif +0 -0
  305. package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
  306. package/dist/annotation.html +0 -1
  307. package/dist/annotation.js +0 -2
  308. package/dist/annotation.js.LICENSE.txt +0 -252
  309. package/dist/assets/browser/images/default1.jpg +0 -0
  310. package/dist/assets/browser/images/default2.jpg +0 -0
  311. package/dist/assets/browser/images/default3.jpg +0 -0
  312. package/dist/assets/browser/images/default4.jpg +0 -0
  313. package/dist/assets/browser/images/default5.jpg +0 -0
  314. package/dist/assets/browser/images/default6.jpg +0 -0
  315. package/dist/assets/browser/images/default7.jpg +0 -0
  316. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  317. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  318. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  319. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  320. package/dist/assets/browser/videos/default8.mp4 +0 -0
  321. package/dist/assets/browser/videos/default9.mp4 +0 -0
  322. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  323. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  324. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  325. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  326. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  327. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  328. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  329. package/dist/assets/electron/images/default1.jpg +0 -0
  330. package/dist/assets/electron/images/default2.jpg +0 -0
  331. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  332. package/dist/assets/electron/videos/default8.mp4 +0 -0
  333. package/dist/assets/fcr_chat_reddot.svg +0 -5
  334. package/dist/assets/fcr_defaultpage.png +0 -0
  335. package/dist/assets/fcr_grid_big.svg +0 -3
  336. package/dist/assets/fcr_leave2.svg +0 -58
  337. package/dist/assets/fcr_listontop_big.svg +0 -3
  338. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  339. package/dist/assets/leave-meeting.png +0 -0
  340. package/dist/assets/loading.gif +0 -0
  341. package/dist/assets/login_confirm.png +0 -0
  342. package/dist/assets/pretest.mp3 +0 -0
  343. package/dist/assets/state-bar-logo.png +0 -0
  344. package/dist/assets/step-gradient.svg +0 -10
  345. package/dist/b74b002687a3a3346bec.png +0 -0
  346. package/dist/b94869094481702f949b.png +0 -0
  347. package/dist/ebeace75fd46b90d890e.png +0 -0
  348. package/dist/electron/app.js +0 -194
  349. package/dist/electron/bootstrap-dev.js +0 -46
  350. package/dist/electron/bootstrap-sdk.js +0 -211
  351. package/dist/electron/default-options.js +0 -25
  352. package/dist/electron/env.js +0 -13
  353. package/dist/electron/index.js +0 -20
  354. package/dist/electron/injections.js +0 -903
  355. package/dist/electron/ipc/ipc.js +0 -141
  356. package/dist/electron/ipc/type.js +0 -19
  357. package/dist/electron/logger.js +0 -65
  358. package/dist/electron/main.js +0 -94
  359. package/dist/electron/plugins/devtool-shortcut.js +0 -33
  360. package/dist/electron/plugins/meeting-state.js +0 -39
  361. package/dist/electron/plugins/screenshot.js +0 -54
  362. package/dist/electron/preload.js +0 -108
  363. package/dist/electron/tools.js +0 -66
  364. package/dist/electron/window.js +0 -123
  365. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  366. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  367. package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
  368. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  369. package/dist/fad688b9135b15d6c405.png +0 -0
  370. package/dist/index.html +0 -224
  371. package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
  372. package/dist/main.js +0 -2
  373. package/dist/main.js.LICENSE.txt +0 -272
  374. package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
package/lib/base.js CHANGED
@@ -51,9 +51,6 @@ require("core-js/modules/es.reflect.has.js");
51
51
  require("core-js/modules/es.reflect.set.js");
52
52
  require("core-js/modules/es.set.js");
53
53
  require("core-js/modules/es.string.iterator.js");
54
- require("core-js/modules/esnext.async-iterator.filter.js");
55
- require("core-js/modules/esnext.async-iterator.for-each.js");
56
- require("core-js/modules/esnext.async-iterator.map.js");
57
54
  require("core-js/modules/esnext.iterator.constructor.js");
58
55
  require("core-js/modules/esnext.iterator.filter.js");
59
56
  require("core-js/modules/esnext.iterator.for-each.js");
package/lib/creator.d.ts CHANGED
@@ -9,6 +9,7 @@ export declare class FcrUISceneCreator {
9
9
  accessor observableSettingStore: FcrObservableSettingStore;
10
10
  protected logger: import("agora-foundation/lib/logger").Logger;
11
11
  private _settingConfigStorage;
12
+ private _userSettingStorageProvider;
12
13
  private _registeredWidgetConfigs;
13
14
  private _released;
14
15
  private _scene;
package/lib/creator.js CHANGED
@@ -15,7 +15,6 @@ require("core-js/modules/es.object.define-properties.js");
15
15
  require("core-js/modules/es.object.define-property.js");
16
16
  require("core-js/modules/es.object.get-own-property-descriptor.js");
17
17
  require("core-js/modules/es.object.get-own-property-descriptors.js");
18
- require("core-js/modules/esnext.async-iterator.for-each.js");
19
18
  require("core-js/modules/esnext.function.metadata.js");
20
19
  require("core-js/modules/esnext.iterator.for-each.js");
21
20
  require("core-js/modules/esnext.symbol.metadata.js");
@@ -38,14 +37,10 @@ require("core-js/modules/es.array.map.js");
38
37
  require("core-js/modules/es.date.to-json.js");
39
38
  require("core-js/modules/es.json.stringify.js");
40
39
  require("core-js/modules/es.map.js");
41
- require("core-js/modules/es.object.assign.js");
42
40
  require("core-js/modules/es.object.keys.js");
43
41
  require("core-js/modules/es.object.to-string.js");
44
42
  require("core-js/modules/es.string.iterator.js");
45
43
  require("core-js/modules/es.weak-map.js");
46
- require("core-js/modules/esnext.async-iterator.filter.js");
47
- require("core-js/modules/esnext.async-iterator.find.js");
48
- require("core-js/modules/esnext.async-iterator.map.js");
49
44
  require("core-js/modules/esnext.iterator.constructor.js");
50
45
  require("core-js/modules/esnext.iterator.filter.js");
51
46
  require("core-js/modules/esnext.iterator.find.js");
@@ -97,6 +92,7 @@ var _imports = require("fcr-core/lib/imports");
97
92
  var _localStorageProvider = require("./providers/local-storage-provider");
98
93
  var _logger = require("./utilities/logger");
99
94
  var _uiResources = require("./utilities/ui-resources");
95
+ var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
100
96
  var _jsxRuntime = require("react/jsx-runtime");
101
97
  var _excluded = ["rtc.microphone.keep.recording"];
102
98
  var _FcrUISceneCreator;
@@ -135,9 +131,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
135
131
  this._config = _config;
136
132
  this.logger.info("creator config: ".concat(JSON.stringify(_config)));
137
133
  this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
134
+ this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
138
135
  this._localStorageProvider.write('annotation_rtm_app_id', this._config.appId);
139
136
  this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
140
- localStorageProvider: this._localStorageProvider
137
+ userSettingStorageProvider: this._userSettingStorageProvider
141
138
  });
142
139
  this._setKeepRecordingValueFromParameters(this._config.parameters || {});
143
140
  var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
@@ -190,18 +187,22 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
190
187
  }
191
188
  (0, _i18n.changeLanguage)(config.language);
192
189
  var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom, this._settingConfigStorage, this._registeredWidgetConfigs, this._engine);
193
- var onLaunchSuccess = function onLaunchSuccess() {
194
- var parameters = _objectSpread(_objectSpread({}, _this._parameters), {}, {
195
- rtc: [JSON.stringify({
196
- 'rtc.microphone.keep.recording': _this._microphoneKeepRecording
197
- })]
198
- });
199
- _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
200
- _this._engine.setParameters(parameters);
190
+ var _onLaunchSuccess = function onLaunchSuccess() {
191
+ if (_this._microphoneKeepRecording) {
192
+ var parameters = {
193
+ rtc: [JSON.stringify({
194
+ 'rtc.microphone.keep.recording': true
195
+ })]
196
+ };
197
+ _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
198
+ _this._engine.setParameters(parameters);
199
+ }
201
200
  return onSuccess;
202
201
  };
203
202
  scene.addObserver({
204
- onLaunchSuccess: onLaunchSuccess(),
203
+ onLaunchSuccess: function onLaunchSuccess() {
204
+ return _onLaunchSuccess();
205
+ },
205
206
  onLaunchFailure: onFailure,
206
207
  onLaunchCancel: onCancel,
207
208
  onSettingStore: function onSettingStore(store) {
@@ -209,13 +210,15 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
209
210
  _this.closeSetting();
210
211
  },
211
212
  onExited: function onExited() {
212
- var parameters = _objectSpread(_objectSpread({}, _this._parameters), {}, {
213
- rtc: [JSON.stringify({
214
- 'rtc.microphone.keep.recording': false
215
- })]
216
- });
217
- _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
218
- _this._engine.setParameters(parameters);
213
+ if (_this._microphoneKeepRecording) {
214
+ var parameters = {
215
+ rtc: [JSON.stringify({
216
+ 'rtc.microphone.keep.recording': false
217
+ })]
218
+ };
219
+ _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
220
+ _this._engine.setParameters(parameters);
221
+ }
219
222
  _this.closeSetting();
220
223
  _this._initSettingStore();
221
224
  _this._resetScene();
@@ -280,19 +283,18 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
280
283
  value: function () {
281
284
  var _initSettingStore2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
282
285
  var openDefaultCamera, openDefaultMicrophone, eventProvider, deviceProvider, dialogProvider, messageProvider, sharedConfigDataSource, sharedSettingDataSource, monitorProvider;
283
- return _regenerator["default"].wrap(function _callee$(_context) {
286
+ return _regenerator["default"].wrap(function (_context) {
284
287
  while (1) switch (_context.prev = _context.next) {
285
288
  case 0:
286
289
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
287
290
  this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
288
291
  this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
289
- this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._localStorageProvider);
292
+ this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._userSettingStorageProvider);
290
293
  this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
291
294
  creatorConfig: this._config,
292
- settingConfig: this._settingConfigStorage,
293
- localStorageProvider: this._localStorageProvider
295
+ settingConfig: this._settingConfigStorage
294
296
  });
295
- this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._localStorageProvider);
297
+ this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
296
298
  openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
297
299
  openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
298
300
  if (openDefaultCamera) {
@@ -310,9 +312,9 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
310
312
  sharedSettingDataSource = this._sharedSettingDataSource;
311
313
  monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
312
314
  deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
313
- _context.next = 20;
315
+ _context.next = 1;
314
316
  return deviceProvider.init();
315
- case 20:
317
+ case 1:
316
318
  this.observableSettingStore.value = new _store["default"]({
317
319
  uiEventStore: eventProvider,
318
320
  monitorControl: monitorProvider,
@@ -323,10 +325,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
323
325
  sharedSettingDataSource: sharedSettingDataSource,
324
326
  dialogProvider: dialogProvider,
325
327
  settingConfig: sharedConfigDataSource.settingConfig,
326
- localStorageProvider: this._localStorageProvider,
327
- userId: this._config.userId
328
+ userId: this._config.userId,
329
+ userSettingStorageProvider: this._userSettingStorageProvider
328
330
  });
329
- case 21:
331
+ case 2:
330
332
  case "end":
331
333
  return _context.stop();
332
334
  }
@@ -389,28 +391,40 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
389
391
  }, {
390
392
  key: "_filterKeepRecordingValueFromParameters",
391
393
  value: function _filterKeepRecordingValueFromParameters(parameters) {
392
- var filteredParameters = Object.assign({}, parameters);
393
- filteredParameters.rtc = filteredParameters.rtc.map(function (item) {
394
- var _JSON$parse = JSON.parse(item),
395
- _ = _JSON$parse['rtc.microphone.keep.recording'],
396
- rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
397
- return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
398
- }).filter(function (item) {
399
- return item !== null;
400
- });
401
- return filteredParameters;
394
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
395
+ try {
396
+ var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
397
+ var _JSON$parse = JSON.parse(item),
398
+ _ = _JSON$parse['rtc.microphone.keep.recording'],
399
+ rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
400
+ return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
401
+ }).filter(function (item) {
402
+ return item !== null;
403
+ });
404
+ return _objectSpread(_objectSpread({}, parameters), {}, {
405
+ rtc: rtc
406
+ });
407
+ } catch (e) {
408
+ this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
409
+ return parameters;
410
+ }
402
411
  }
403
412
  }, {
404
413
  key: "_setKeepRecordingValueFromParameters",
405
414
  value: function _setKeepRecordingValueFromParameters(parameters) {
406
- var rtcs = parameters.rtc;
407
- var keepRecording = rtcs.find(function (item) {
408
- return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
409
- });
410
- if (keepRecording) {
411
- var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
412
- this._microphoneKeepRecording = !!keepRecordingValue;
413
- this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
415
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
416
+ try {
417
+ var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
418
+ var keepRecording = rtcs.find(function (item) {
419
+ return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
420
+ });
421
+ if (keepRecording) {
422
+ var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
423
+ this._microphoneKeepRecording = !!keepRecordingValue;
424
+ this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
425
+ }
426
+ } catch (e) {
427
+ this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
414
428
  }
415
429
  }
416
430
  }]);
@@ -9,16 +9,13 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.hookApp = void 0;
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ require("core-js/modules/es.array.concat.js");
12
13
  require("core-js/modules/es.array.find.js");
13
14
  require("core-js/modules/es.array.for-each.js");
14
15
  require("core-js/modules/es.array.join.js");
15
- require("core-js/modules/es.date.to-json.js");
16
- require("core-js/modules/es.json.stringify.js");
17
16
  require("core-js/modules/es.object.keys.js");
18
17
  require("core-js/modules/es.object.to-string.js");
19
18
  require("core-js/modules/es.string.starts-with.js");
20
- require("core-js/modules/esnext.async-iterator.find.js");
21
- require("core-js/modules/esnext.async-iterator.for-each.js");
22
19
  require("core-js/modules/esnext.iterator.constructor.js");
23
20
  require("core-js/modules/esnext.iterator.find.js");
24
21
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -30,14 +27,17 @@ var _electron = require("electron");
30
27
  var _path = _interopRequireDefault(require("path"));
31
28
  var _logger = require("./logger");
32
29
  var _child_process = require("child_process");
30
+ var _exitCodes = require("./exit-codes");
33
31
  var logger = (0, _logger.getLogger)();
34
32
  var hookApp = exports.hookApp = function hookApp(app) {
33
+ logger.info("hook app, main process id: ".concat(process.pid));
35
34
  var isWindowDestroyed = function isWindowDestroyed(window) {
36
35
  return window.isDestroyed();
37
36
  };
38
37
  app.commandLine.appendSwitch('ignore-certificate-errors');
39
38
  app.addListener('browser-window-created', function (_, window) {
40
39
  var windowId = window.id;
40
+ logger.info("[electron][window]: browser window is created, id: ".concat(windowId));
41
41
  window.addListener('close', function () {
42
42
  _electron.BrowserWindow.getAllWindows().forEach(function (window) {
43
43
  if (!isWindowDestroyed(window)) {
@@ -48,10 +48,29 @@ var hookApp = exports.hookApp = function hookApp(app) {
48
48
  }
49
49
  });
50
50
  });
51
- window.webContents.addListener('render-process-gone', function (event, arg) {
52
- logger.info("render-process-gone: ".concat(JSON.stringify(arg)));
51
+ window.webContents.addListener('render-process-gone', function (event, details) {
52
+ // 安全地获取 window 信息,避免在崩溃状态下访问可能失效的属性
53
+ var windowTitle = 'Unknown';
54
+ var windowId = 'Unknown';
55
+ try {
56
+ // 检查 window 是否仍然有效
57
+ if (!window.isDestroyed()) {
58
+ windowTitle = window.getTitle() || 'Unknown';
59
+ windowId = String(window.id);
60
+ }
61
+ } catch (error) {
62
+ logger.warn("[electron][window]: failed to get window info during crash: ".concat(error));
63
+ }
64
+
65
+ // 输出详细的崩溃信息
66
+ logger.error("[electron][window]: app exit due to render-process-gone event, window crash details - title: ".concat(windowTitle, ", id: ").concat(windowId, ", exitCode: ").concat(details.exitCode, ", reason: ").concat(details.reason));
67
+ logger.error('[electron][window]: exiting process due to render-process-gone event');
68
+ app.exit(_exitCodes.AppExitCode.RENDERER_PROCESS_GONE);
53
69
  });
54
70
  window.webContents.addListener('did-finish-load', function () {
71
+ var title = window.getTitle();
72
+ var processId = window.webContents.getOSProcessId();
73
+ logger.info("[electron][window]: browser window did finish load, id: ".concat(windowId, ", title: ").concat(title, ", process id: ").concat(processId));
55
74
  setTimeout(function () {
56
75
  _electron.BrowserWindow.getAllWindows().forEach(function (window) {
57
76
  if (!isWindowDestroyed(window)) {
@@ -130,11 +149,11 @@ var hookApp = exports.hookApp = function hookApp(app) {
130
149
  _electron.ipcMain.handle('checkMediaPermission', /*#__PURE__*/function () {
131
150
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_, mediaType) {
132
151
  var accessStatus, res;
133
- return _regenerator["default"].wrap(function _callee$(_context) {
152
+ return _regenerator["default"].wrap(function (_context) {
134
153
  while (1) switch (_context.prev = _context.next) {
135
154
  case 0:
136
155
  if (!(mediaType === 'sharing')) {
137
- _context.next = 3;
156
+ _context.next = 1;
138
157
  break;
139
158
  }
140
159
  // below API call will trigger the system to add the permission for screen recording on macOS
@@ -142,20 +161,20 @@ var hookApp = exports.hookApp = function hookApp(app) {
142
161
  types: ['screen']
143
162
  });
144
163
  return _context.abrupt("return", true);
145
- case 3:
164
+ case 1:
146
165
  accessStatus = _electron.systemPreferences.getMediaAccessStatus(mediaType);
147
166
  if (!(accessStatus !== 'granted')) {
148
- _context.next = 11;
167
+ _context.next = 3;
149
168
  break;
150
169
  }
151
- _context.next = 7;
170
+ _context.next = 2;
152
171
  return _electron.systemPreferences.askForMediaAccess(mediaType);
153
- case 7:
172
+ case 2:
154
173
  res = _context.sent;
155
174
  return _context.abrupt("return", res);
156
- case 11:
175
+ case 3:
157
176
  return _context.abrupt("return", true);
158
- case 12:
177
+ case 4:
159
178
  case "end":
160
179
  return _context.stop();
161
180
  }
@@ -10,8 +10,6 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.keys.js");
12
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
13
  require("core-js/modules/esnext.iterator.constructor.js");
16
14
  require("core-js/modules/esnext.iterator.filter.js");
17
15
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -25,9 +23,13 @@ var _defaultOptions = require("./default-options");
25
23
  var _env = require("./env");
26
24
  var _main2 = require("./main");
27
25
  var _devtoolShortcut = require("./plugins/devtool-shortcut");
26
+ var _exitCodes = require("./exit-codes");
28
27
  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
28
  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
29
  (0, _main.initialize)();
30
+ _electron.crashReporter.start({
31
+ uploadToServer: false
32
+ });
31
33
  (0, _app.hookApp)(_electron.app);
32
34
  _electron.app.addListener('ready', function () {
33
35
  var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
@@ -35,7 +37,7 @@ _electron.app.addListener('ready', function () {
35
37
  }));
36
38
  (0, _main2.hookWindow)(mainWindow);
37
39
  mainWindow.addListener('closed', function () {
38
- _electron.app.exit(0);
40
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
39
41
  });
40
42
  mainWindow.webContents.openDevTools({
41
43
  mode: 'detach'
@@ -8,8 +8,6 @@ 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/esnext.async-iterator.filter.js");
12
- require("core-js/modules/esnext.async-iterator.for-each.js");
13
11
  require("core-js/modules/esnext.iterator.filter.js");
14
12
  require("core-js/modules/esnext.iterator.for-each.js");
15
13
  require("core-js/modules/web.dom-collections.for-each.js");
@@ -23,7 +21,6 @@ require("core-js/modules/es.object.keys.js");
23
21
  require("core-js/modules/es.object.to-string.js");
24
22
  require("core-js/modules/es.parse-int.js");
25
23
  require("core-js/modules/es.string.starts-with.js");
26
- require("core-js/modules/esnext.async-iterator.find.js");
27
24
  require("core-js/modules/esnext.iterator.constructor.js");
28
25
  require("core-js/modules/esnext.iterator.find.js");
29
26
  require("core-js/modules/esnext.json.parse.js");
@@ -41,6 +38,7 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
41
38
  var _ipc = require("./ipc/ipc");
42
39
  var _type = require("./ipc/type");
43
40
  var _meetingState = require("./plugins/meeting-state");
41
+ var _exitCodes = require("./exit-codes");
44
42
  var _process$argv$find;
45
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; }
46
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; }
@@ -65,7 +63,7 @@ ipcClient.addObserver({
65
63
  },
66
64
  onDisconnected: function onDisconnected() {
67
65
  (0, _logger.getLogger)().info('IPC client disconnected from server');
68
- _electron.app.exit(0);
66
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
69
67
  },
70
68
  onMessageReceived: function onMessageReceived(message) {
71
69
  switch (message.cmd) {
@@ -180,21 +178,17 @@ _electron.app.addListener('ready', function () {
180
178
  });
181
179
  });
182
180
  mainWindow.addListener('closed', function () {
183
- _electron.app.exit(0);
181
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
184
182
  });
185
183
  mainWindow.addListener('close', function (e) {
186
184
  var closeListenerCount = mainWindow.listenerCount('close');
187
- (0, _logger.getLogger)().info("mainWindow close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
185
+ (0, _logger.getLogger)().info("main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
188
186
  if (_meetingState.isInMeeting === 0) {
189
187
  e.preventDefault();
190
188
  mainWindow.hide();
191
189
  mainWindow.webContents.send('close-window-before-launch-success');
192
190
  }
193
191
  });
194
- mainWindow.webContents.addListener('render-process-gone', function (e, details) {
195
- (0, _logger.getLogger)().info("app exit due to render-process-gone event: ".concat(JSON.stringify(details)));
196
- _electron.app.exit(0);
197
- });
198
192
  if (_env.isDev) {
199
193
  mainWindow.webContents.openDevTools({
200
194
  mode: 'detach'
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Application exit codes
3
+ *
4
+ * These codes are used when calling app.exit() to indicate the reason for application termination.
5
+ * Using specific exit codes helps with debugging and process monitoring.
6
+ */
7
+ export declare enum AppExitCode {
8
+ NORMAL_EXIT = 0,
9
+ /**
10
+ * Renderer process has unexpectedly terminated
11
+ * This typically indicates a crash or critical error in the sub window renderer process
12
+ */
13
+ RENDERER_PROCESS_GONE = 100
14
+ }
@@ -0,0 +1,22 @@
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.AppExitCode = void 0;
8
+ /**
9
+ * Application exit codes
10
+ *
11
+ * These codes are used when calling app.exit() to indicate the reason for application termination.
12
+ * Using specific exit codes helps with debugging and process monitoring.
13
+ */
14
+ var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
15
+ AppExitCode[AppExitCode["NORMAL_EXIT"] = 0] = "NORMAL_EXIT";
16
+ /**
17
+ * Renderer process has unexpectedly terminated
18
+ * This typically indicates a crash or critical error in the sub window renderer process
19
+ */
20
+ AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
21
+ return AppExitCode;
22
+ }({});
@@ -1,6 +1,7 @@
1
1
  import { IpcRendererEvent } from 'electron';
2
2
  import { BrowserWindowConstructorOptions } from 'electron/renderer';
3
3
  import os from 'os';
4
+ import type { WindowManager } from '../type';
4
5
  export declare enum FcrNumericExitReason {
5
6
  LEAVE_ROOM = 1,// 自己离开而退出
6
7
  CLOSE_ROOM = 2,// 房间关闭而退出
@@ -27,8 +28,8 @@ export declare const captureScreen: (options?: {
27
28
  hideWindow?: boolean;
28
29
  alwaysHide?: boolean;
29
30
  }) => void;
30
- export declare const getActiveWindow: () => undefined;
31
- export declare const getWindows: () => never[];
31
+ export declare const getActiveWindow: () => WindowManager;
32
+ export declare const getWindows: () => WindowManager[];
32
33
  export declare const openRendererWindow: (frameName: string, renderFn: (dom: Element, browserWindow: Electron.BrowserWindow, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
33
34
  export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
34
35
  export declare const openSystemPreferences: (mediaType: "microphone" | "camera") => void;