fcr-ui-scene 3.8.1-alpha → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/provider-initializer.browser.js +8 -7
  3. package/lib/creator/provider-initializer.electron.js +8 -8
  4. package/lib/electron/asar-validation.d.ts +12 -0
  5. package/lib/electron/asar-validation.js +115 -0
  6. package/lib/electron/bootstrap-sdk.js +20 -12
  7. package/lib/electron/default-options.js +2 -1
  8. package/lib/electron/env.d.ts +1 -0
  9. package/lib/electron/env.js +6 -4
  10. package/lib/electron/exit-codes.js +11 -11
  11. package/lib/electron/hang-detection/manager.js +4 -4
  12. package/lib/electron/ipc-protocol.js +12 -12
  13. package/lib/electron/process-manager/event-manager.js +30 -30
  14. package/lib/electron/process-manager/index.js +88 -88
  15. package/lib/electron/process-manager/state-manager.js +57 -57
  16. package/lib/electron/process-manager/types.js +16 -16
  17. package/lib/electron/sdk-helper.js +3 -3
  18. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  19. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  20. package/lib/fragments/annotation/style.css +9 -9
  21. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  22. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  23. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  24. package/lib/fragments/annotation/toolbar/style.css +55 -55
  25. package/lib/fragments/whiteboard/cursor.css +77 -77
  26. package/lib/fragments/whiteboard/style.css +4 -4
  27. package/lib/global.css +62 -62
  28. package/lib/global.d.ts +27 -27
  29. package/lib/index.js +9 -1
  30. package/lib/modules/action-bar/components/chat/index.css +88 -88
  31. package/lib/modules/action-bar/components/more/index.css +114 -114
  32. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  33. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  34. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  35. package/lib/modules/action-bar/components/participants/index.css +21 -21
  36. package/lib/modules/action-bar/components/record/index.css +39 -39
  37. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  39. package/lib/modules/action-bar/index.css +358 -358
  40. package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
  41. package/lib/modules/action-bar/main-scene/store.base.js +29 -57
  42. package/lib/modules/action-bar/main-scene/view.js +3 -3
  43. package/lib/modules/audio-stream/index.js +3 -3
  44. package/lib/modules/caption/draggable-container/index.css +10 -10
  45. package/lib/modules/caption/view.css +158 -158
  46. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  47. package/lib/modules/chat/components/chat-select/index.css +185 -185
  48. package/lib/modules/chat/index.css +124 -124
  49. package/lib/modules/components/apps/app-item/index.css +49 -49
  50. package/lib/modules/components/apps/index.css +9 -9
  51. package/lib/modules/components/caption-menu/index.css +58 -58
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  54. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  55. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  56. package/lib/modules/components/control-bar/index.css +99 -99
  57. package/lib/modules/components/device-control/index.css +177 -177
  58. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  59. package/lib/modules/components/leave-meeting/style.css +9 -9
  60. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  61. package/lib/modules/components/member-window/index.css +502 -502
  62. package/lib/modules/components/security-menu/index.css +42 -42
  63. package/lib/modules/components/tab-frame/index.css +40 -40
  64. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  65. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  66. package/lib/modules/components/toolbar/style.css +85 -85
  67. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  68. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  69. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  70. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  71. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  72. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  73. package/lib/modules/connection-gateway/index.css +6 -6
  74. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  75. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  76. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  77. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  78. package/lib/modules/control-bar/index.css +340 -340
  79. package/lib/modules/control-bar/index.js +4 -4
  80. package/lib/modules/device-pretest/index.css +123 -123
  81. package/lib/modules/dialog/components/confirm/index.css +24 -24
  82. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  83. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  84. package/lib/modules/dialog/dialogs/connection-gateway/tabs.d.ts +1 -0
  85. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +27 -14
  86. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  87. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  88. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  89. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  90. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  91. package/lib/modules/dialog/index.css +56 -56
  92. package/lib/modules/event-toast/index.css +25 -25
  93. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  94. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  95. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  96. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  97. package/lib/modules/interpreter/footer/index.css +11 -11
  98. package/lib/modules/interpreter/index.css +4 -4
  99. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  100. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  101. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  102. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  103. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  104. package/lib/modules/invite/components/pstn-invite.js +1 -1
  105. package/lib/modules/invite/components/voip-invite.css +26 -26
  106. package/lib/modules/invite/index.css +331 -331
  107. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  108. package/lib/modules/layout/components/index.css +653 -653
  109. package/lib/modules/layout/index.css +59 -59
  110. package/lib/modules/layout/store.base.js +5 -5
  111. package/lib/modules/layout/type.js +5 -5
  112. package/lib/modules/notification/index.css +77 -77
  113. package/lib/modules/notification/interpreter-status/index.css +76 -76
  114. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  115. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  116. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  117. package/lib/modules/participant/index.css +102 -102
  118. package/lib/modules/participant/store.base.js +175 -175
  119. package/lib/modules/pc-audio-connect/index.css +12 -12
  120. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +2 -1
  121. package/lib/modules/pc-audio-connect/main-scene/index.js +5 -4
  122. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +3 -0
  123. package/lib/modules/pc-audio-connect/main-scene/store.js +44 -7
  124. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  125. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  126. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  127. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  128. package/lib/modules/phone-audio-connect/index.css +56 -56
  129. package/lib/modules/secondary-window/store.js +7 -7
  130. package/lib/modules/setting/audio-settings/index.css +195 -195
  131. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
  132. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
  133. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  134. package/lib/modules/setting/general-settings/index.css +41 -41
  135. package/lib/modules/setting/index.css +112 -112
  136. package/lib/modules/setting/minutes-settings/index.css +65 -65
  137. package/lib/modules/setting/state/index.css +207 -207
  138. package/lib/modules/setting/storage-settings/index.css +91 -91
  139. package/lib/modules/setting/translate-settings/index.css +47 -47
  140. package/lib/modules/setting/video-settings/index.css +357 -357
  141. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  142. package/lib/modules/share-screen/components/selection/index.css +73 -73
  143. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  144. package/lib/modules/share-screen/index.js +10 -10
  145. package/lib/modules/share-screen/store.base.js +2 -2
  146. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  147. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  148. package/lib/modules/state-bar/index.css +706 -706
  149. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  150. package/lib/modules/state-bar/meeting-detail.css +137 -137
  151. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  152. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  153. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  154. package/lib/modules/subtitles-history/index.css +129 -129
  155. package/lib/modules/video-window/components/members/index.css +51 -51
  156. package/lib/modules/video-window/components/speaking/index.css +86 -86
  157. package/lib/modules/video-window/components/topControl/index.css +35 -35
  158. package/lib/modules/video-window/index.css +21 -21
  159. package/lib/modules/video-window/popover-watcher.js +3 -3
  160. package/lib/modules/video-window/store.js +10 -10
  161. package/lib/modules/waiting-room-layout/index.css +96 -96
  162. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  163. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  164. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  165. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  166. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  167. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  168. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  169. package/lib/modules/whiteboard/style.css +140 -140
  170. package/lib/modules/widget/index.css +9 -9
  171. package/lib/modules/widget/index.d.ts +1 -0
  172. package/lib/modules/widget/index.js +16 -1
  173. package/lib/modules/widget/store.base.d.ts +1 -0
  174. package/lib/modules/widget/store.base.js +12 -0
  175. package/lib/modules/widget/store.electron.js +5 -0
  176. package/lib/modules/widget/web-widget.d.ts +6 -1
  177. package/lib/modules/widget/web-widget.js +66 -22
  178. package/lib/object-manager.js +8 -8
  179. package/lib/plugins/module-dev-plugin.js +11 -11
  180. package/lib/providers/ability-provider.js +17 -17
  181. package/lib/providers/app-list-provider.d.ts +1 -1
  182. package/lib/providers/app-list-provider.js +9 -7
  183. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  184. package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
  185. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  186. package/lib/providers/board-share/struct.js +6 -6
  187. package/lib/providers/device-stream-provider.d.ts +1 -1
  188. package/lib/providers/dialog/provider.base.js +2 -2
  189. package/lib/providers/dialog/type.js +3 -3
  190. package/lib/providers/multi-display-provider.js +4 -4
  191. package/lib/providers/privilege-provider.js +7 -7
  192. package/lib/providers/screen-share/provider.base.js +23 -23
  193. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  194. package/lib/providers/screen-share/struct.js +24 -24
  195. package/lib/providers/widget-provider.d.ts +13 -2
  196. package/lib/providers/widget-provider.js +60 -9
  197. package/lib/providers/window/main-window.js +2 -2
  198. package/lib/providers/window/provider.js +5 -5
  199. package/lib/providers/window/renderer-window.js +2 -2
  200. package/lib/scenes/main-scene.js +1 -0
  201. package/lib/schema.js +26 -26
  202. package/lib/shared-data/app-list-data.d.ts +0 -3
  203. package/lib/shared-data/app-list-data.js +3 -30
  204. package/lib/shared-data/meeting-time.js +8 -8
  205. package/lib/shared-data/setting.js +3 -3
  206. package/lib/shared-data/video-window.d.ts +1 -1
  207. package/lib/shared-data/video-window.js +1 -1
  208. package/lib/shared-data/widget-data.d.ts +0 -1
  209. package/lib/type.d.ts +1 -0
  210. package/lib/type.js +23 -21
  211. package/lib/ui-scene-switch.js +2 -2
  212. package/lib/utilities/constant.js +6 -6
  213. package/lib/utilities/renderer.js +8 -8
  214. package/lib/utilities/shared-storage.js +2 -2
  215. package/lib/utilities/tools.js +14 -14
  216. package/package.json +82 -77
  217. package/public/assets/fcr_chat_reddot.svg +5 -5
  218. package/public/assets/fcr_grid_big.svg +3 -3
  219. package/public/assets/fcr_leave2.svg +58 -58
  220. package/public/assets/fcr_listontop_big.svg +3 -3
  221. package/public/assets/step-gradient.svg +10 -10
  222. package/public/fragment.html +10 -10
  223. package/public/index.html +107 -183
  224. package/public/index.vite.html +109 -0
  225. package/public/js/init.js +75 -0
  226. package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
