fcr-ui-scene 3.7.9-alpha → 3.8.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/lib/creator/index.d.ts +6 -3
  2. package/lib/creator/index.js +38 -20
  3. package/lib/creator/provider-initializer.browser.js +30 -2
  4. package/lib/creator/provider-initializer.electron.js +34 -6
  5. package/lib/electron/app.js +0 -1
  6. package/lib/electron/bootstrap-sdk.d.ts +3 -1
  7. package/lib/electron/bootstrap-sdk.js +93 -375
  8. package/lib/electron/exit-codes.d.ts +6 -1
  9. package/lib/electron/exit-codes.js +5 -0
  10. package/lib/electron/injections.d.ts +10 -4
  11. package/lib/electron/injections.js +116 -74
  12. package/lib/electron/ipc/ipc.js +13 -11
  13. package/lib/electron/ipc/type.d.ts +3 -1
  14. package/lib/electron/ipc/type.js +2 -0
  15. package/lib/electron/main.js +3 -1
  16. package/lib/electron/preload.js +2 -1
  17. package/lib/electron/process-manager/constants.d.ts +1 -0
  18. package/lib/electron/process-manager/constants.js +8 -0
  19. package/lib/electron/{event-manager.d.ts → process-manager/event-manager.d.ts} +3 -4
  20. package/lib/electron/{event-manager.js → process-manager/event-manager.js} +38 -30
  21. package/lib/electron/process-manager/index.d.ts +179 -0
  22. package/lib/electron/process-manager/index.js +848 -0
  23. package/lib/electron/process-manager/state-manager.d.ts +135 -0
  24. package/lib/electron/process-manager/state-manager.js +358 -0
  25. package/lib/electron/process-manager/types.d.ts +80 -0
  26. package/lib/electron/process-manager/types.js +79 -0
  27. package/lib/electron/sdk-helper.d.ts +4 -0
  28. package/lib/electron/sdk-helper.js +39 -2
  29. package/lib/fragments/annotation/libs.d.ts +1 -1
  30. package/lib/fragments/annotation/libs.js +12 -12
  31. package/lib/fragments/annotation/store.d.ts +1 -1
  32. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  33. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  34. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +3 -3
  35. package/lib/fragments/annotation/toolbar/store.d.ts +1 -1
  36. package/lib/fragments/annotation/toolbar/store.js +10 -10
  37. package/lib/fragments/annotation/toolbar/view.js +7 -7
  38. package/lib/fragments/whiteboard/store.d.ts +2 -2
  39. package/lib/fragments/whiteboard/store.js +27 -21
  40. package/lib/fragments/whiteboard/view.js +2 -2
  41. package/lib/index.d.ts +1 -1
  42. package/lib/index.js +2 -2
  43. package/lib/modules/action-bar/components/apps/index.js +1 -37
  44. package/lib/modules/action-bar/components/collapse/index.d.ts +2 -1
  45. package/lib/modules/action-bar/components/collapse/index.js +11 -2
  46. package/lib/modules/action-bar/components/item/index.js +2 -2
  47. package/lib/modules/action-bar/components/screen-share/index.browser.js +21 -14
  48. package/lib/modules/action-bar/components/screen-share/index.electron.js +38 -24
  49. package/lib/modules/action-bar/components/screen-share/submenu.js +6 -5
  50. package/lib/modules/action-bar/components/security/index.js +2 -2
  51. package/lib/modules/action-bar/index.css +26 -0
  52. package/lib/modules/action-bar/main-scene/store.base.d.ts +6 -4
  53. package/lib/modules/action-bar/main-scene/store.base.js +41 -46
  54. package/lib/modules/action-bar/type.d.ts +0 -10
  55. package/lib/modules/audio-stream/index.d.ts +1 -1
  56. package/lib/modules/audio-stream/index.js +22 -8
  57. package/lib/modules/caption/draggable-container/index.css +10 -0
  58. package/lib/modules/caption/draggable-container/index.d.ts +4 -0
  59. package/lib/modules/caption/draggable-container/index.js +145 -0
  60. package/lib/modules/caption/index.d.ts +10 -0
  61. package/lib/modules/caption/index.js +127 -0
  62. package/lib/modules/caption/store.d.ts +56 -0
  63. package/lib/modules/caption/store.js +366 -0
  64. package/lib/modules/caption/type.d.ts +13 -0
  65. package/lib/modules/caption/type.js +14 -0
  66. package/lib/modules/caption/view.css +158 -0
  67. package/lib/modules/caption/view.d.ts +4 -0
  68. package/lib/modules/caption/view.js +292 -0
  69. package/lib/modules/chat/chat-room-store.d.ts +1 -1
  70. package/lib/modules/chat/chat-room-store.js +6 -6
  71. package/lib/modules/chat/components/message-list/message-item/index.js +60 -18
  72. package/lib/modules/chat/index.css +7 -0
  73. package/lib/modules/chat/store.js +1 -1
  74. package/lib/modules/components/apps/app-item/index.css +16 -1
  75. package/lib/modules/components/apps/app-item/index.js +102 -35
  76. package/lib/modules/components/apps/app-list.js +17 -1
  77. package/lib/modules/components/apps/types.d.ts +11 -1
  78. package/lib/modules/components/caption-menu/index.css +58 -0
  79. package/lib/modules/components/caption-menu/index.d.ts +41 -0
  80. package/lib/modules/components/caption-menu/index.js +112 -0
  81. package/lib/modules/components/caption-menu/participants-privilege-control-options.d.ts +2 -0
  82. package/lib/modules/components/caption-menu/participants-privilege-control-options.js +87 -0
  83. package/lib/modules/components/caption-menu/steps/index.css +73 -0
  84. package/lib/modules/components/caption-menu/steps/index.d.ts +11 -0
  85. package/lib/modules/components/caption-menu/steps/index.js +56 -0
  86. package/lib/modules/components/caption-menu/translation-setting-options.d.ts +17 -0
  87. package/lib/modules/components/caption-menu/translation-setting-options.js +181 -0
  88. package/lib/modules/components/control-bar/index.d.ts +3 -3
  89. package/lib/modules/components/control-bar/index.js +10 -10
  90. package/lib/modules/components/device-control/components/audio-menu/index.js +17 -0
  91. package/lib/modules/components/device-control/components/carmera/index.js +3 -0
  92. package/lib/modules/components/device-control/components/microphone/index.js +4 -1
  93. package/lib/modules/components/device-control/index.css +12 -4
  94. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  95. package/lib/modules/components/device-control/store.base.js +2 -0
  96. package/lib/modules/components/security-menu/index.js +147 -65
  97. package/lib/modules/components/security-menu/store.d.ts +15 -0
  98. package/lib/modules/components/security-menu/store.js +78 -16
  99. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +1 -1
  100. package/lib/modules/components/toolbar/components/clean-tool/index.js +4 -4
  101. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +1 -1
  102. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +1 -1
  103. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  104. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  105. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +1 -1
  106. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +1 -1
  107. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +1 -1
  108. package/lib/modules/components/toolbar/components/pen-tool/index.js +3 -3
  109. package/lib/modules/components/toolbar/index.d.ts +2 -2
  110. package/lib/modules/components/toolbar/index.js +35 -34
  111. package/lib/modules/components/toolbar/style.css +1 -1
  112. package/lib/modules/components/toolbar/types.d.ts +1 -1
  113. package/lib/modules/connection-gateway/store.d.ts +1 -0
  114. package/lib/modules/connection-gateway/store.js +5 -0
  115. package/lib/modules/control-bar/components/apps-popover/index.d.ts +3 -0
  116. package/lib/modules/control-bar/components/apps-popover/index.js +41 -0
  117. package/lib/modules/control-bar/components/more-actions/index.js +9 -1
  118. package/lib/modules/control-bar/enums.d.ts +2 -1
  119. package/lib/modules/control-bar/enums.js +1 -0
  120. package/lib/modules/control-bar/store.d.ts +6 -1
  121. package/lib/modules/control-bar/store.js +56 -12
  122. package/lib/modules/control-bar/view.js +16 -11
  123. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +8 -0
  124. package/lib/modules/dialog/components/dialog-container/component/body.js +44 -5
  125. package/lib/modules/dialog/components/dialog-container/index.css +4 -1
  126. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  127. package/lib/modules/dialog/components/dialog-container/index.js +7 -1
  128. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  129. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  130. package/lib/modules/dialog/dialogs/caption/index.d.ts +21 -0
  131. package/lib/modules/dialog/dialogs/caption/index.js +42 -0
  132. package/lib/modules/dialog/dialogs/chat/components/actions.js +2 -2
  133. package/lib/modules/dialog/dialogs/confirm/index.js +1 -1
  134. package/lib/modules/dialog/dialogs/participant/components/actions.js +2 -2
  135. package/lib/modules/dialog/dialogs/subtitles-history/index.d.ts +27 -0
  136. package/lib/modules/dialog/dialogs/subtitles-history/index.js +51 -0
  137. package/lib/modules/dialog/store.base.d.ts +1 -1
  138. package/lib/modules/dialog/store.browser.d.ts +1 -1
  139. package/lib/modules/dialog/store.electron.d.ts +1 -3
  140. package/lib/modules/dialog/store.electron.js +0 -9
  141. package/lib/modules/event-sound/enum.d.ts +5 -0
  142. package/lib/modules/event-sound/enum.js +20 -0
  143. package/lib/modules/event-sound/index.d.ts +0 -10
  144. package/lib/modules/event-sound/index.js +1 -12
  145. package/lib/modules/event-sound/store.d.ts +2 -2
  146. package/lib/modules/event-sound/store.js +21 -22
  147. package/lib/modules/interpreter/store.js +4 -2
  148. package/lib/modules/layout/components/Aside.d.ts +2 -1
  149. package/lib/modules/layout/components/Aside.js +97 -58
  150. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -2
  151. package/lib/modules/layout/components/index.css +15 -2
  152. package/lib/modules/layout/store.base.d.ts +13 -2
  153. package/lib/modules/layout/store.base.js +149 -54
  154. package/lib/modules/layout/store.electron.d.ts +1 -0
  155. package/lib/modules/layout/store.electron.js +132 -32
  156. package/lib/modules/layout/type.d.ts +4 -0
  157. package/lib/modules/layout/view.js +27 -5
  158. package/lib/modules/notification/index.css +4 -4
  159. package/lib/modules/notification/store.d.ts +5 -3
  160. package/lib/modules/notification/store.js +9 -2
  161. package/lib/modules/notification/view.d.ts +1 -0
  162. package/lib/modules/notification/view.js +33 -2
  163. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +0 -1
  164. package/lib/modules/participant/components/participants/components/footer/index.js +1 -1
  165. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +2 -2
  166. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +6 -1
  167. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +1 -1
  168. package/lib/modules/participant/components/participants/index.js +13 -1
  169. package/lib/modules/participant/store.base.d.ts +1 -2
  170. package/lib/modules/participant/store.base.js +70 -71
  171. package/lib/modules/participant/type.d.ts +3 -1
  172. package/lib/modules/participant/type.js +2 -0
  173. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +1 -0
  174. package/lib/modules/pc-audio-connect/main-scene/store.js +5 -0
  175. package/lib/modules/pc-audio-connect/waiting-scene/store.d.ts +2 -0
  176. package/lib/modules/pc-audio-connect/waiting-scene/store.js +10 -6
  177. package/lib/modules/phone-audio-connect/store.d.ts +1 -0
  178. package/lib/modules/phone-audio-connect/store.js +5 -0
  179. package/lib/modules/secondary-window/store.d.ts +1 -2
  180. package/lib/modules/secondary-window/store.js +22 -12
  181. package/lib/modules/secondary-window/type.d.ts +1 -1
  182. package/lib/modules/secondary-window/view.js +7 -8
  183. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +18 -0
  184. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +34 -0
  185. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +63 -0
  186. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +353 -0
  187. package/lib/modules/setting/caption_and_transcribing/index.css +88 -0
  188. package/lib/modules/setting/caption_and_transcribing/index.d.ts +3 -0
  189. package/lib/modules/setting/caption_and_transcribing/index.js +96 -0
  190. package/lib/modules/setting/general-settings/general-settings.d.ts +4 -0
  191. package/lib/modules/setting/general-settings/general-settings.js +3 -3
  192. package/lib/modules/setting/index.d.ts +1 -0
  193. package/lib/modules/setting/index.js +10 -7
  194. package/lib/modules/setting/state/index.js +5 -3
  195. package/lib/modules/setting/store.base.d.ts +29 -4
  196. package/lib/modules/setting/store.base.js +141 -61
  197. package/lib/modules/setting/store.browser.js +4 -9
  198. package/lib/modules/setting/store.electron.d.ts +11 -0
  199. package/lib/modules/setting/store.electron.js +110 -1
  200. package/lib/modules/setting/type.d.ts +2 -1
  201. package/lib/modules/setting/type.js +1 -0
  202. package/lib/modules/setting/video-settings/video-settings-basic.js +1 -7
  203. package/lib/modules/setting/view.js +11 -4
  204. package/lib/modules/share-screen/store.base.d.ts +1 -1
  205. package/lib/modules/share-screen/store.base.js +3 -0
  206. package/lib/modules/share-screen/store.electron.d.ts +3 -1
  207. package/lib/modules/share-screen/store.electron.js +130 -23
  208. package/lib/modules/state-bar/index.css +73 -2
  209. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  210. package/lib/modules/state-bar/main-scene/store.base.js +7 -1
  211. package/lib/modules/state-bar/main-scene/store.browser.js +1 -1
  212. package/lib/modules/state-bar/main-scene/store.electron.js +1 -1
  213. package/lib/modules/state-bar/store.base.d.ts +5 -0
  214. package/lib/modules/state-bar/store.base.js +29 -2
  215. package/lib/modules/state-bar/subtitles-history-state.d.ts +7 -0
  216. package/lib/modules/state-bar/subtitles-history-state.js +108 -0
  217. package/lib/modules/state-bar/view.js +16 -1
  218. package/lib/modules/state-bar/waiting-scene/store.base.d.ts +1 -0
  219. package/lib/modules/state-bar/waiting-scene/store.base.js +5 -0
  220. package/lib/modules/subtitles-history/components/actions.d.ts +5 -0
  221. package/lib/modules/subtitles-history/components/actions.js +36 -0
  222. package/lib/modules/subtitles-history/components/list-item.d.ts +12 -0
  223. package/lib/modules/subtitles-history/components/list-item.js +105 -0
  224. package/lib/modules/subtitles-history/components/list.d.ts +10 -0
  225. package/lib/modules/subtitles-history/components/list.js +182 -0
  226. package/lib/modules/subtitles-history/components/respond-dialog-content.d.ts +5 -0
  227. package/lib/modules/subtitles-history/components/respond-dialog-content.js +44 -0
  228. package/lib/modules/subtitles-history/components/settings/index.css +5 -0
  229. package/lib/modules/subtitles-history/components/settings/index.d.ts +2 -0
  230. package/lib/modules/subtitles-history/components/settings/index.js +53 -0
  231. package/lib/modules/subtitles-history/components/timer.d.ts +3 -0
  232. package/lib/modules/subtitles-history/components/timer.js +44 -0
  233. package/lib/modules/subtitles-history/components/title.d.ts +1 -0
  234. package/lib/modules/subtitles-history/components/title.js +15 -0
  235. package/lib/modules/subtitles-history/empty.d.ts +2 -0
  236. package/lib/modules/subtitles-history/empty.js +22 -0
  237. package/lib/modules/subtitles-history/index.css +129 -0
  238. package/lib/modules/subtitles-history/index.d.ts +13 -0
  239. package/lib/modules/subtitles-history/index.js +107 -0
  240. package/lib/modules/subtitles-history/store.base.d.ts +74 -0
  241. package/lib/modules/subtitles-history/store.base.js +786 -0
  242. package/lib/modules/subtitles-history/store.electron.d.ts +15 -0
  243. package/lib/modules/subtitles-history/store.electron.js +154 -0
  244. package/lib/modules/subtitles-history/type.d.ts +4 -0
  245. package/lib/modules/subtitles-history/type.js +6 -0
  246. package/lib/modules/subtitles-history/view.d.ts +1 -0
  247. package/lib/modules/subtitles-history/view.js +104 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +2 -2
  249. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +5 -5
  250. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +15 -15
  251. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +21 -21
  252. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +23 -21
  253. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -6
  254. package/lib/modules/whiteboard/components/toolbar/store.js +14 -15
  255. package/lib/modules/whiteboard/store.d.ts +2 -3
  256. package/lib/modules/whiteboard/store.electron.d.ts +2 -0
  257. package/lib/modules/whiteboard/store.electron.js +35 -0
  258. package/lib/modules/whiteboard/store.js +14 -2
  259. package/lib/modules/whiteboard/type.d.ts +0 -35
  260. package/lib/modules/whiteboard/type.js +1 -26
  261. package/lib/modules/widget/type.d.ts +3 -66
  262. package/lib/object-manager.d.ts +3 -1
  263. package/lib/object-manager.js +2 -0
  264. package/lib/providers/ability-provider.d.ts +24 -0
  265. package/lib/providers/ability-provider.js +21 -0
  266. package/lib/providers/app-list-provider.d.ts +90 -4
  267. package/lib/providers/app-list-provider.js +157 -13
  268. package/lib/providers/board-share/bar-control/base.d.ts +4 -5
  269. package/lib/providers/board-share/bar-control/base.js +4 -4
  270. package/lib/providers/board-share/bar-control/browser.d.ts +2 -2
  271. package/lib/providers/board-share/bar-control/electron.d.ts +4 -5
  272. package/lib/providers/board-share/bar-control/electron.js +2 -0
  273. package/lib/providers/board-share/provider.base.d.ts +6 -6
  274. package/lib/providers/board-share/provider.base.js +20 -3
  275. package/lib/providers/board-share/provider.browser.js +2 -2
  276. package/lib/providers/board-share/provider.electron.js +1 -2
  277. package/lib/providers/board-share/type.d.ts +1 -2
  278. package/lib/providers/device-provider.d.ts +15 -5
  279. package/lib/providers/device-provider.js +199 -145
  280. package/lib/providers/dialog/provider.base.js +1 -1
  281. package/lib/providers/dialog/provider.electron.js +3 -0
  282. package/lib/providers/interpreter-provider.js +4 -9
  283. package/lib/providers/multi-display-provider.d.ts +1 -1
  284. package/lib/providers/privilege-provider.d.ts +241 -139
  285. package/lib/providers/privilege-provider.js +577 -318
  286. package/lib/providers/room-provider/waiting-room-control-manager.d.ts +1 -1
  287. package/lib/providers/screen-share/constant.d.ts +1 -0
  288. package/lib/providers/screen-share/constant.js +8 -0
  289. package/lib/providers/screen-share/provider.base.d.ts +20 -7
  290. package/lib/providers/screen-share/provider.base.js +27 -27
  291. package/lib/providers/screen-share/provider.browser.js +14 -18
  292. package/lib/providers/screen-share/provider.electron.d.ts +8 -0
  293. package/lib/providers/screen-share/provider.electron.js +41 -13
  294. package/lib/providers/screen-share/strategy/electron.d.ts +2 -1
  295. package/lib/providers/screen-share/strategy/electron.js +64 -56
  296. package/lib/providers/screen-share/strategy/type.d.ts +2 -2
  297. package/lib/providers/screen-share/stream-state-sync.js +5 -3
  298. package/lib/providers/screen-share/struct.d.ts +14 -4
  299. package/lib/providers/screen-share/struct.js +16 -5
  300. package/lib/providers/screen-share/type.d.ts +32 -2
  301. package/lib/providers/stt-provider/stt-provider.d.ts +89 -0
  302. package/lib/providers/stt-provider/stt-provider.js +1008 -0
  303. package/lib/providers/stt-provider/type.d.ts +168 -0
  304. package/lib/providers/stt-provider/type.js +19 -0
  305. package/lib/providers/window/main-window.d.ts +1 -0
  306. package/lib/providers/window/main-window.js +6 -1
  307. package/lib/providers/window/renderer-window.d.ts +4 -0
  308. package/lib/providers/window/renderer-window.js +19 -1
  309. package/lib/providers/window/type.d.ts +4 -0
  310. package/lib/runtime.d.ts +8 -7
  311. package/lib/runtime.js +1 -2
  312. package/lib/scenes/main-scene.js +112 -66
  313. package/lib/schema.d.ts +70 -8
  314. package/lib/schema.js +7 -2
  315. package/lib/shared-data/app-list-data.d.ts +4 -0
  316. package/lib/shared-data/app-list-data.js +21 -1
  317. package/lib/shared-data/config.d.ts +5 -1
  318. package/lib/shared-data/layout-data.d.ts +5 -0
  319. package/lib/shared-data/layout-data.js +35 -9
  320. package/lib/shared-data/member-data.d.ts +2 -3
  321. package/lib/shared-data/screen-share/index.d.ts +0 -2
  322. package/lib/shared-data/screen-share/index.js +20 -36
  323. package/lib/shared-data/screen-share/type.d.ts +0 -8
  324. package/lib/shared-data/security-data.d.ts +4 -0
  325. package/lib/shared-data/security-data.js +14 -10
  326. package/lib/shared-data/setting.d.ts +16 -1
  327. package/lib/shared-data/setting.js +33 -6
  328. package/lib/shared-data/stt-setting.ts/constant.d.ts +29 -0
  329. package/lib/shared-data/stt-setting.ts/constant.js +35 -0
  330. package/lib/shared-data/stt-setting.ts/index.d.ts +67 -0
  331. package/lib/shared-data/stt-setting.ts/index.js +202 -0
  332. package/lib/shared-data/stt-setting.ts/type.d.ts +10 -0
  333. package/lib/shared-data/stt-setting.ts/type.js +14 -0
  334. package/lib/shared-data/video-window.d.ts +1 -2
  335. package/lib/shared-data/video-window.js +20 -32
  336. package/lib/translations/enUS.d.ts +9 -0
  337. package/lib/translations/enUS.js +21 -4
  338. package/lib/translations/zhCN.d.ts +9 -0
  339. package/lib/translations/zhCN.js +21 -4
  340. package/lib/type.d.ts +20 -15
  341. package/lib/type.js +1 -0
  342. package/lib/{ui-scene.d.ts → ui-scene-switch.d.ts} +1 -1
  343. package/lib/{ui-scene.js → ui-scene-switch.js} +29 -9
  344. package/lib/utilities/constant.d.ts +6 -2
  345. package/lib/utilities/constant.js +5 -1
  346. package/lib/utilities/default-config.d.ts +3 -3
  347. package/lib/utilities/default-config.js +7 -17
  348. package/lib/utilities/focus-helper.js +18 -11
  349. package/lib/utilities/renderer.d.ts +4 -6
  350. package/lib/utilities/renderer.js +10 -4
  351. package/lib/utilities/tools.d.ts +1 -0
  352. package/lib/utilities/tools.js +6 -1
  353. package/lib/utilities/ui-resources.d.ts +9 -2
  354. package/lib/utilities/ui-resources.js +36 -12
  355. package/package.json +11 -6
  356. package/public/index.html +1 -0
  357. package/public/meeting-manager.js +23 -9
  358. package/installer/icons/favicon.ico +0 -0
  359. package/installer/icons/favicon.png +0 -0
  360. package/installer/icons/icon.png +0 -0
  361. package/installer/mac/entitlements.mac.plist +0 -16
  362. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +0 -17
  363. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +0 -5
  364. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -242
  365. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +0 -192
  366. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +0 -4
  367. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -206
  368. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +0 -57
  369. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +0 -5
  370. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -229
  371. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +0 -5
  372. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +0 -68
  373. package/lib/modules/participant/components/participants/components/participants/index.css +0 -105
  374. package/lib/modules/participant/components/participants/components/participants/index.d.ts +0 -3
  375. package/lib/modules/participant/components/participants/components/participants/index.js +0 -117
  376. package/lib/modules/participant/components/participants/types.d.ts +0 -101
  377. package/lib/modules/participant/components/participants/types.js +0 -37
  378. package/lib/modules/setting/config.d.ts +0 -36
  379. package/lib/modules/setting/config.js +0 -36
  380. package/lib/modules/widget/sdk.d.ts +0 -30
  381. package/lib/modules/widget/sdk.js +0 -224
  382. package/lib/widget-sdk.d.ts +0 -2
  383. package/lib/widget-sdk.js +0 -13
  384. /package/public/assets/electron/sound_effects/{pretest.mp3 → speakerTest.mp3} +0 -0