package/lib/base.js CHANGED
@@ -300,8 +300,8 @@ var FcrBaseUIScene = exports.FcrBaseUIScene = /*#__PURE__*/function (_FcrUIRootN
300
300
  }
301
301
  }]);
302
302
  }(FcrUIRootNode);
303
- /**
304
- * UI Module
303
+ /**
304
+ * UI Module
305
305
  */
306
306
  var UIModule = exports.UIModule = /*#__PURE__*/function (_FcrUINode3) {
307
307
  function UIModule(parentNode) {
@@ -136,17 +136,11 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
136
136
  var messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
137
137
  var dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
138
138
  var sharedConfigDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIG_DATA_SOURCE);
139
+ var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
139
140
  var sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource);
140
141
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE, sharedLayoutDataSource);
141
142
  var sharedScreenShareDataSource = new _screenShare.FcrUISharedScreenShareDataSourceImpl();
142
143
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE, sharedScreenShareDataSource);
143
- var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
144
- var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
145
- sharedWidgetDataSource: sharedWidgetDataSource,
146
- roomProvider: roomProvider,
147
- dialogProvider: dialogProvider
148
- });
149
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
150
144
  var mainRoomControl = roomProvider.currentRoomControl;
151
145
  var sharingControl = mainRoomControl.getSharingControl();