@@ -2,31 +2,29 @@
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
4
  require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
5
6
  require("core-js/modules/es.array.push.js");
6
7
  require("core-js/modules/es.object.define-properties.js");
7
8
  require("core-js/modules/es.object.define-property.js");
8
9
  require("core-js/modules/es.object.get-own-property-descriptor.js");
9
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
10
12
  require("core-js/modules/esnext.iterator.filter.js");
13
+ require("core-js/modules/esnext.iterator.for-each.js");
14
+ require("core-js/modules/web.dom-collections.for-each.js");
11
15
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.processManager = void 0;
12
20
  require("core-js/modules/es.array.concat.js");
13
21
  require("core-js/modules/es.array.find.js");
14
- require("core-js/modules/es.array.for-each.js");
15
22
  require("core-js/modules/es.array.join.js");
16
- require("core-js/modules/es.array.map.js");
17
- require("core-js/modules/es.date.to-json.js");
18
- require("core-js/modules/es.json.stringify.js");
19
- require("core-js/modules/es.object.keys.js");
20
23
  require("core-js/modules/es.object.to-string.js");
21
24
  require("core-js/modules/es.parse-int.js");
22
25
  require("core-js/modules/es.string.starts-with.js");
23
26
  require("core-js/modules/esnext.iterator.constructor.js");
24
27
  require("core-js/modules/esnext.iterator.find.js");
25
- require("core-js/modules/esnext.iterator.for-each.js");
26
- require("core-js/modules/esnext.iterator.map.js");
27
- require("core-js/modules/esnext.json.parse.js");
28
- require("core-js/modules/web.dom-collections.for-each.js");
29
- require("core-js/modules/web.timers.js");
30
28
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
29
  var _electron = require("electron");
32
30
  var _main = require("@electron/remote/main");
@@ -34,369 +32,51 @@ var _2 = require(".");
34
32
  var _defaultOptions = require("./default-options");
35
33
  var _env = require("./env");
36
34
  var _path = _interopRequireDefault(require("path"));
37
- var _os = _interopRequireDefault(require("os"));
38
35
  var _logger = require("./logger");
39
36
  var _devtoolShortcut = require("./plugins/devtool-shortcut");
40
- var _ipc = require("./ipc/ipc");
41
- var _type = require("./ipc/type");
42
- var _meetingState = require("./plugins/meeting-state");
43
- var _exitCodes = require("./exit-codes");
44
- var _struct = require("./struct");
45
- var _eventManager = require("./event-manager");
46
- var _until = require("./until");
37
+ var _processManager = require("./process-manager");
47
38
  var _hangDetection = require("./hang-detection");