152
146
  var streamControl = mainRoomControl.getStreamControl();
@@ -206,6 +200,13 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
206
200
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEETING_TIME_DATA_SOURCE, sharedMeetingTimeDataSource);
207
201
  var sharedMemberDataSource = new _memberData.FcrUISharedMemberDataSourceImpl(userControl, streamControl, sharedScreenShareDataSource, eventProvider, mainRoomControl.getSharingControl().getBoardControl());
208
202
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE, sharedMemberDataSource);
203
+ var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
204
+ sharedWidgetDataSource: sharedWidgetDataSource,
205
+ roomProvider: roomProvider,
206
+ dialogProvider: dialogProvider,
207
+ sharedMemberDataSource: sharedMemberDataSource
208
+ });
209
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
209
210
  var whiteboardProvider = new _provider6.FcrUIBoardShareProviderImpl(objectManager);
210
211
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_BOARD_SHARE_PROVIDER, whiteboardProvider);
211
212
  var sharedSecurityDataSource = new _securityData.FcrUISecurityDataSourceImpl(privilegeProvider, sharedMemberDataSource);
@@ -140,9 +140,9 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
140
140
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
141
141
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
142
142
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
143
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
144
143
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.CORE_ENGINE);
145
144
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIRM_DATA_SOURCE);
145
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
146
146
  if (objectManager.size() > 0) {
147
147
  this.logger.error("remaing objects: ".concat(objectManager.keys()));
148
148
  } else {
@@ -162,12 +162,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
162
162
  var messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
163
163
  var dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
164
164
  var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
165
- var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
166
- sharedWidgetDataSource: sharedWidgetDataSource,
167
- roomProvider: roomProvider,
168
- dialogProvider: dialogProvider
169
- });
170
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
171
165
  var windowProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
172
166
  var sharedScreenShareDataSource = new _screenShare.FcrUISharedScreenShareDataSourceImpl();
173
167
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE, sharedScreenShareDataSource);
@@ -233,7 +227,13 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
233
227
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEETING_TIME_DATA_SOURCE, sharedMeetingTimeDataSource);
234
228
  var sharedMemberDataSource = new _memberData.FcrUISharedMemberDataSourceImpl(userControl, streamControl, sharedScreenShareDataSource, eventProvider, mainRoomControl.getSharingControl().getBoardControl());
235
229
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE, sharedMemberDataSource);
236
-
230
+ var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
231
+ sharedWidgetDataSource: sharedWidgetDataSource,
232
+ roomProvider: roomProvider,
233
+ dialogProvider: dialogProvider,
234
+ sharedMemberDataSource: sharedMemberDataSource
235
+ });
236
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
237
237
  // @ts-ignore
238
238
  var fcrUIMainWindowRenderer = window.FcrUIMainWindowRenderer;
239
239
  var whiteboardProvider = new _provider7.FcrUIBoardShareProviderImpl(objectManager, fcrUIMainWindowRenderer);
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Validate ASAR file integrity by comparing SHA256 hash
3
+ * @param isDev - Whether running in development mode
4
+ * @returns true if validation passes or is skipped, false if validation fails
5
+ */
6
+ export declare function validateAsarIntegrity(): boolean;
7
+ /**
8
+ * Calculate SHA256 hash of ASAR file asynchronously (for large files)
9
+ * @param asarPath - Path to the ASAR file
10
+ * @returns Promise resolving to the hash string
11
+ */
12
+ export declare function calculateAsarHashAsync(asarPath: string): Promise<string>;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.calculateAsarHashAsync = calculateAsarHashAsync;
9
+ exports.validateAsarIntegrity = validateAsarIntegrity;
10
+ require("core-js/modules/es.error.to-string.js");
11
+ require("core-js/modules/es.array.concat.js");
12
+ require("core-js/modules/es.array.join.js");
13
+ require("core-js/modules/es.date.to-string.js");
14
+ require("core-js/modules/es.object.to-string.js");
15
+ require("core-js/modules/es.promise.js");
16
+ require("core-js/modules/es.regexp.to-string.js");
17
+ require("core-js/modules/es.string.trim.js");
18
+ var _crypto = _interopRequireDefault(require("crypto"));
19
+ var _electron = require("electron");
20
+ var _originalFs = _interopRequireDefault(require("original-fs"));
21
+ var _path = _interopRequireDefault(require("path"));
22
+ var _logger = require("./logger");
23
+ var _env = require("./env");
24
+ var logger = (0, _logger.getLogger)();
25
+ var AES_KEY = 'FCRUISCENE';
26
+ var AES_ALGORITHM = 'aes-256-ecb';
27
+ function getAesKey() {
28
+ return _crypto["default"].createHash('sha256').update(AES_KEY).digest();
29
+ }
30
+ function decryptHash(encryptedHash) {
31
+ var decipher = _crypto["default"].createDecipheriv(AES_ALGORITHM, getAesKey(), null);
32
+ var decrypted = Buffer.concat([decipher.update(Buffer.from(encryptedHash, 'base64')), decipher["final"]()]);
33
+ return decrypted.toString('utf8');
34
+ }
35
+
36
+ /**
37
+ * Validate ASAR file integrity by comparing SHA256 hash
38
+ * @param isDev - Whether running in development mode
39
+ * @returns true if validation passes or is skipped, false if validation fails
40
+ */
41
+ function validateAsarIntegrity() {
42
+ var isAsarIntegrityCheckEnabled = !_env.isDev;
43
+ // Skip validation in development mode
44
+ if (!isAsarIntegrityCheckEnabled) {
45
+ logger.info('Skipping ASAR validation');
46
+ return true;
47
+ }
48
+ try {
49
+ var asarPath = _path["default"].join(process.resourcesPath, 'app.asar');
50
+ var hashFilePath = _path["default"].join(process.resourcesPath, 'asar-hash.enc');
51
+
52
+ // Check if ASAR file exists using original-fs
53
+ if (!_originalFs["default"].existsSync(asarPath)) {
54
+ logger.info('ASAR file not found, assuming unpacked development mode');
55
+ return true;
56
+ }
57
+
58
+ // Read expected hash from hash file or environment variable
59
+ var expectedHash = null;
60
+ if (_originalFs["default"].existsSync(hashFilePath)) {
61
+ try {
62
+ var encryptedHash = _originalFs["default"].readFileSync(hashFilePath, 'utf8').trim();
63
+ expectedHash = decryptHash(encryptedHash);
64
+ logger.info("Loaded expected hash from ".concat(hashFilePath, " (decrypted)"));
65
+ } catch (error) {
66
+ logger.error("Failed to decrypt ASAR hash: ".concat(error));
67
+ _electron.dialog.showErrorBox('Security Error', 'Failed to verify application integrity due to invalid hash data.');
68
+ return false;
69
+ }
70
+ }
71
+ if (!expectedHash) {
72
+ logger.error('No expected ASAR hash provided, cannot validate integrity');
73
+ _electron.dialog.showErrorBox('Security Error', 'Failed to verify application integrity due to invalid hash data.');
74
+ return false;
75
+ }
76
+ logger.info("Loading ASAR file at: ".concat(asarPath));
77
+
78
+ // Use original-fs to read ASAR file raw content
79
+ var asarContent = _originalFs["default"].readFileSync(asarPath);
80
+ logger.info("ASAR file size: ".concat(asarContent.length, " bytes"));
81
+ logger.info('Calculating ASAR file hash...');
82
+ var actualHash = _crypto["default"].createHash('sha256').update(asarContent).digest('hex');
83
+ logger.info("ASAR validation - Expected: ".concat(expectedHash, ", Actual: ").concat(actualHash));
84
+ if (actualHash !== expectedHash) {
85
+ logger.error('ASAR integrity validation failed! Hash mismatch detected.');
86
+ _electron.dialog.showErrorBox('Security Error', 'Application integrity check failed. The application may have been tampered with.');
87
+ return false;
88
+ }
89
+ logger.info('ASAR integrity validation passed');
90
+ return true;
91
+ } catch (error) {
92
+ logger.error("ASAR validation error: ".concat(error));
93
+ _electron.dialog.showErrorBox('Security Error', 'Failed to validate application integrity. The application may be corrupted.');
94
+ return false;
95
+ }
96
+ }
97
+
98
+ /**
99
+ * Calculate SHA256 hash of ASAR file asynchronously (for large files)
100
+ * @param asarPath - Path to the ASAR file
101
+ * @returns Promise resolving to the hash string
102
+ */
103
+ function calculateAsarHashAsync(asarPath) {
104
+ return new Promise(function (resolve, reject) {
105
+ var hash = _crypto["default"].createHash('sha256');
106
+ var stream = _originalFs["default"].createReadStream(asarPath);
107
+ stream.on('data', function (chunk) {
108
+ return hash.update(chunk);
109
+ });
110
+ stream.on('end', function () {
111
+ return resolve(hash.digest('hex'));
112
+ });
113
+ stream.on('error', reject);
114
+ });
115
+ }
@@ -26,20 +26,27 @@ require("core-js/modules/es.string.starts-with.js");
26
26
  require("core-js/modules/esnext.iterator.constructor.js");