48
- var _process$argv$find; // TODO 需要将其改造成 processManager --- stateManager 和 eventManager 的逻辑,保持兼容
49
- // processManager --- stateManager 和 eventManager
39
+ var _process$argv$find;
50
40
  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; }
51
41
  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; }
52
- var mainWindow;
53
- var mainWindowReady = false;
54
- var userMinimize = false;
55
- var mainWindowDisplayState = _struct.DisplayState.HIDE;
56
- var lastInitParams = '';
42
+ var logger = (0, _logger.getLogger)();
57
43
  (0, _main.initialize)();
58
44
  var port = (_process$argv$find = process.argv.find(function (arg) {
59
45
  return arg.startsWith('--port=');
60
46
  })) === null || _process$argv$find === void 0 ? void 0 : _process$argv$find.split('=')[1];
61
- var ipcClient = new _ipc.IPCClient({
62
- port: port ? parseInt(port, 10) : 50000
47
+ var processManager = exports.processManager = new _processManager.ProcessManager({
48
+ port: port ? parseInt(port, 10) : 50000,
49
+ isDev: _env.isDev
63
50
  });
64
- ipcClient.addObserver({
65
- onConnected: function onConnected() {
66
- (0, _logger.getLogger)().info('IPC client connected to server');
67
- if (mainWindowReady) {
68
- ipcClient.sendMessage({
69
- cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
70
- data: {}
71
- });
72
- }
73
- },
74
- onDisconnected: function onDisconnected() {
75
- (0, _logger.getLogger)().info('IPC client disconnected from server, close all windows');
76
- _electron.BrowserWindow.getAllWindows().forEach(function (window) {
77
- if (window.isDestroyed()) {
78
- return;
79
- }
80
- window.close();
81
- });
82
- _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
83
- },
84
- onMessageReceived: function onMessageReceived(message) {
85
- var _message$data;
86
- switch (message.cmd) {
87
- case _type.IPCMessageCMD.LaunchMeeting:
88
- // 检查当前launch状态,如果正在处理中则拒绝新的launch请求
89
- var roomId = ((_message$data = message.data) === null || _message$data === void 0 ? void 0 : _message$data.roomId) || 'unknown';
90
- if (!_eventManager.eventManager.canLaunchMeeting()) {
91
- (0, _logger.getLogger)().warn("CPP EVENT: Launch request rejected: already in PROCESSING state. Current state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
92
- // 发送失败消息给客户端
93
- ipcClient.sendMessage({
94
- cmd: _type.IPCMessageCMD.LaunchFailure,
95
- data: {
96
- roomId: roomId,
97
- errorCode: _until.meetingLaunchProcessingErrorCode
98
- }
99
- });
100
- return;
101
- }
102
- _eventManager.eventManager.startMeetingProcess(roomId);
103
- (0, _logger.getLogger)().info("CPP EVENT: LaunchMeeting: ".concat(JSON.stringify(message.data), ", has mainWindow ").concat(!!mainWindow, ", state changed to ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
104
- if (mainWindow) {
105
- mainWindow.webContents.send(_type.IPCMessageCMD.LaunchMeeting, {
106
- data: message.data,
107
- lastInitParams: lastInitParams
108
- });
109
- mainWindow.show();
110
- mainWindow.focus();
111
- mainWindow.moveTop();
112
- var platform = _os["default"].platform();
113
- if (platform === 'win32') {
114
- (0, _logger.getLogger)().info('windows_index setAlwaysOnTop in bootstrap-sdk');
115
- mainWindow.setAlwaysOnTop(true, 'pop-up-menu');
116
- setTimeout(function () {
117
- (0, _logger.getLogger)().info("windows_index set main window in bootstrap-sdk,current display state: ".concat(mainWindowDisplayState));
118
- if (mainWindowDisplayState === _struct.DisplayState.SHOW) {
119
- mainWindow.moveTop();
120
- mainWindow.show();
121
- mainWindow.focus();
122
- }
123
- }, 300);
124
- mainWindow.setAlwaysOnTop(false, 'pop-up-menu');
125
- }
126
- }
127
- break;
128
- case _type.IPCMessageCMD.InitCreator:
129
- (0, _logger.getLogger)().info("InitCreator, current message data: ".concat(JSON.stringify(message.data)));
130
- lastInitParams = JSON.stringify(message.data);
131
51
 
132
- // 检查调用顺序:如果是 init -> launch 但 launch 在 PROCESSING 阶段,需要报错
133
- if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
134
- (0, _logger.getLogger)().error("CPP EVENT: InitCreator call rejected: Launch is already in PROCESSING state. Please complete the current launch cycle first.");
135
- return;
136
- }
137
- (0, _logger.getLogger)().info("InitCreator: Initialization completed");
138
- try {
139
- var data = message.data;
140
- if (typeof message.data == 'string') {
141
- data = JSON.parse(message.data);
142
- }
143
- if (data['appUserModelId']) {
144
- _electron.app.setAppUserModelId(data['appUserModelId']);
145
- }
146
- } catch (e) {
147
- (0, _logger.getLogger)().error("InitCreator: ".concat(e));
148
- }
149
- if (mainWindow) {
150
- (0, _logger.getLogger)().info("InitCreator: send InitCreator message to mainWindow");
151
- mainWindow.webContents.send(_type.IPCMessageCMD.InitCreator, message.data);
152
- } else {
153
- (0, _logger.getLogger)().error("InitCreator: mainWindow is not ready");
154
- }
155
- break;
156
- case _type.IPCMessageCMD.OpenSetting:
157
- (0, _logger.getLogger)().info("CPP EVENT: OpenSetting: ".concat(JSON.stringify(message.data)));
158
- if (mainWindow) {
159
- mainWindow.webContents.send(_type.IPCMessageCMD.OpenSetting, message.data);
160
- }
161
- break;
162
- case _type.IPCMessageCMD.CloseSetting:
163
- (0, _logger.getLogger)().info("CPP EVENT: CloseSetting: ".concat(JSON.stringify(message.data)));
164
- if (mainWindow) {
165
- mainWindow.webContents.send(_type.IPCMessageCMD.CloseSetting, message.data);
166
- }
167
- break;
168
- case _type.IPCMessageCMD.SetParameters:
169
- (0, _logger.getLogger)().info("CPP EVENT: SetParameters: ".concat(JSON.stringify(message.data)));
170
- if (mainWindow) {
171
- mainWindow.webContents.send(_type.IPCMessageCMD.SetParameters, message.data);
172
- }
173
- break;
174
- case _type.IPCMessageCMD.RenewUserToken:
175
- (0, _logger.getLogger)().info("CPP EVENT: RenewUserToken: ".concat(JSON.stringify(message.data)));
176
- if (mainWindow) {
177
- mainWindow.webContents.send(_type.IPCMessageCMD.RenewUserToken, message.data);
178
- }
179
- break;
180
- case _type.IPCMessageCMD.ExitUiScene:
181
- (0, _logger.getLogger)().info("CPP EVENT:ExitUiScene: ".concat(JSON.stringify(message.data)));
182
- if (mainWindow) {
183
- mainWindow.webContents.send(_type.IPCMessageCMD.ExitUiScene, message.data);
184
- }
185
- break;
186
- default:
187
- (0, _logger.getLogger)().info("CPP EVENT: Unknown command: ".concat(message.cmd));
188
- break;
189
- }
190
- },
191
- onError: function onError(error) {
192
- (0, _logger.getLogger)().error("Error: ".concat(error));
193
- }
194
- });
52
+ // 启动崩溃报告器
195
53
  _electron.crashReporter.start({
196
54
  uploadToServer: false
197
55
  });
198
56
  (0, _2.hookApp)(_electron.app);
57
+
58
+ // ==================== 应用就绪事件 ====================
59
+
199
60
  _electron.app.addListener('ready', function () {
200
- (0, _logger.getLogger)().info('app ready in bootstrap-sdk');
201
- mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
202
- webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
203
- show: false
204
- }));
205
- _electron.Menu.setApplicationMenu(null);
206
- _electron.ipcMain.addListener('launch-success', function (_, roomId) {
207
- if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
208
- (0, _logger.getLogger)().warn("launch-success in bootstrap-sdk: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
209
- return;
210
- }
211
- _eventManager.eventManager.onLaunchSuccess(roomId);
212
- (0, _logger.getLogger)().info("launch-success in bootstrap-sdk: ".concat(roomId));
213
- ipcClient.sendMessage({
214
- cmd: _type.IPCMessageCMD.LaunchSuccess,
215
- data: {
216
- roomId: roomId
217
- }
218
- });
219
- });
220
- _electron.ipcMain.addListener('launch-failure', function (_, roomId, errorCode) {
221
- if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
222
- (0, _logger.getLogger)().warn("launch-failure in bootstrap-sdk: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
223
- return;
224
- }
225
- if (!roomId || typeof roomId !== 'string') {
226
- (0, _logger.getLogger)().error("Invalid roomId: ".concat(roomId));
227
- return;
228
- }
229
- _eventManager.eventManager.onLaunchFailure(roomId, errorCode);
230
- ipcClient.sendMessage({
231
- cmd: _type.IPCMessageCMD.LaunchFailure,
232
- data: {
233
- roomId: roomId,
234
- errorCode: errorCode
235
- }
236
- });
237
- });
238
- _electron.ipcMain.addListener('exited-meeting', function (_, roomId, reason) {
239
- if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.END && _eventManager.eventManager.endReason === _struct.FcrUISceneLaunchEndReason.CLOSE_WINDOW) {
240
- (0, _logger.getLogger)().warn("exited-meeting in bootstrap-sdk: ".concat(roomId, ", but launch state is END with closeWindow reason, ignore this event"));
241
- return;
242
- }
243
- ipcClient.sendMessage({
244
- cmd: _type.IPCMessageCMD.ExitedMeeting,
245
- data: {
246
- roomId: roomId,
247
- reason: reason
248
- }
249
- });
250
- _eventManager.eventManager.onExitedMeeting(roomId, 'exited-meeting');
251
- });
252
- _electron.ipcMain.addListener('widget-clicked', function (_, widgetId) {
253
- (0, _logger.getLogger)().info("widget-clicked in bootstrap-sdk: ".concat(widgetId));
254
- ipcClient.sendMessage({
255
- cmd: _type.IPCMessageCMD.WidgetClicked,
256
- data: {
257
- widgetId: widgetId
258
- }
259
- });
260
- });
261
- _electron.ipcMain.addListener('user-token-will-expire', function () {
262
- (0, _logger.getLogger)().info("user-token-will-expire in bootstrap-sdk");
263
- ipcClient.sendMessage({
264
- cmd: _type.IPCMessageCMD.TokenWillExpire,
265
- data: {}
266
- });
267
- });
268
- (0, _2.hookWindow)(mainWindow);
269
- mainWindow.webContents.addListener('render-process-gone', function () {
270
- var roomId = _eventManager.eventManager.roomId;
271
- ipcClient.sendMessage({
272
- cmd: _type.IPCMessageCMD.ExitedMeeting,
273
- data: {
274
- roomId: roomId,
275
- reason: _until.crashedErrorCode
276
- }
277
- });
278
- _eventManager.eventManager.onExitedMeeting(roomId, _struct.FcrUISceneLaunchEndReason.CRASHED);
279
- });
280
- mainWindow.webContents.addListener('did-finish-load', function () {
281
- mainWindowReady = true;
282
- ipcClient.sendMessage({
283
- cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
284
- data: {}
285
- });
286
- });
287
- mainWindow.addListener('minimize', function () {
288
- (0, _logger.getLogger)().info('windows_release main window minimized');
289
- mainWindowDisplayState = _struct.DisplayState.MINIMIZE;
290
- userMinimize = true;
291
- });
292
- mainWindow.addListener('show', function () {
293
- (0, _logger.getLogger)().info('windows_release main window show');
294
- mainWindowDisplayState = _struct.DisplayState.SHOW;
295
- mainWindow.focus();
296
- userMinimize = false;
297
- });
298
- mainWindow.addListener('always-on-top-changed', function (event, alwaysOnTop) {
299
- (0, _logger.getLogger)().info("windows_index main window always-on-top-changed: ".concat(alwaysOnTop));
300
- });
301
- mainWindow.addListener('hide', function () {
302
- (0, _logger.getLogger)().info("windows_release main window hidden, current launch state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
303
- (0, _logger.getLogger)().info("windows_release the main window is hide, all window State: ".concat(_electron.BrowserWindow.getAllWindows().map(function (windowItem) {
304
- return "the window id ".concat(windowItem.id, " ").concat(windowItem.getTitle(), " ").concat(windowItem.isVisible());
305
- })));
306
- mainWindowDisplayState = _struct.DisplayState.HIDE;
307
- if (userMinimize) {
308
- (0, _logger.getLogger)().info('windows_release main window hidden, but user minimize, ignore this event');
309
- return;
310
- }
61
+ logger.info('app ready in bootstrap-sdk');
311
62
 
312
- // if (
313
- // eventManager.launchState === LaunchState.END &&
314
- // eventManager.endReason === FcrUISceneLaunchEndReason.LAUNCH_SUCCESS
315
- // ) {
316
- // getLogger().info(
317
- // 'windows_release main window hidden, but launch state is END, send error Event',
318
- // );
63
+ // 创建主窗口
64
+ var mainWindow = createMainWindow();
65
+ processManager.init(mainWindow);
319
66
 
320
- // ipcClient.sendMessage({
321
- // cmd: IPCMessageCMD.Error,
322
- // data: {
323
- // roomId: eventManager.roomId,
324
- // errorCode: mainWindowHiddenOnLaunchSuccessErrorCode,
325
- // message: 'main window hidden on launch success',
326
- // },
327
- // });
328
- // return;
329
- // }
67
+ // 挂钩窗口事件
68
+ (0, _2.hookWindow)(mainWindow);
330
69
 
331
- if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
332
- return;
333
- }
334
- try {
335
- // 再会议启动过程中,窗口被其他窗口遮挡也会触发hide事件,实际窗口在后面运行,所以需要判断窗口是否可见
336
- if (mainWindow.isVisible()) {
337
- (0, _logger.getLogger)().info('windows_release main window hidden, but window is visible, ignore this event');
338
- return;
339
- }
340
- } catch (error) {
341
- (0, _logger.getLogger)().error("windows_release main window hide, get main window visible error");
342
- }
343
- ipcClient.sendMessage({
344
- // TODO
345
- // cmd: IPCMessageCMD.ExitUiSceneFromMainProcess,
346
- cmd: _type.IPCMessageCMD.ExitedMeeting,
347
- data: {
348
- roomId: _eventManager.eventManager.roomId,
349
- reason: _until.windowHideErrorCode
350
- }
351
- });
352
- _eventManager.eventManager.onExitedMeeting(_eventManager.eventManager.roomId, 'window hidden');
353
- });
354
- mainWindow.addListener('closed', function () {
355
- (0, _logger.getLogger)().info('windows_release main window closed');
356
- // 清理主窗口的hang detection状态
357
- hangDetectionManager.handleWindowClosed(mainWindow.id);
358
- _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
359
- });
360
- mainWindow.addListener('close', function (e) {
361
- mainWindowDisplayState = _struct.DisplayState.HIDE;
362
- var closeListenerCount = mainWindow.listenerCount('close');
363
- (0, _logger.getLogger)().info("windows_release main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
364
- if (_meetingState.isInMeeting === 0) {
365
- // 只有在会议启动中才处理窗口关闭事件,其他状态走默认的会中逻辑
366
- if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
367
- _eventManager.eventManager.onCloseWindow();
368
- }
369
- e.preventDefault();
370
- (0, _logger.getLogger)().info('windows_release main window close event prevented');
371
- (0, _logger.getLogger)().info("windows_release main window close event prevented send close-window-before-launch-success, listener count: ".concat(mainWindow.listenerCount('close-window-before-launch-success')));
372
- mainWindow.webContents.send('close-window-before-launch-success');
373
- ipcClient.sendMessage({
374
- // cmd: IPCMessageCMD.ExitUiSceneFromMainProcess,
375
- cmd: _type.IPCMessageCMD.ExitedMeeting,
376
- data: {
377
- roomId: _eventManager.eventManager.roomId,
378
- reason: _until.closeWindowBeforeLaunchSuccessErrorCode
379
- }
380
- });
381
- (0, _logger.getLogger)().info('main window close event prevented');
382
- setTimeout(function () {
383
- if (mainWindow && !mainWindow.isDestroyed()) {
384
- mainWindow.hide();
385
- }
386
- }, 300);
387
- }
388
- });
389
- if (_env.isDev) {
390
- mainWindow.webContents.openDevTools({
391
- mode: 'detach'
392
- });
393
- mainWindow.loadURL(_env.devPageUrl);
394
- } else {
395
- mainWindow.loadFile(_path["default"].join(_env.distPathPrefix, _env.distIndexFileName));
396
- }
70
+ // 加载页面
71
+ loadPage(mainWindow);
72
+
73
+ // 开发环境下启用 DevTools 快捷键
397
74
  (0, _devtoolShortcut.listenDevToolShortcut)(mainWindow);
398
- return mainWindow;
75
+ logger.info('Main window created and initialized');
399
76
  });
77
+
78
+ // ==================== 浏览器窗口创建事件 ====================
79
+
400
80
  _electron.app.addListener('browser-window-created', function (_, window) {
401
81
  var windowId = window.id;
402
82
  (0, _logger.getLogger)().warn("window created: ".concat(windowId, " ,window title: ").concat(window.getTitle()));
@@ -417,31 +97,57 @@ _electron.app.addListener('browser-window-created', function (_, window) {
417
97
  (0, _main.enable)(window.webContents);
418
98
  });
419
99
 
420
- // 添加退出事件监听器用于诊断
100
+ // ==================== 应用退出事件 ====================
101
+
421
102
  _electron.app.addListener('before-quit', function (event) {
422
- (0, _logger.getLogger)().info('app before-quit event triggered');
103
+ logger.info('app before-quit event triggered');
423
104
  });
424
105
  _electron.app.addListener('will-quit', function (event) {
425
- (0, _logger.getLogger)().info('app will-quit event triggered');
106
+ logger.info('app will-quit event triggered');
426
107
  });
427
108
  _electron.app.addListener('quit', function (event, exitCode) {
428
- (0, _logger.getLogger)().info("app quit event triggered with exit code: ".concat(exitCode));
429
- // 清理 EventManager 资源
430
- _eventManager.eventManager.dispose();
109
+ logger.info("app quit event triggered with exit code: ".concat(exitCode));
431
110
 
432
- // 清理所有hang detection计时器
433
- hangDetectionManager.dispose();
111
+ // 清理资源
112
+ cleanupResources();
434
113
  });
114
+
115
+ // ==================== 辅助函数 ====================
116
+
117
+ /**
118
+ * 创建主窗口
119
+ */
120
+ function createMainWindow() {
121
+ var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
122
+ webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
123
+ show: false // 初始不显示窗口,等待 LaunchMeeting 消息
124
+ }));
125
+
126
+ // 禁用默认菜单
127
+ _electron.Menu.setApplicationMenu(null);
128
+ logger.info('Main window created');
129
+ return mainWindow;
130
+ }
131
+
132
+ /**
133
+ * 加载页面
134
+ */
135
+ function loadPage(mainWindow) {
136
+ if (_env.isDev) {
137
+ mainWindow.webContents.openDevTools({
138
+ mode: 'detach'
139
+ });
140
+ mainWindow.loadURL(_env.devPageUrl);
141
+ logger.info("Loading dev page: ".concat(_env.devPageUrl));
142
+ } else {
143
+ var indexPath = _path["default"].join(_env.distPathPrefix, _env.distIndexFileName);
144
+ mainWindow.loadFile(indexPath);
145
+ logger.info("Loading production page: ".concat(indexPath));
146
+ }
147
+ }
435
148
  var onHangTimeout = function onHangTimeout(windowId) {
436
149
  (0, _logger.getLogger)().error("Window ".concat(windowId, " hang timeout, triggering application exit"));
437
- _eventManager.eventManager.onExitedMeeting(_eventManager.eventManager.roomId, _struct.FcrUISceneLaunchEndReason.HANG_DETECTION);
438
- ipcClient.sendMessage({
439
- cmd: _type.IPCMessageCMD.ExitedMeeting,
440
- data: {
441
- roomId: _eventManager.eventManager.roomId,
442
- reason: _until.hangDetectionErrorCode
443
- }
444
- });
150
+ processManager.handleWindowUnresponsive();
445
151
  };