27
27
  require("core-js/modules/esnext.iterator.find.js");
28
28
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
- var _electron = require("electron");
30
29
  var _main = require("@electron/remote/main");
30
+ var _electron = require("electron");
31
+ var _path = _interopRequireDefault(require("path"));
31
32
  var _2 = require(".");
33
+ var _asarValidation = require("./asar-validation");
32
34
  var _defaultOptions = require("./default-options");
33
35
  var _env = require("./env");
34
- var _path = _interopRequireDefault(require("path"));
36
+ var _hangDetection = require("./hang-detection");
35
37
  var _logger = require("./logger");
36
38
  var _devtoolShortcut = require("./plugins/devtool-shortcut");
37
39
  var _processManager = require("./process-manager");
38
- var _hangDetection = require("./hang-detection");
39
40
  var _process$argv$find;
40
41
  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; }
41
42
  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; }
42
43
  var logger = (0, _logger.getLogger)();
44
+
45
+ // Validate ASAR integrity before initializing
46
+ if (!(0, _asarValidation.validateAsarIntegrity)()) {
47
+ _electron.app.quit();
48
+ process.exit(1);
49
+ }
43
50
  (0, _main.initialize)();
44
51
  var port = (_process$argv$find = process.argv.find(function (arg) {
45
52
  return arg.startsWith('--port=');
@@ -69,9 +76,10 @@ _electron.app.addListener('ready', function () {
69
76
 
70
77
  // 加载页面
71
78
  loadPage(mainWindow);
72
-
73
- // 开发环境下启用 DevTools 快捷键
74
- (0, _devtoolShortcut.listenDevToolShortcut)(mainWindow);
79
+ if (!_env.isDevToolsDisabled) {
80
+ // 开发环境下启用 DevTools 快捷键
81
+ (0, _devtoolShortcut.listenDevToolShortcut)(mainWindow);
82
+ }
75
83
  logger.info('Main window created and initialized');
76
84
  });
77
85
 
@@ -114,8 +122,8 @@ _electron.app.addListener('quit', function (event, exitCode) {
114
122
 
115
123
  // ==================== 辅助函数 ====================
116
124
 
117
- /**
118
- * 创建主窗口
125
+ /**
126
+ * 创建主窗口
119
127
  */
120
128
  function createMainWindow() {
121
129
  var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
@@ -129,8 +137,8 @@ function createMainWindow() {
129
137
  return mainWindow;
130
138
  }
131
139
 
132
- /**
133
- * 加载页面
140
+ /**
141
+ * 加载页面
134
142
  */
135
143
  function loadPage(mainWindow) {
136
144
  if (_env.isDev) {
@@ -178,8 +186,8 @@ function handleResponsive(targetWindowId) {
178
186
  hangDetectionManager.handleWindowResponsive(targetWindowId);
179
187
  }
180
188
 
181
- /**
182
- * 清理资源
189
+ /**
190
+ * 清理资源
183
191
  */
184
192
  function cleanupResources() {
185
193
  logger.info('Cleaning up resources...');
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.defaultWindowOptions = exports.defaultWebPreferences = void 0;
9
9
  var _path = _interopRequireDefault(require("path"));
10
+ var isVite = process.env.BUILD_TOOL === 'vite';
10
11
  var defaultWindowOptions = exports.defaultWindowOptions = {
11
12
  height: 850,
12
13
  width: 1360,
@@ -21,5 +22,5 @@ var defaultWebPreferences = exports.defaultWebPreferences = {
21
22
  webSecurity: false,
22
23
  webviewTag: true,
23
24
  backgroundThrottling: false,
24
- preload: _path["default"].resolve(__dirname, "preload.js")
25
+ preload: isVite ? _path["default"].resolve(__dirname, '..', 'preload', 'index.js') : _path["default"].resolve(__dirname, "preload.js")
25
26
  };
@@ -3,3 +3,4 @@ export declare let devPageUrl: string;
3
3
  export declare let distPathPrefix: string;
4
4
  export declare let distIndexFileName: string;
5
5
  export declare let ipcPrefix: string;
6
+ export declare let isDevToolsDisabled: boolean;
@@ -4,10 +4,12 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.isDev = exports.ipcPrefix = exports.distPathPrefix = exports.distIndexFileName = exports.devPageUrl = void 0;
7
+ exports.isDevToolsDisabled = exports.isDev = exports.ipcPrefix = exports.distPathPrefix = exports.distIndexFileName = exports.devPageUrl = void 0;
8
8
  var _process$env$ELECTRON, _process$env$DIST_PAT, _process$env$DIST_IND, _process$env$IPC_PREF;
9
9
  var isDev = exports.isDev = process.env.DEV === 'true';
10
10
  var devPageUrl = exports.devPageUrl = (_process$env$ELECTRON = process.env.ELECTRON_START_URL) !== null && _process$env$ELECTRON !== void 0 ? _process$env$ELECTRON : "http://localhost:3000";
11
- var distPathPrefix = exports.distPathPrefix = (_process$env$DIST_PAT = process.env.DIST_PATH_PREFIX) !== null && _process$env$DIST_PAT !== void 0 ? _process$env$DIST_PAT : 'dist';
12
- var distIndexFileName = exports.distIndexFileName = (_process$env$DIST_IND = process.env.DIST_INDEX_FILE_NAME) !== null && _process$env$DIST_IND !== void 0 ? _process$env$DIST_IND : 'index.html';
13
- var ipcPrefix = exports.ipcPrefix = (_process$env$IPC_PREF = process.env.IPC_PREFIX) !== null && _process$env$IPC_PREF !== void 0 ? _process$env$IPC_PREF : 'fcr-';
11
+ var isVite = process.env.BUILD_TOOL === 'vite';
12
+ var distPathPrefix = exports.distPathPrefix = isVite ? 'dist/electron/renderer/public' : (_process$env$DIST_PAT = process.env.DIST_PATH_PREFIX) !== null && _process$env$DIST_PAT !== void 0 ? _process$env$DIST_PAT : 'dist';
13
+ var distIndexFileName = exports.distIndexFileName = isVite ? 'index.vite.html' : (_process$env$DIST_IND = process.env.DIST_INDEX_FILE_NAME) !== null && _process$env$DIST_IND !== void 0 ? _process$env$DIST_IND : 'index.html';
14
+ var ipcPrefix = exports.ipcPrefix = (_process$env$IPC_PREF = process.env.IPC_PREFIX) !== null && _process$env$IPC_PREF !== void 0 ? _process$env$IPC_PREF : 'fcr-';
15
+ var isDevToolsDisabled = exports.isDevToolsDisabled = process.env.DEVTOOLS_DISABLED === 'true';
@@ -5,22 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
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.
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
13
  */
14
14
  var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
15
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
16
+ /**
17
+ * Renderer process has unexpectedly terminated
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
21
+ /**
22
+ * Window hang detection
23
+ * This typically indicates a hang or critical error in the main window
24
24
  */
25
25
  AppExitCode[AppExitCode["HANG_DETECTION_EXIT"] = 101] = "HANG_DETECTION_EXIT";
26
26
  return AppExitCode;
@@ -66,8 +66,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
66
66
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
67
67
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
68
68
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
69
- /**
70
- * 多窗口 Hang Detection 管理器
69
+ /**
70
+ * 多窗口 Hang Detection 管理器
71
71
  */
72
72
  var MultiWindowHangDetectionManager = exports.MultiWindowHangDetectionManager = /*#__PURE__*/function () {
73
73
  function MultiWindowHangDetectionManager(callbacks, config) {
@@ -105,8 +105,8 @@ var MultiWindowHangDetectionManager = exports.MultiWindowHangDetectionManager =
105
105
  }
106
106
  }
107
107
 
108
- /**
109
- * 处理窗口变为responsive
108
+ /**
109
+ * 处理窗口变为responsive
110
110
  */
111
111
  }, {
112
112
  key: "handleWindowResponsive",
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BrowserWindowIPCAction = void 0;
8
- /**
9
- * BrowserWindow IPC 通信协议
8
+ /**
9
+ * BrowserWindow IPC 通信协议
10
10
  */
11
11
  var BrowserWindowIPCAction = exports.BrowserWindowIPCAction = /*#__PURE__*/function (BrowserWindowIPCAction) {
12
12
  // 窗口操作
@@ -45,17 +45,17 @@ var BrowserWindowIPCAction = exports.BrowserWindowIPCAction = /*#__PURE__*/funct
45
45
  BrowserWindowIPCAction["EVENT_BLUR"] = "browser-window:event:blur";
46
46
  return BrowserWindowIPCAction;
47
47
  }({});
48
- /**
49
- * IPC 请求参数类型
48
+ /**
49
+ * IPC 请求参数类型
50
50
  */
51
- /**
52
- * IPC 响应类型
53
- * Note: With invoke pattern, success/error is handled by promise resolution/rejection
54
- * This interface is kept for backward compatibility in the proxy layer
51
+ /**
52
+ * IPC 响应类型
53
+ * Note: With invoke pattern, success/error is handled by promise resolution/rejection
54
+ * This interface is kept for backward compatibility in the proxy layer
55
55
  */
56
- /**
57
- * 窗口事件通知类型
56
+ /**
57
+ * 窗口事件通知类型
58
58
  */
59
- /**
60
- * 具体操作的参数类型
59
+ /**
60
+ * 具体操作的参数类型
61
61
  */
@@ -22,8 +22,8 @@ var _logger = require("../logger");
22
22
  var _struct = require("../struct");
23
23
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
24
24
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
- /**
26
- * EventManager 负责管理启动状态和房间ID,提供事件驱动的状态管理
25
+ /**
26
+ * EventManager 负责管理启动状态和房间ID,提供事件驱动的状态管理
27
27
  */
28
28
  var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter) {
29
29
  function EventManager() {
@@ -39,8 +39,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
39
39
  return _this;
40
40
  }
41
41
 
42
- /**
43
- * 获取当前启动状态
42
+ /**
43
+ * 获取当前启动状态
44
44
  */
45
45
  (0, _inherits2["default"])(EventManager, _EventEmitter);
46
46
  return (0, _createClass2["default"])(EventManager, [{
@@ -49,8 +49,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
49
49
  return this._launchState;
50
50
  }
51
51
 
52
- /**
53
- * 获取当前房间ID
52
+ /**
53
+ * 获取当前房间ID
54
54
  */
55
55
  }, {
56
56
  key: "roomId",
@@ -58,8 +58,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
58
58
  return this._roomId || 'unknown';
59
59
  }
60
60
 
61
- /**
62
- * 获取结束原因
61
+ /**
62
+ * 获取结束原因
63
63
  */
64
64
  }, {
65
65
  key: "endReason",
@@ -67,8 +67,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
67
67
  return this._endReason;
68
68
  }
69
69
 
70
- /**
71
- * 获取状态变更历史
70
+ /**
71
+ * 获取状态变更历史
72
72
  */
73
73
  }, {
74
74
  key: "stateHistory",
@@ -76,8 +76,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
76
76
  return (0, _toConsumableArray2["default"])(this._stateHistory);
77
77
  }
78
78
 
79
- /**
80
- * 设置启动状态
79
+ /**
80
+ * 设置启动状态
81
81
  */
82
82
  }, {
83
83
  key: "_setState",
@@ -111,8 +111,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
111
111
  this.emit('stateChange', stateChangeEvent);
112
112
  }
113
113
 
114
- /**
115
- * 检查是否可以启动新的会议
114
+ /**
115
+ * 检查是否可以启动新的会议
116
116
  */
117
117
  }, {
118
118
  key: "canLaunchMeeting",
@@ -120,8 +120,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
120
120
  return this._launchState !== _struct.FcrUISceneLaunchState.PROCESSING;
121
121
  }
122
122
 
123
- /**
124
- * 开始处理会议启动
123
+ /**
124
+ * 开始处理会议启动
125
125
  */
126
126
  }, {
127
127
  key: "startMeetingProcess",
@@ -139,8 +139,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
139
139
  return true;
140
140
  }
141
141
 
142
- /**
143
- * 会议启动成功
142
+ /**
143
+ * 会议启动成功
144
144
  */
145
145
  }, {
146
146
  key: "onLaunchSuccess",
@@ -153,8 +153,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
153
153
  // this.emit('launchSuccess', event);
154
154
  }
155
155
 
156
- /**
157
- * 会议启动失败
156
+ /**
157
+ * 会议启动失败
158
158
  */
159
159
  }, {
160
160
  key: "onLaunchFailure",
@@ -171,8 +171,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
171
171
  // this.emit('launchFailure', event);
172
172
  }
173
173
 
174
- /**
175
- * 退出会议
174
+ /**
175
+ * 退出会议
176
176
  */
177
177
  }, {
178
178
  key: "onExitedMeeting",
@@ -191,8 +191,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
191
191
  // this.emit('exitedMeeting', event);
192
192
  }
193
193
 
194
- /**
195
- * 窗口关闭
194
+ /**
195
+ * 窗口关闭
196
196
  */
197
197
  }, {
198
198
  key: "onCloseWindow",
@@ -210,8 +210,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
210
210
  }
211
211
  }
212
212
 
213
- /**
214
- * 重置状态到默认值
213
+ /**
214
+ * 重置状态到默认值
215
215
  */
216
216
  }, {
217
217
  key: "reset",
@@ -224,8 +224,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
224
224
  // this.emit('reset', { timestamp: Date.now() });
225
225
  }
226
226
 
227
- /**
228
- * 获取当前状态的描述信息
227
+ /**
228
+ * 获取当前状态的描述信息
229
229
  */
230
230
  }, {
231
231
  key: "getStateDescription",
@@ -234,8 +234,8 @@ var EventManager = exports.EventManager = /*#__PURE__*/function (_EventEmitter)
234
234
  return "State: ".concat(_struct.FcrUISceneLaunchState[this._launchState], ", RoomId: ").concat(this._roomId || 'None').concat(endReasonText);
235
235
  }
236
236
 
237
- /**
238
- * 清理资源
237
+ /**
238
+ * 清理资源
239
239
  */
240
240
  }, {
241
241
  key: "release",