446
152
  var onStateChange = function onStateChange(windowId, isUnresponsive, duration) {
447
153
  if (isUnresponsive) {
@@ -457,21 +163,33 @@ var hangDetectionManager = new _hangDetection.MultiWindowHangDetectionManager({
457
163
  timeout: _hangDetection.DEFAULT_HANG_DETECTION_TIMEOUT,
458
164
  enableVerboseLogging: true
459
165
  });
460
- function handleUnresponsive(windowId) {
461
- var _mainWindow;
462
- var targetWindowId = windowId || ((_mainWindow = mainWindow) === null || _mainWindow === void 0 ? void 0 : _mainWindow.id);
166
+ function handleUnresponsive(targetWindowId) {
463
167
  if (!targetWindowId) {
464
168
  (0, _logger.getLogger)().warn('Cannot handle unresponsive: no window ID available');
465
169
  return;
466
170
  }
467
171
  hangDetectionManager.handleWindowUnresponsive(targetWindowId);
468
172
  }
469
- function handleResponsive(windowId) {
470
- var _mainWindow2;
471
- var targetWindowId = windowId || ((_mainWindow2 = mainWindow) === null || _mainWindow2 === void 0 ? void 0 : _mainWindow2.id);
173
+ function handleResponsive(targetWindowId) {
472
174
  if (!targetWindowId) {
473
175
  (0, _logger.getLogger)().warn('Cannot handle responsive: no window ID available');
474
176
  return;
475
177
  }
476
178
  hangDetectionManager.handleWindowResponsive(targetWindowId);
477
- }
179
+ }
180
+
181
+ /**
182
+ * 清理资源
183
+ */
184
+ function cleanupResources() {
185
+ logger.info('Cleaning up resources...');
186
+
187
+ // ProcessManager 会自动清理内部的 stateManager 和 eventManager
188
+ processManager.release();
189
+
190
+ // 清理所有 hang detection 计时器
191
+ hangDetectionManager.dispose();
192
+ logger.info('All resources cleaned up');
193
+ }
194
+
195
+ // ==================== 导出 ====================
@@ -10,5 +10,10 @@ export declare enum AppExitCode {
10
10
  * Renderer process has unexpectedly terminated
11
11
  * This typically indicates a crash or critical error in the sub window renderer process
12
12
  */
13
- RENDERER_PROCESS_GONE = 100
13
+ RENDERER_PROCESS_GONE = 100,
14
+ /**
15
+ * Window hang detection
16
+ * This typically indicates a hang or critical error in the main window
17
+ */
18
+ HANG_DETECTION_EXIT = 101
14
19
  }
@@ -18,5 +18,10 @@ var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
18
18
  * This typically indicates a crash or critical error in the sub window renderer process
19
19
  */
20
20
  AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
21
+ /**
22
+ * Window hang detection
23
+ * This typically indicates a hang or critical error in the main window
24
+ */
25
+ AppExitCode[AppExitCode["HANG_DETECTION_EXIT"] = 101] = "HANG_DETECTION_EXIT";
21
26
  return AppExitCode;
22
27
  }({});
@@ -3,6 +3,7 @@ import { BrowserWindowConstructorOptions } from 'electron/renderer';
3
3
  import os from 'os';
4
4
  import { NetworkType, RendererCustomEvent } from '../runtime';
5
5
  import { BrowserWindowProxyImpl } from './window-proxy/browser-window-proxy';
6
+ import { FcrUiResourceType } from '../type';
6
7
  export declare const openDirectory: () => Promise<string | undefined>;
7
8
  export declare const showItemInFolder: (path: string) => void;
8
9
  export declare const sendEvent: (event: RendererCustomEvent) => void;
@@ -27,13 +28,18 @@ export declare const quitApp: () => void;
27
28
  export declare const getSystemMemorySize: () => number;
28
29
  export declare const getSystemCpuInfo: () => os.CpuInfo[];
29
30
  export declare const getNetworkType: () => Promise<NetworkType>;
30
- export declare const getResourceByFileType: (zipUrl: string, md5Str: string, type: "image" | "video" | "audio") => Promise<string[]>;
31
+ export declare const downloadAndExtractResourceFileFromZip: (zipUrl: string, type: FcrUiResourceType) => Promise<string[]>;
32
+ export declare const downloadResourceFile: (fileUrl: string, type: FcrUiResourceType) => Promise<string>;
31
33
  export declare const fileToBase64: (file: string, type: "image" | "video" | "audio") => string;
32
34
  export declare const fileToBlob: (file: string, type: "image" | "video" | "audio") => Blob;
33
35
  export declare const loadBuiltinResources: () => Promise<{
34
- virtualBackgroundImages: string[];
35
- virtualBackgroundVideos: string[];
36
- soundEffects: string[];
36
+ virtualBackgroundImages?: string[] | undefined;
37
+ virtualBackgroundVideos?: string[] | undefined;
38
+ soundEffectAudios?: {
39
+ cloudRecording?: string | undefined;
40
+ userJoin?: string | undefined;
41
+ speakerTest?: string | undefined;
42
+ } | undefined;
37
43
  }>;
38
44
  export declare const getMediaSourceIdList: () => {
39
45
  title: string;