@tencentcloud/roomkit-electron-vue3 2.7.2 → 2.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 (581) hide show
  1. package/es/components/Chat/ChatKit/components/TUIChat/chat-header/index.vue2.mjs +1 -1
  2. package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/default-emoji.mjs +4 -4
  3. package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/index.mjs +1 -1
  4. package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.d.ts +2 -0
  5. package/es/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.mjs +67 -0
  6. package/es/components/Chat/ChatKit/components/TUIChat/index.vue.mjs +1 -1
  7. package/es/components/Chat/ChatKit/components/TUIChat/index.vue2.mjs +24 -11
  8. package/es/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue.mjs +1 -1
  9. package/es/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue2.mjs +14 -1
  10. package/es/components/Chat/ChatKit/components/TUIChat/message-input/message-input-quote/index.vue2.mjs +1 -1
  11. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue.d.ts +1 -1
  12. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue2.mjs +1 -1
  13. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/image-upload/index.vue2.mjs +1 -1
  14. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue.mjs +1 -1
  15. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue2.mjs +13 -13
  16. package/es/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/video-upload/index.vue2.mjs +1 -1
  17. package/es/components/Chat/ChatKit/components/TUIChat/message-list/index.vue.mjs +1 -1
  18. package/es/components/Chat/ChatKit/components/TUIChat/message-list/index.vue2.mjs +4 -4
  19. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-elements/message-audio.vue2.mjs +1 -1
  20. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-elements/message-record/index.vue2.mjs +1 -1
  21. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-group-application/index.vue2.mjs +2 -2
  22. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue.mjs +1 -1
  23. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue2.mjs +1 -1
  24. package/es/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue.mjs +1 -1
  25. package/es/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue.mjs +1 -1
  26. package/es/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue2.mjs +2 -1
  27. package/es/components/Chat/ChatKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.mjs +1 -1
  28. package/es/components/Chat/ChatKit/components/TUIChat/server.d.ts +1 -1
  29. package/es/components/Chat/ChatKit/components/TUIChat/server.mjs +12 -3
  30. package/es/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.mjs +3 -2
  31. package/es/components/Chat/ChatKit/components/common/BottomPopup/index.vue.mjs +1 -1
  32. package/es/components/Chat/ChatKit/components/common/BottomPopup/index.vue2.mjs +3 -3
  33. package/es/components/Chat/ChatKit/components/common/Dialog/index.vue2.mjs +1 -1
  34. package/es/components/Chat/ChatKit/components/common/Drawer/index.vue2.mjs +1 -1
  35. package/es/components/Chat/ChatKit/components/common/Icon.vue2.mjs +1 -1
  36. package/es/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue.mjs +1 -1
  37. package/es/components/Chat/ChatKit/components/common/Overlay/index.vue.mjs +1 -1
  38. package/es/components/Chat/ChatKit/components/common/Overlay/index.vue2.mjs +1 -1
  39. package/es/components/Chat/ChatKit/components/common/Toast/index.mjs +1 -1
  40. package/es/components/Chat/ChatKit/components/common/Toast/index.vue.d.ts +1 -1
  41. package/es/components/Chat/ChatKit/components/common/Toast/index.vue2.mjs +1 -1
  42. package/es/components/Chat/ChatKit/components/common/Transfer/index.vue.mjs +1 -1
  43. package/es/components/Chat/ChatKit/components/common/Transfer/index.vue2.mjs +4 -4
  44. package/es/components/Chat/ChatKit/locales/en/TUIChat.d.ts +3 -0
  45. package/es/components/Chat/ChatKit/locales/en/TUIChat.mjs +5 -2
  46. package/es/components/Chat/ChatKit/locales/en/index.d.ts +3 -0
  47. package/es/components/Chat/ChatKit/locales/en/message.mjs +2 -2
  48. package/es/components/Chat/ChatKit/locales/index.d.ts +4 -1083
  49. package/es/components/Chat/ChatKit/locales/index.mjs +5 -3
  50. package/es/components/Chat/ChatKit/locales/zh_cn/TUIChat.d.ts +3 -0
  51. package/es/components/Chat/ChatKit/locales/zh_cn/TUIChat.mjs +4 -1
  52. package/es/components/Chat/ChatKit/locales/zh_cn/index.d.ts +3 -0
  53. package/es/components/Chat/ChatKit/locales/zh_tw/TUIChat.d.ts +153 -0
  54. package/es/components/Chat/ChatKit/locales/zh_tw/TUIChat.mjs +155 -0
  55. package/es/components/Chat/ChatKit/locales/zh_tw/TUIContact.d.ts +65 -0
  56. package/es/components/Chat/ChatKit/locales/zh_tw/TUIContact.mjs +67 -0
  57. package/es/components/Chat/ChatKit/locales/zh_tw/TUIConversation.d.ts +23 -0
  58. package/es/components/Chat/ChatKit/locales/zh_tw/TUIConversation.mjs +25 -0
  59. package/es/components/Chat/ChatKit/locales/zh_tw/TUIGroup.d.ts +86 -0
  60. package/es/components/Chat/ChatKit/locales/zh_tw/TUIGroup.mjs +88 -0
  61. package/es/components/Chat/ChatKit/locales/zh_tw/TUISearch.d.ts +40 -0
  62. package/es/components/Chat/ChatKit/locales/zh_tw/TUISearch.mjs +42 -0
  63. package/es/components/Chat/ChatKit/locales/zh_tw/component.d.ts +20 -0
  64. package/es/components/Chat/ChatKit/locales/zh_tw/component.mjs +22 -0
  65. package/es/components/Chat/ChatKit/locales/zh_tw/emoji.d.ts +3 -0
  66. package/es/components/Chat/ChatKit/locales/zh_tw/emoji.mjs +4 -0
  67. package/es/components/Chat/ChatKit/locales/zh_tw/evaluate.d.ts +10 -0
  68. package/es/components/Chat/ChatKit/locales/zh_tw/evaluate.mjs +12 -0
  69. package/es/components/Chat/ChatKit/locales/zh_tw/index.d.ts +513 -0
  70. package/es/components/Chat/ChatKit/locales/zh_tw/index.mjs +39 -0
  71. package/es/components/Chat/ChatKit/locales/zh_tw/message.d.ts +61 -0
  72. package/es/components/Chat/ChatKit/locales/zh_tw/message.mjs +63 -0
  73. package/es/components/Chat/ChatKit/locales/zh_tw/time.d.ts +36 -0
  74. package/es/components/Chat/ChatKit/locales/zh_tw/time.mjs +38 -0
  75. package/es/components/Chat/ChatKit/locales/zh_tw/translate.d.ts +163 -0
  76. package/es/components/Chat/ChatKit/locales/zh_tw/words.d.ts +13 -0
  77. package/es/components/Chat/ChatKit/locales/zh_tw/words.mjs +15 -0
  78. package/es/components/Chat/ChatKit/plugins/plugin-components/message-plugin.vue2.mjs +1 -1
  79. package/es/components/Chat/ChatKit/utils/riseInput.d.ts +1 -0
  80. package/es/components/Chat/ChatKit/utils/riseInput.mjs +45 -0
  81. package/es/components/Chat/index/index.vue.mjs +1 -1
  82. package/es/components/Chat/index/index.vue2.mjs +4 -19
  83. package/es/components/ManageMember/MemberControl/index.vue2.mjs +1 -1
  84. package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +2 -2
  85. package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +4 -4
  86. package/es/components/ManageMember/MemberInvite/MemberInvite.vue2.mjs +1 -1
  87. package/es/components/ManageMember/index.vue2.mjs +1 -1
  88. package/es/components/PreRoom/PasswordDialog.vue.mjs +1 -1
  89. package/es/components/PreRoom/PasswordDialog.vue2.mjs +21 -12
  90. package/es/components/RoomContent/StreamContainer/index.vue.d.ts +1 -14
  91. package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
  92. package/es/components/RoomContent/StreamContainer/index.vue2.mjs +111 -262
  93. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +2 -9
  94. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +11 -0
  95. package/es/components/RoomContent/index.vue.d.ts +1 -14
  96. package/es/components/RoomContent/index.vue.mjs +1 -1
  97. package/es/components/RoomContent/index.vue2.mjs +1 -4
  98. package/es/components/RoomFooter/AIControl.vue.d.ts +1 -5
  99. package/es/components/RoomFooter/AIControl.vue.mjs +1 -1
  100. package/es/components/RoomFooter/AIControl.vue2.mjs +5 -8
  101. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +2 -2
  102. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +1 -1
  103. package/es/components/RoomFooter/AudioControl.vue2.mjs +1 -1
  104. package/es/components/RoomFooter/BasicBeauty.vue.mjs +1 -1
  105. package/es/components/RoomFooter/BasicBeauty.vue2.mjs +8 -5
  106. package/es/components/RoomFooter/ChatControl.vue.mjs +2 -1
  107. package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
  108. package/es/components/RoomFooter/EndControl/index.vue2.mjs +5 -7
  109. package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +8 -12
  110. package/es/components/RoomFooter/FullScreenControl.vue.mjs +1 -1
  111. package/es/components/RoomFooter/InviteControl.vue.mjs +1 -1
  112. package/es/components/RoomFooter/InviteControl.vue2.mjs +2 -1
  113. package/es/components/RoomFooter/ManageMemberControl.vue.mjs +1 -1
  114. package/es/components/RoomFooter/MoreControl/index.vue.mjs +1 -1
  115. package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
  116. package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +4 -4
  117. package/es/components/RoomFooter/ScreenShareControl/ScreenWindowSelectDialog.vue2.mjs +1 -1
  118. package/es/components/RoomFooter/VideoControl.vue2.mjs +2 -2
  119. package/es/components/RoomFooter/VirtualBackground.vue.mjs +1 -1
  120. package/es/components/RoomFooter/VirtualBackground.vue2.mjs +6 -3
  121. package/es/components/RoomFooter/WhiteboardControl.vue.mjs +14 -4
  122. package/es/components/RoomFooter/index/index.vue.d.ts +1 -5
  123. package/es/components/RoomFooter/index/index.vue.mjs +1 -1
  124. package/es/components/RoomFooter/index/index.vue2.mjs +2 -8
  125. package/es/components/RoomHeader/UserInfo/index.vue2.mjs +1 -1
  126. package/es/components/RoomHeader/index/LayoutControl.vue2.mjs +2 -2
  127. package/es/components/RoomHeader/index/index.vue.d.ts +1 -5
  128. package/es/components/RoomHeader/index/index.vue.mjs +1 -1
  129. package/es/components/RoomHeader/index/index.vue2.mjs +0 -15
  130. package/es/components/RoomHome/RoomControl/index.vue.d.ts +0 -5
  131. package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
  132. package/es/components/RoomHome/RoomControl/index.vue2.mjs +3 -4
  133. package/es/components/RoomInvite/InvitationNotification.vue2.mjs +2 -2
  134. package/es/components/RoomInvite/index.vue2.mjs +1 -1
  135. package/es/components/RoomInvite/useRoomInviteHooks.mjs +2 -2
  136. package/es/components/RoomOverlay/RoomOverlay.vue.mjs +16 -0
  137. package/es/components/RoomOverlay/RoomOverlay.vue2.mjs +4 -0
  138. package/es/components/RoomOverlay/useRoomOverlayHooks.d.ts +15 -0
  139. package/es/components/RoomOverlay/useRoomOverlayHooks.mjs +30 -0
  140. package/es/components/RoomSetting/index.vue2.mjs +1 -1
  141. package/es/components/RoomSidebar/index.vue.mjs +1 -1
  142. package/es/components/ScheduleConference/Contacts.vue2.mjs +1 -1
  143. package/es/components/ScheduleConference/InvitePanel.vue.mjs +1 -1
  144. package/es/components/ScheduleConference/ScheduleConferencePanel/index.vue.mjs +1 -1
  145. package/es/components/ScheduleConference/ScheduleConferencePanel/index.vue2.mjs +12 -8
  146. package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +1 -1
  147. package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +4 -4
  148. package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +2 -2
  149. package/es/components/ScheduleConference/ShareLink.vue2.mjs +2 -2
  150. package/es/components/ScheduleConference/TimezonePicker.vue.mjs +1 -1
  151. package/es/components/Stream/MultiStreamView/index.vue.d.ts +33 -0
  152. package/es/components/{Chat/MessageList → Stream/MultiStreamView}/index.vue.mjs +2 -2
  153. package/es/components/Stream/MultiStreamView/index.vue2.mjs +99 -0
  154. package/es/components/Stream/MultiStreamView/useMultiStreamViewHook.d.ts +17 -0
  155. package/es/components/Stream/MultiStreamView/useMultiStreamViewHook.mjs +95 -0
  156. package/es/components/Stream/SingleStreamView/index.vue.d.ts +25 -0
  157. package/es/components/Stream/SingleStreamView/index.vue.mjs +30 -0
  158. package/es/components/Stream/SingleStreamView/index.vue2.mjs +4 -0
  159. package/es/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue.mjs +1 -1
  160. package/es/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue2.mjs +23 -58
  161. package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.mjs +1 -1
  162. package/es/components/Stream/common/StreamList/index.vue.d.ts +27 -0
  163. package/es/components/{RoomContent → Stream/common}/StreamList/index.vue.mjs +2 -2
  164. package/es/components/{RoomContent → Stream/common}/StreamList/index.vue2.mjs +59 -95
  165. package/{lib/components/RoomContent/StreamRegion → es/components/Stream/common}/StreamPlay/index.vue.d.ts +9 -6
  166. package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue.mjs +1 -1
  167. package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue2.mjs +18 -13
  168. package/es/components/Stream/common/StreamRegion/index.vue.d.ts +25 -0
  169. package/es/components/{RoomContent → Stream/common}/StreamRegion/index.vue.mjs +2 -2
  170. package/es/components/{RoomContent → Stream/common}/StreamRegion/index.vue2.mjs +24 -27
  171. package/es/components/common/Language.vue.mjs +1 -1
  172. package/es/components/common/SwitchTheme.vue.mjs +1 -1
  173. package/es/components/common/VideoProfile.vue2.mjs +1 -1
  174. package/es/components/common/VideoSettingTab.vue2.mjs +2 -2
  175. package/es/components/common/base/Button.vue.d.ts +1 -1
  176. package/es/components/common/base/Button.vue2.mjs +1 -1
  177. package/es/components/common/base/Checkbox/index.vue.d.ts +1 -1
  178. package/es/components/common/base/Dialog/index.vue.d.ts +4 -4
  179. package/es/components/common/base/Dialog/index.vue2.mjs +1 -1
  180. package/es/components/common/base/IconButton.vue.d.ts +3 -3
  181. package/es/components/common/base/Input/index.vue.d.ts +4 -4
  182. package/es/components/common/base/Input/index.vue2.mjs +1 -1
  183. package/es/components/common/base/Message/Message.vue.d.ts +4 -4
  184. package/es/components/common/base/Message/Message.vue2.mjs +1 -1
  185. package/es/components/common/base/MessageBox/index.vue.d.ts +1 -1
  186. package/es/components/common/base/MessageBox/index.vue2.mjs +1 -1
  187. package/es/components/common/base/Notification/index.vue.d.ts +1 -1
  188. package/es/components/common/base/Select/index.vue.d.ts +1 -1
  189. package/es/components/common/base/Select/index.vue2.mjs +1 -1
  190. package/es/components/common/base/Slider.vue.d.ts +1 -1
  191. package/es/components/common/base/SvgIcon.vue2.mjs +1 -1
  192. package/es/components/{AITools → common/widgets/AITools}/AISubtitles.vue.mjs +2 -2
  193. package/es/components/{AITools → common/widgets/AITools}/AISubtitles.vue2.mjs +7 -6
  194. package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue.mjs +2 -2
  195. package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue2.mjs +8 -7
  196. package/es/conference.d.ts +6 -0
  197. package/es/conference.mjs +7 -1
  198. package/es/conference.vue.mjs +1 -1
  199. package/es/conference.vue2.mjs +14 -24
  200. package/es/constants/room.mjs +3 -1
  201. package/es/extension/RoomMessageCard/RoomMessageCard.vue2.mjs +1 -1
  202. package/es/extension/chatExtension.mjs +7 -4
  203. package/es/extension/utils/interact.mjs +1 -1
  204. package/es/extension/utils/setLanguage.mjs +1 -1
  205. package/es/hooks/useDeviceManager.mjs +1 -1
  206. package/es/hooks/useMasterApplyControl.mjs +2 -1
  207. package/es/index.d.ts +1 -0
  208. package/es/index.mjs +956 -1184
  209. package/es/locales/en-US.d.ts +2 -1
  210. package/es/locales/en-US.mjs +3 -2
  211. package/es/locales/zh-CN.d.ts +2 -1
  212. package/es/locales/zh-CN.mjs +2 -1
  213. package/es/preConference.vue.d.ts +5 -0
  214. package/es/preConference.vue.mjs +1 -1
  215. package/es/preConference.vue2.mjs +7 -4
  216. package/es/services/index.d.ts +1 -0
  217. package/es/services/manager/chatManager.d.ts +0 -2
  218. package/es/services/manager/chatManager.mjs +6 -12
  219. package/{lib/services/manager/MediaManager.d.ts → es/services/manager/mediaManager.d.ts} +16 -13
  220. package/es/services/manager/{MediaManager.mjs → mediaManager.mjs} +111 -114
  221. package/es/services/manager/roomActionManager.d.ts +3 -0
  222. package/es/services/manager/roomActionManager.mjs +8 -1
  223. package/es/services/manager/scheduleConferenceManager.d.ts +1 -0
  224. package/es/services/manager/scheduleConferenceManager.mjs +24 -1
  225. package/es/services/manager/trackingManager.d.ts +11 -0
  226. package/es/services/manager/trackingManager.mjs +20 -0
  227. package/es/services/manager/userManager.d.ts +11 -1
  228. package/es/services/manager/userManager.mjs +159 -9
  229. package/es/services/roomService.d.ts +3 -2
  230. package/es/services/roomService.mjs +24 -42
  231. package/es/stores/basic.mjs +7 -2
  232. package/es/stores/room.d.ts +29 -1
  233. package/es/stores/room.mjs +50 -57
  234. package/es/utils/common/logger/index.mjs +1 -1
  235. package/es/utils/domOperation.d.ts +4 -0
  236. package/es/utils/domOperation.mjs +17 -23
  237. package/es/utils/utils.d.ts +11 -0
  238. package/es/utils/utils.mjs +43 -0
  239. package/lib/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.d.ts +2 -0
  240. package/lib/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.js +67 -0
  241. package/lib/components/Chat/ChatKit/components/TUIChat/index.vue.js +1 -1
  242. package/lib/components/Chat/ChatKit/components/TUIChat/index.vue2.js +22 -9
  243. package/lib/components/Chat/ChatKit/components/TUIChat/message-input/index.vue2.js +6 -6
  244. package/lib/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue.js +1 -1
  245. package/lib/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue2.js +13 -0
  246. package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue.d.ts +1 -1
  247. package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue.js +1 -1
  248. package/lib/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue2.js +13 -13
  249. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/index.vue.js +1 -1
  250. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/index.vue2.js +9 -9
  251. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-elements/message-quote/index.vue2.js +4 -4
  252. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue.js +1 -1
  253. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue2.js +11 -11
  254. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue.js +1 -1
  255. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue.js +1 -1
  256. package/lib/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue2.js +1 -0
  257. package/lib/components/Chat/ChatKit/components/TUIChat/server.d.ts +1 -1
  258. package/lib/components/Chat/ChatKit/components/TUIChat/server.js +12 -3
  259. package/lib/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.js +2 -1
  260. package/lib/components/Chat/ChatKit/components/common/BottomPopup/index.vue.js +1 -1
  261. package/lib/components/Chat/ChatKit/components/common/BottomPopup/index.vue2.js +2 -2
  262. package/lib/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue.js +1 -1
  263. package/lib/components/Chat/ChatKit/components/common/Overlay/index.vue.js +1 -1
  264. package/lib/components/Chat/ChatKit/components/common/Toast/index.vue.d.ts +1 -1
  265. package/lib/components/Chat/ChatKit/components/common/Transfer/index.vue.js +1 -1
  266. package/lib/components/Chat/ChatKit/components/common/Transfer/index.vue2.js +2 -2
  267. package/lib/components/Chat/ChatKit/locales/en/TUIChat.d.ts +3 -0
  268. package/lib/components/Chat/ChatKit/locales/en/TUIChat.js +5 -2
  269. package/lib/components/Chat/ChatKit/locales/en/index.d.ts +3 -0
  270. package/lib/components/Chat/ChatKit/locales/en/message.js +2 -2
  271. package/lib/components/Chat/ChatKit/locales/index.d.ts +4 -1083
  272. package/lib/components/Chat/ChatKit/locales/index.js +5 -3
  273. package/lib/components/Chat/ChatKit/locales/zh_cn/TUIChat.d.ts +3 -0
  274. package/lib/components/Chat/ChatKit/locales/zh_cn/TUIChat.js +4 -1
  275. package/lib/components/Chat/ChatKit/locales/zh_cn/index.d.ts +3 -0
  276. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIChat.d.ts +153 -0
  277. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIChat.js +155 -0
  278. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIContact.d.ts +65 -0
  279. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIContact.js +67 -0
  280. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIConversation.d.ts +23 -0
  281. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIConversation.js +25 -0
  282. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIGroup.d.ts +86 -0
  283. package/lib/components/Chat/ChatKit/locales/zh_tw/TUIGroup.js +88 -0
  284. package/lib/components/Chat/ChatKit/locales/zh_tw/TUISearch.d.ts +40 -0
  285. package/lib/components/Chat/ChatKit/locales/zh_tw/TUISearch.js +42 -0
  286. package/lib/components/Chat/ChatKit/locales/zh_tw/component.d.ts +20 -0
  287. package/lib/components/Chat/ChatKit/locales/zh_tw/component.js +22 -0
  288. package/lib/components/Chat/ChatKit/locales/zh_tw/emoji.d.ts +3 -0
  289. package/lib/components/Chat/ChatKit/locales/zh_tw/emoji.js +4 -0
  290. package/lib/components/Chat/ChatKit/locales/zh_tw/evaluate.d.ts +10 -0
  291. package/lib/components/Chat/ChatKit/locales/zh_tw/evaluate.js +12 -0
  292. package/lib/components/Chat/ChatKit/locales/zh_tw/index.d.ts +513 -0
  293. package/lib/components/Chat/ChatKit/locales/zh_tw/index.js +39 -0
  294. package/lib/components/Chat/ChatKit/locales/zh_tw/message.d.ts +61 -0
  295. package/lib/components/Chat/ChatKit/locales/zh_tw/message.js +63 -0
  296. package/lib/components/Chat/ChatKit/locales/zh_tw/time.d.ts +36 -0
  297. package/lib/components/Chat/ChatKit/locales/zh_tw/time.js +38 -0
  298. package/lib/components/Chat/ChatKit/locales/zh_tw/translate.d.ts +163 -0
  299. package/lib/components/Chat/ChatKit/locales/zh_tw/words.d.ts +13 -0
  300. package/lib/components/Chat/ChatKit/locales/zh_tw/words.js +15 -0
  301. package/lib/components/Chat/ChatKit/utils/riseInput.d.ts +1 -0
  302. package/lib/components/Chat/ChatKit/utils/riseInput.js +45 -0
  303. package/lib/components/Chat/index/index.vue.js +1 -1
  304. package/lib/components/Chat/index/index.vue2.js +2 -17
  305. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +2 -2
  306. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +3 -3
  307. package/lib/components/ManageMember/MemberInvite/MemberInvite.vue2.js +1 -1
  308. package/lib/components/PreRoom/PasswordDialog.vue.js +1 -1
  309. package/lib/components/PreRoom/PasswordDialog.vue2.js +20 -11
  310. package/lib/components/RoomContent/StreamContainer/index.vue.d.ts +1 -14
  311. package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
  312. package/lib/components/RoomContent/StreamContainer/index.vue2.js +109 -260
  313. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +2 -9
  314. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +11 -0
  315. package/lib/components/RoomContent/index.vue.d.ts +1 -14
  316. package/lib/components/RoomContent/index.vue.js +1 -1
  317. package/lib/components/RoomContent/index.vue2.js +1 -4
  318. package/lib/components/RoomFooter/AIControl.vue.d.ts +1 -5
  319. package/lib/components/RoomFooter/AIControl.vue.js +1 -1
  320. package/lib/components/RoomFooter/AIControl.vue2.js +5 -8
  321. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +1 -1
  322. package/lib/components/RoomFooter/AudioControl.vue2.js +4 -4
  323. package/lib/components/RoomFooter/BasicBeauty.vue.js +1 -1
  324. package/lib/components/RoomFooter/BasicBeauty.vue2.js +6 -3
  325. package/lib/components/RoomFooter/ChatControl.vue.js +2 -1
  326. package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
  327. package/lib/components/RoomFooter/EndControl/index.vue2.js +4 -6
  328. package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +8 -12
  329. package/lib/components/RoomFooter/FullScreenControl.vue.js +1 -1
  330. package/lib/components/RoomFooter/InviteControl.vue.js +1 -1
  331. package/lib/components/RoomFooter/InviteControl.vue2.js +2 -1
  332. package/lib/components/RoomFooter/ManageMemberControl.vue.js +1 -1
  333. package/lib/components/RoomFooter/MoreControl/index.vue.js +1 -1
  334. package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
  335. package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +8 -8
  336. package/lib/components/RoomFooter/VideoControl.vue2.js +4 -4
  337. package/lib/components/RoomFooter/VirtualBackground.vue.js +1 -1
  338. package/lib/components/RoomFooter/VirtualBackground.vue2.js +5 -2
  339. package/lib/components/RoomFooter/WhiteboardControl.vue.js +13 -3
  340. package/lib/components/RoomFooter/index/index.vue.d.ts +1 -5
  341. package/lib/components/RoomFooter/index/index.vue.js +1 -1
  342. package/lib/components/RoomFooter/index/index.vue2.js +2 -8
  343. package/lib/components/RoomHeader/UserInfo/index.vue2.js +1 -1
  344. package/lib/components/RoomHeader/index/LayoutControl.vue2.js +1 -1
  345. package/lib/components/RoomHeader/index/index.vue.d.ts +1 -5
  346. package/lib/components/RoomHeader/index/index.vue.js +1 -1
  347. package/lib/components/RoomHeader/index/index.vue2.js +0 -15
  348. package/lib/components/RoomHome/RoomControl/index.vue.d.ts +0 -5
  349. package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
  350. package/lib/components/RoomHome/RoomControl/index.vue2.js +1 -2
  351. package/lib/components/RoomInvite/InvitationNotification.vue2.js +1 -1
  352. package/lib/components/RoomInvite/useRoomInviteHooks.js +2 -2
  353. package/lib/components/RoomOverlay/RoomOverlay.vue.js +16 -0
  354. package/lib/components/RoomOverlay/RoomOverlay.vue2.js +4 -0
  355. package/lib/components/RoomOverlay/useRoomOverlayHooks.d.ts +15 -0
  356. package/lib/components/RoomOverlay/useRoomOverlayHooks.js +30 -0
  357. package/lib/components/RoomSidebar/index.vue.js +1 -1
  358. package/lib/components/ScheduleConference/InvitePanel.vue.js +1 -1
  359. package/lib/components/ScheduleConference/ScheduleConferencePanel/index.vue.js +1 -1
  360. package/lib/components/ScheduleConference/ScheduleConferencePanel/index.vue2.js +11 -7
  361. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +1 -1
  362. package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +3 -3
  363. package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +2 -2
  364. package/lib/components/ScheduleConference/ShareLink.vue2.js +1 -1
  365. package/lib/components/ScheduleConference/TimezonePicker.vue.js +1 -1
  366. package/lib/components/Stream/MultiStreamView/index.vue.d.ts +33 -0
  367. package/lib/components/{Chat/MessageList → Stream/MultiStreamView}/index.vue.js +2 -2
  368. package/lib/components/Stream/MultiStreamView/index.vue2.js +99 -0
  369. package/lib/components/Stream/MultiStreamView/useMultiStreamViewHook.d.ts +17 -0
  370. package/lib/components/Stream/MultiStreamView/useMultiStreamViewHook.js +95 -0
  371. package/lib/components/Stream/SingleStreamView/index.vue.d.ts +25 -0
  372. package/lib/components/Stream/SingleStreamView/index.vue.js +30 -0
  373. package/lib/components/Stream/SingleStreamView/index.vue2.js +4 -0
  374. package/lib/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue.js +1 -1
  375. package/lib/components/{RoomContent/StreamRegion → Stream/common}/LocalScreenView/index.vue2.js +22 -57
  376. package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.js +1 -1
  377. package/lib/components/Stream/common/StreamList/index.vue.d.ts +27 -0
  378. package/lib/components/{RoomContent → Stream/common}/StreamList/index.vue.js +2 -2
  379. package/lib/components/{RoomContent → Stream/common}/StreamList/index.vue2.js +60 -96
  380. package/{es/components/RoomContent/StreamRegion → lib/components/Stream/common}/StreamPlay/index.vue.d.ts +9 -6
  381. package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue.js +1 -1
  382. package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue2.js +21 -16
  383. package/lib/components/Stream/common/StreamRegion/index.vue.d.ts +25 -0
  384. package/lib/components/{RoomContent → Stream/common}/StreamRegion/index.vue.js +2 -2
  385. package/lib/components/{RoomContent → Stream/common}/StreamRegion/index.vue2.js +24 -27
  386. package/lib/components/common/Language.vue.js +1 -1
  387. package/lib/components/common/SwitchTheme.vue.js +1 -1
  388. package/lib/components/common/base/Button.vue.d.ts +1 -1
  389. package/lib/components/common/base/Checkbox/index.vue.d.ts +1 -1
  390. package/lib/components/common/base/Dialog/index.vue.d.ts +4 -4
  391. package/lib/components/common/base/IconButton.vue.d.ts +3 -3
  392. package/lib/components/common/base/Input/index.vue.d.ts +4 -4
  393. package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
  394. package/lib/components/common/base/MessageBox/index.vue.d.ts +1 -1
  395. package/lib/components/common/base/Notification/index.vue.d.ts +1 -1
  396. package/lib/components/common/base/Select/index.vue.d.ts +1 -1
  397. package/lib/components/common/base/Select/index.vue2.js +1 -1
  398. package/lib/components/common/base/Slider.vue.d.ts +1 -1
  399. package/lib/components/{AITools → common/widgets/AITools}/AISubtitles.vue.js +2 -2
  400. package/lib/components/{AITools → common/widgets/AITools}/AISubtitles.vue2.js +7 -6
  401. package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue.js +2 -2
  402. package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue2.js +8 -7
  403. package/lib/conference.d.ts +6 -0
  404. package/lib/conference.js +7 -1
  405. package/lib/conference.vue.js +1 -1
  406. package/lib/conference.vue2.js +24 -34
  407. package/lib/constants/room.js +3 -1
  408. package/lib/extension/chatExtension.js +5 -2
  409. package/lib/extension/utils/interact.js +1 -1
  410. package/lib/extension/utils/setLanguage.js +1 -1
  411. package/lib/hooks/useMasterApplyControl.js +11 -10
  412. package/lib/index.d.ts +1 -0
  413. package/lib/index.js +956 -1184
  414. package/lib/locales/en-US.d.ts +2 -1
  415. package/lib/locales/en-US.js +3 -2
  416. package/lib/locales/zh-CN.d.ts +2 -1
  417. package/lib/locales/zh-CN.js +2 -1
  418. package/lib/preConference.vue.d.ts +5 -0
  419. package/lib/preConference.vue.js +1 -1
  420. package/lib/preConference.vue2.js +13 -10
  421. package/lib/services/index.d.ts +1 -0
  422. package/lib/services/manager/chatManager.d.ts +0 -2
  423. package/lib/services/manager/chatManager.js +6 -12
  424. package/{es/services/manager/MediaManager.d.ts → lib/services/manager/mediaManager.d.ts} +16 -13
  425. package/lib/services/manager/{MediaManager.js → mediaManager.js} +109 -112
  426. package/lib/services/manager/roomActionManager.d.ts +3 -0
  427. package/lib/services/manager/roomActionManager.js +7 -0
  428. package/lib/services/manager/scheduleConferenceManager.d.ts +1 -0
  429. package/lib/services/manager/scheduleConferenceManager.js +23 -0
  430. package/lib/services/manager/trackingManager.d.ts +11 -0
  431. package/lib/services/manager/trackingManager.js +20 -0
  432. package/lib/services/manager/userManager.d.ts +11 -1
  433. package/lib/services/manager/userManager.js +158 -8
  434. package/lib/services/roomService.d.ts +3 -2
  435. package/lib/services/roomService.js +24 -42
  436. package/lib/stores/basic.js +6 -1
  437. package/lib/stores/room.d.ts +29 -1
  438. package/lib/stores/room.js +49 -56
  439. package/lib/utils/domOperation.d.ts +4 -0
  440. package/lib/utils/domOperation.js +17 -23
  441. package/lib/utils/utils.d.ts +11 -0
  442. package/lib/utils/utils.js +43 -0
  443. package/package.json +4 -4
  444. package/src/TUIRoom/components/Chat/ChatKit/CHANGELOG.md +35 -0
  445. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/emoji-config/locales/zh_tw.ts +66 -0
  446. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/index.vue +24 -8
  447. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-input/message-input-editor.vue +15 -1
  448. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-input-toolbar/index.vue +13 -13
  449. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/index.vue +1 -1
  450. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/index.vue +2 -1
  451. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/message-tool/message-revoked.vue +4 -6
  452. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/message-list/read-receipt-panel/index.vue +9 -3
  453. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/server.ts +12 -3
  454. package/src/TUIRoom/components/Chat/ChatKit/components/TUIChat/utils/sendMessage.ts +1 -0
  455. package/src/TUIRoom/components/Chat/ChatKit/components/TUIContact/contact-list/index.vue +3 -1
  456. package/src/TUIRoom/components/Chat/ChatKit/components/TUIGroup/manage-group/index.vue +2 -2
  457. package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/index.vue +1 -1
  458. package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/style/h5.scss +4 -3
  459. package/src/TUIRoom/components/Chat/ChatKit/components/common/BottomPopup/style/modal.scss +0 -2
  460. package/src/TUIRoom/components/Chat/ChatKit/components/common/ImagePreviewer/index.vue +2 -2
  461. package/src/TUIRoom/components/Chat/ChatKit/components/common/Overlay/index.vue +5 -0
  462. package/src/TUIRoom/components/Chat/ChatKit/components/common/Transfer/index.vue +2 -2
  463. package/src/TUIRoom/components/Chat/ChatKit/locales/en/TUIChat.ts +4 -1
  464. package/src/TUIRoom/components/Chat/ChatKit/locales/en/message.ts +2 -2
  465. package/src/TUIRoom/components/Chat/ChatKit/locales/index.ts +9 -3
  466. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_cn/TUIChat.ts +3 -0
  467. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIChat.ts +154 -0
  468. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIContact.ts +66 -0
  469. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIConversation.ts +24 -0
  470. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUIGroup.ts +87 -0
  471. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/TUISearch.ts +41 -0
  472. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/component.ts +21 -0
  473. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/emoji.ts +2 -0
  474. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/evaluate.ts +11 -0
  475. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/index.ts +41 -0
  476. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/message.ts +62 -0
  477. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/time.ts +37 -0
  478. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/translate.ts +164 -0
  479. package/src/TUIRoom/components/Chat/ChatKit/locales/zh_tw/words.ts +14 -0
  480. package/src/TUIRoom/components/Chat/ChatKit/utils/riseInput.ts +53 -0
  481. package/src/TUIRoom/components/Chat/index/index.vue +2 -20
  482. package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +7 -4
  483. package/src/TUIRoom/components/PreRoom/PasswordDialog.vue +21 -11
  484. package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +107 -384
  485. package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +5 -112
  486. package/src/TUIRoom/components/RoomContent/index.vue +1 -5
  487. package/src/TUIRoom/components/RoomFooter/AIControl.vue +7 -6
  488. package/src/TUIRoom/components/RoomFooter/BasicBeauty.vue +1 -1
  489. package/src/TUIRoom/components/RoomFooter/ChatControl.vue +1 -0
  490. package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +4 -3
  491. package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +4 -10
  492. package/src/TUIRoom/components/RoomFooter/InviteControl.vue +1 -0
  493. package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +3 -3
  494. package/src/TUIRoom/components/RoomFooter/VirtualBackground.vue +1 -1
  495. package/src/TUIRoom/components/RoomFooter/WhiteboardControl.vue +13 -2
  496. package/src/TUIRoom/components/RoomFooter/index/index.vue +0 -6
  497. package/src/TUIRoom/components/RoomHeader/index/index.vue +0 -17
  498. package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +0 -2
  499. package/src/TUIRoom/components/RoomInvite/useRoomInviteHooks.ts +2 -2
  500. package/src/TUIRoom/components/RoomOverlay/RoomOverlay.vue +13 -0
  501. package/src/TUIRoom/components/RoomOverlay/useRoomOverlayHooks.ts +21 -0
  502. package/src/TUIRoom/components/RoomSidebar/index.vue +1 -1
  503. package/src/TUIRoom/components/ScheduleConference/InvitePanel.vue +1 -0
  504. package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel/index.vue +10 -4
  505. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +1 -0
  506. package/src/TUIRoom/components/Stream/MultiStreamView/index.vue +161 -0
  507. package/src/TUIRoom/components/Stream/MultiStreamView/useMultiStreamViewHook.ts +107 -0
  508. package/src/TUIRoom/components/Stream/SingleStreamView/index.vue +32 -0
  509. package/src/TUIRoom/components/Stream/common/LocalScreenView/index.vue +150 -0
  510. package/src/TUIRoom/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue +1 -6
  511. package/src/TUIRoom/components/{RoomContent → Stream/common}/StreamList/index.vue +74 -124
  512. package/src/TUIRoom/components/{RoomContent/StreamRegion → Stream/common}/StreamPlay/index.vue +28 -13
  513. package/src/TUIRoom/components/{RoomContent → Stream/common}/StreamRegion/index.vue +27 -32
  514. package/src/TUIRoom/components/common/base/Swiper.vue +20 -6
  515. package/src/TUIRoom/components/{AITools → common/widgets/AITools}/AISubtitles.vue +1 -1
  516. package/src/TUIRoom/components/{AITools → common/widgets/AITools}/AITranscription.vue +2 -2
  517. package/src/TUIRoom/conference.ts +14 -0
  518. package/src/TUIRoom/conference.vue +10 -23
  519. package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -1
  520. package/src/TUIRoom/index.ts +3 -1
  521. package/src/TUIRoom/locales/en-US.ts +4 -3
  522. package/src/TUIRoom/locales/zh-CN.ts +3 -1
  523. package/src/TUIRoom/preConference.vue +3 -1
  524. package/src/TUIRoom/services/index.ts +1 -0
  525. package/src/TUIRoom/services/manager/chatManager.ts +7 -16
  526. package/src/TUIRoom/services/manager/{MediaManager.ts → mediaManager.ts} +125 -136
  527. package/src/TUIRoom/services/manager/roomActionManager.ts +5 -0
  528. package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +24 -1
  529. package/src/TUIRoom/services/manager/trackingManager.ts +22 -0
  530. package/src/TUIRoom/services/manager/userManager.ts +201 -7
  531. package/src/TUIRoom/services/roomService.ts +5 -24
  532. package/src/TUIRoom/stores/basic.ts +6 -0
  533. package/src/TUIRoom/stores/room.ts +60 -68
  534. package/src/TUIRoom/utils/domOperation.ts +27 -0
  535. package/src/TUIRoom/utils/utils.ts +61 -0
  536. package/es/components/Chat/ChatEditor/index.vue.mjs +0 -7
  537. package/es/components/Chat/ChatEditor/index.vue2.mjs +0 -45
  538. package/es/components/Chat/ChatEditor/useChatEditor.mjs +0 -83
  539. package/es/components/Chat/EditorTools/index.vue.d.ts +0 -6
  540. package/es/components/Chat/EditorTools/index.vue.mjs +0 -7
  541. package/es/components/Chat/EditorTools/index.vue2.mjs +0 -59
  542. package/es/components/Chat/MessageList/index.vue2.mjs +0 -101
  543. package/es/components/Chat/MessageList/useMessageListHook.mjs +0 -142
  544. package/es/components/Chat/MessageTypes/MessageText.vue.d.ts +0 -8
  545. package/es/components/Chat/MessageTypes/MessageText.vue.mjs +0 -7
  546. package/es/components/Chat/MessageTypes/MessageText.vue2.mjs +0 -31
  547. package/es/components/Chat/util.mjs +0 -432
  548. package/es/components/RoomContent/StreamList/index.vue.d.ts +0 -39
  549. package/es/components/RoomContent/StreamRegion/LocalScreenView/index.vue.d.ts +0 -14
  550. package/es/components/RoomContent/StreamRegion/index.vue.d.ts +0 -42
  551. package/es/components/common/icons/EmojiIcon.vue.mjs +0 -21
  552. package/lib/components/Chat/ChatEditor/index.vue.js +0 -7
  553. package/lib/components/Chat/ChatEditor/index.vue2.js +0 -45
  554. package/lib/components/Chat/ChatEditor/useChatEditor.js +0 -83
  555. package/lib/components/Chat/EditorTools/index.vue.d.ts +0 -6
  556. package/lib/components/Chat/EditorTools/index.vue.js +0 -7
  557. package/lib/components/Chat/EditorTools/index.vue2.js +0 -59
  558. package/lib/components/Chat/MessageList/index.vue.d.ts +0 -2
  559. package/lib/components/Chat/MessageList/index.vue2.js +0 -101
  560. package/lib/components/Chat/MessageList/useMessageListHook.js +0 -142
  561. package/lib/components/Chat/MessageTypes/MessageText.vue.d.ts +0 -8
  562. package/lib/components/Chat/MessageTypes/MessageText.vue.js +0 -7
  563. package/lib/components/Chat/MessageTypes/MessageText.vue2.js +0 -31
  564. package/lib/components/Chat/util.js +0 -432
  565. package/lib/components/RoomContent/StreamList/index.vue.d.ts +0 -39
  566. package/lib/components/RoomContent/StreamRegion/LocalScreenView/index.vue.d.ts +0 -14
  567. package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +0 -42
  568. package/lib/components/common/icons/EmojiIcon.vue.d.ts +0 -2
  569. package/lib/components/common/icons/EmojiIcon.vue.js +0 -21
  570. /package/es/components/{AITools/AISubtitles.vue.d.ts → RoomOverlay/RoomOverlay.vue.d.ts} +0 -0
  571. /package/es/components/{Chat/ChatEditor → Stream/common/LocalScreenView}/index.vue.d.ts +0 -0
  572. /package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.d.ts +0 -0
  573. /package/es/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue2.mjs +0 -0
  574. /package/{lib/components → es/components/common/widgets}/AITools/AISubtitles.vue.d.ts +0 -0
  575. /package/es/components/{AITools → common/widgets/AITools}/AITranscription.vue.d.ts +0 -0
  576. /package/{es/components/Chat/MessageList/index.vue.d.ts → lib/components/RoomOverlay/RoomOverlay.vue.d.ts} +0 -0
  577. /package/lib/components/{Chat/ChatEditor → Stream/common/LocalScreenView}/index.vue.d.ts +0 -0
  578. /package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue.d.ts +0 -0
  579. /package/lib/components/{RoomContent/StreamRegion → Stream/common}/StreamCover/index.vue2.js +0 -0
  580. /package/{es/components/common/icons/EmojiIcon.vue.d.ts → lib/components/common/widgets/AITools/AISubtitles.vue.d.ts} +0 -0
  581. /package/lib/components/{AITools → common/widgets/AITools}/AITranscription.vue.d.ts +0 -0
@@ -5,11 +5,7 @@
5
5
  ref="roomRef"
6
6
  :class="tuiRoomClass"
7
7
  >
8
- <room-header
9
- v-show="showRoomTool && showHeaderTool"
10
- class="header"
11
- @log-out="logOut"
12
- />
8
+ <room-header v-show="showRoomTool && showHeaderTool" class="header" />
13
9
  <room-content
14
10
  ref="roomContentRef"
15
11
  v-tap.lazy="handleRoomContentTap"
@@ -23,7 +19,7 @@
23
19
  />
24
20
  <room-sidebar />
25
21
  <room-setting />
26
- <AISubtitlesOverlay v-if="overlayMap.AISubtitlesOverlay.visible" />
22
+ <room-overlay />
27
23
  <RoomInviteOverlay v-if="overlayMap.RoomInviteOverlay.visible" />
28
24
  <loading-overlay v-if="isShowLoading" />
29
25
  <password-dialog
@@ -51,9 +47,9 @@ import RoomFooter from './components/RoomFooter/index/index.vue';
51
47
  import RoomSidebar from './components/RoomSidebar/index.vue';
52
48
  import RoomContent from './components/RoomContent/index.vue';
53
49
  import RoomSetting from './components/RoomSetting/index.vue';
50
+ import RoomOverlay from './components/RoomOverlay/RoomOverlay.vue';
54
51
  import LoadingOverlay from './components/PreRoom/LoadingOverlay.vue';
55
52
  import PasswordDialog from './components/PreRoom/PasswordDialog.vue';
56
- import AISubtitlesOverlay from './components/AITools/AISubtitles.vue';
57
53
  import RoomInviteOverlay from './components/RoomInvite/index.vue';
58
54
  import { debounce, throttle } from './utils/utils';
59
55
  import { useBasicStore } from './stores/basic';
@@ -75,6 +71,7 @@ import {
75
71
  RoomInitData,
76
72
  } from './services/index';
77
73
  import useDeviceManager from './hooks/useDeviceManager';
74
+ import { storeToRefs } from 'pinia';
78
75
 
79
76
  const isShowPasswordContainer = ref(false);
80
77
  const isShowLoading = ref(true);
@@ -181,7 +178,6 @@ onMounted(() => {
181
178
  roomService.on(EventType.ROOM_JOIN, onJoinRoom);
182
179
  roomService.on(EventType.ROOM_LEAVE, onLeaveRoom);
183
180
  roomService.on(EventType.ROOM_DISMISS, onDismissRoom);
184
- roomService.on(EventType.USER_LOGOUT, onLogout);
185
181
  roomService.on(EventType.ROOM_NEED_PASSWORD, onRoomNeedPassword);
186
182
  });
187
183
  onUnmounted(() => {
@@ -194,7 +190,6 @@ onUnmounted(() => {
194
190
  roomService.off(EventType.ROOM_JOIN, onJoinRoom);
195
191
  roomService.off(EventType.ROOM_LEAVE, onLeaveRoom);
196
192
  roomService.off(EventType.ROOM_DISMISS, onDismissRoom);
197
- roomService.off(EventType.USER_LOGOUT, onLogout);
198
193
  roomService.off(EventType.ROOM_NEED_PASSWORD, onRoomNeedPassword);
199
194
  roomService.resetStore();
200
195
  });
@@ -219,10 +214,10 @@ const tuiRoomClass = computed(() => {
219
214
  *
220
215
  **/
221
216
  const roomContentRef = ref<InstanceType<typeof RoomContent>>();
222
- const showRoomTool: Ref<boolean> = ref(true);
223
217
  const roomRef: Ref<Node | undefined> = ref();
218
+ const { showRoomTool } = storeToRefs(basicStore);
224
219
  function handleHideRoomTool() {
225
- showRoomTool.value = false;
220
+ basicStore.setShowRoomTool(false);
226
221
  }
227
222
 
228
223
  watch(
@@ -241,11 +236,11 @@ watch(
241
236
  const handleHideRoomToolDebounce = debounce(handleHideRoomTool, 5000);
242
237
  const handleHideRoomToolThrottle = throttle(handleHideRoomToolDebounce, 1000);
243
238
  const showTool = () => {
244
- showRoomTool.value = true;
239
+ basicStore.setShowRoomTool(true);
245
240
  handleHideRoomToolDebounce();
246
241
  };
247
242
  const showToolThrottle = () => {
248
- showRoomTool.value = true;
243
+ basicStore.setShowRoomTool(true);
249
244
  handleHideRoomToolThrottle();
250
245
  };
251
246
  const hideTool = () => {
@@ -265,7 +260,7 @@ const removeRoomContainerEvent = (container: Node) => {
265
260
  };
266
261
 
267
262
  function handleRoomContentTap() {
268
- showRoomTool.value = !showRoomTool.value;
263
+ basicStore.setShowRoomTool(!showRoomTool.value);
269
264
  if (showRoomTool.value) {
270
265
  handleHideRoomToolDebounce();
271
266
  }
@@ -312,10 +307,6 @@ function resetStore() {
312
307
  roomService.resetStore();
313
308
  }
314
309
 
315
- const logOut = () => {
316
- roomService.logOut();
317
- };
318
-
319
310
  const onStartRoom = () => {
320
311
  isShowLoading.value = false;
321
312
  emit('on-create-room', { code: 0, message: 'create room' });
@@ -335,10 +326,6 @@ const onDismissRoom = () => {
335
326
  emit('on-destroy-room', { code: 0, message: 'destroy room' });
336
327
  };
337
328
 
338
- const onLogout = () => {
339
- emit('on-log-out', { code: 0, message: 'user logout' });
340
- };
341
-
342
329
  const onKickedOutOfRoom = async (eventInfo: {
343
330
  roomId: string;
344
331
  reason: TUIKickedOutOfRoomReason;
@@ -388,7 +375,7 @@ const onKickedOffLine = (eventInfo: { message: string }) => {
388
375
  position: absolute;
389
376
  top: 0;
390
377
  left: 0;
391
- z-index: 100;
378
+ z-index: 1;
392
379
  width: 100%;
393
380
  height: 64px;
394
381
  background-color: var(--background-color-2);
@@ -17,6 +17,7 @@ import logger from '../utils/common/logger';
17
17
  import { useBasicStore } from '../stores/basic';
18
18
  import TUINotification from '../components/common/base/Notification';
19
19
  import { isMobile } from '../utils/environment';
20
+ import { arrayIsEqual } from '../utils/utils';
20
21
 
21
22
  const roomEngine = useGetRoomEngine();
22
23
 
@@ -303,7 +304,7 @@ export default function () {
303
304
 
304
305
  function handleShowNotification() {
305
306
  watch(applyToAnchorUserIdList, (newVal, oldVal) => {
306
- if (newVal.length === oldVal.length && newVal === oldVal) {
307
+ if (arrayIsEqual(newVal, oldVal)) {
307
308
  return;
308
309
  }
309
310
  if (newVal.length === 0) {
@@ -14,6 +14,8 @@ import { roomService } from './services';
14
14
  export * from './components/common/base/index';
15
15
  export * from './services/manager/scheduleConferenceManager';
16
16
  export * from './services/manager/configManager';
17
+ export { createComparator, combineComparators } from './utils/utils';
18
+
17
19
  export {
18
20
  ConferenceMainView,
19
21
  PreConferenceView,
@@ -28,7 +30,7 @@ export {
28
30
  };
29
31
  export type { ThemeOption };
30
32
 
31
- ConferenceMainView.install = app => {
33
+ (ConferenceMainView as any).install = (app: any) => {
32
34
  app.component('ConferenceView', ConferenceMainView);
33
35
  };
34
36
 
@@ -25,7 +25,7 @@ export default {
25
25
  Room: 'Room',
26
26
  Join: 'Join',
27
27
  Sure: 'Sure',
28
- 'Switch Theme': 'Switch Theme',
28
+ 'Switch Theme': 'Theme',
29
29
  Layout: 'Layout',
30
30
  'New Room': 'New Room',
31
31
  'Room Type': 'Room Type',
@@ -65,6 +65,8 @@ export default {
65
65
  'Others will no longer see your screen after you stop sharing.',
66
66
  'You currently do not have sharing permission, please raise your hand to apply for sharing permission first':
67
67
  'You currently do not have sharing permission, please raise your hand to apply for sharing permission first',
68
+ 'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first':
69
+ 'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first',
68
70
  Host: 'Host',
69
71
  Admin: 'Admin',
70
72
  RoomOwner: 'RoomOwner',
@@ -252,8 +254,7 @@ export default {
252
254
  'You have been banned from text chat': 'You have been banned from text chat',
253
255
  'You are allowed to text chat': 'You are allowed to text chat',
254
256
  'kicked out of the room by the host': 'kicked out of the room by the host',
255
- 'kicked out of the room by other device':
256
- 'kicked out of the room by other device',
257
+ 'kicked out of the room': 'kicked out of the room',
257
258
  'kicked out of the room by serve': 'kicked out of the room by serve',
258
259
  'Reject sb on stage failed, please retry': ({ named }: any) =>
259
260
  `Reject ${named('name')} on Stage failed, please retry`,
@@ -59,6 +59,8 @@ export default {
59
59
  '停止后所有人将无法继续观看屏幕内容',
60
60
  'You currently do not have sharing permission, please raise your hand to apply for sharing permission first':
61
61
  '您当前没有共享权限,请先举手申请上台获取共享权限',
62
+ 'You currently do not have whiteboard permission, please raise your hand to apply for whiteboard permission first':
63
+ '您当前没有白板权限,请先举手申请上台获取白板权限',
62
64
  Host: '房主',
63
65
  Me: '我',
64
66
  me: '我',
@@ -243,7 +245,7 @@ export default {
243
245
  'You have been banned from text chat': '您被禁止文字聊天',
244
246
  'You are allowed to text chat': '您被允许文字聊天',
245
247
  'kicked out of the room by the host': '被主持人踢出房间',
246
- 'kicked out of the room by other device': '相同账号在其他客户端进入房间',
248
+ 'kicked out of the room': '被踢出房间',
247
249
  'kicked out of the room by serve': '被服务端踢出房间',
248
250
  'Reject sb on stage failed, please retry': ({ named }: any) =>
249
251
  `拒绝 ${named('name')} 上台失败, 请重试`,
@@ -3,7 +3,7 @@
3
3
  id="pre-conference-container"
4
4
  :class="['pre-conference-container', tuiRoomThemeClass]"
5
5
  >
6
- <div class="header">
6
+ <div class="header" v-show="props.isShowHeaderInfo">
7
7
  <div class="left-header">
8
8
  <switch-theme class="header-item" />
9
9
  </div>
@@ -86,6 +86,7 @@ const props = withDefaults(
86
86
  roomId: string;
87
87
  enableScheduledConference: boolean;
88
88
  isShowLogo?: boolean;
89
+ isShowHeaderInfo?: boolean;
89
90
  }>(),
90
91
  {
91
92
  userInfo: () => ({
@@ -97,6 +98,7 @@ const props = withDefaults(
97
98
  roomId: '',
98
99
  enableScheduledConference: true,
99
100
  isShowLogo: true,
101
+ isShowHeaderInfo: true,
100
102
  }
101
103
  );
102
104
 
@@ -11,3 +11,4 @@ export * from './manager/scheduleConferenceManager';
11
11
  export * from './manager/chatManager';
12
12
  export * from './manager/dataReportManager';
13
13
  export * from './function/aiTask';
14
+ export * from './manager/trackingManager';
@@ -1,8 +1,6 @@
1
1
  import { TUIConstants, TUICore } from '@tencentcloud/tui-core';
2
2
  import { EventType, IRoomService } from '../types';
3
- import TUIRoomEngine, {
4
- TUIRoomEvents,
5
- } from '@tencentcloud/tuiroom-engine-electron';
3
+ import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-electron';
6
4
  import { UserInfo } from '../../stores/room';
7
5
  import defaultAvatar from '../../assets/imgs/avatar.png';
8
6
 
@@ -14,7 +12,6 @@ const THEME = {
14
12
  export class ChatManager {
15
13
  static instance?: ChatManager;
16
14
  private service: IRoomService;
17
- private isRoomType = false;
18
15
 
19
16
  constructor(service: IRoomService) {
20
17
  this.service = service;
@@ -50,21 +47,15 @@ export class ChatManager {
50
47
  );
51
48
  }
52
49
 
53
- public setChatType(type: boolean) {
54
- this.isRoomType = type;
55
- }
56
-
57
50
  public async onNotifyEvent(eventName: string, subKey: string, options?: any) {
58
- if (!this.isRoomType) return;
51
+ if (options.groupID !== this.service.basicStore.roomId) return;
59
52
  if (eventName === TUIConstants.TUIChat.EVENT.CHAT_STATE_CHANGED) {
60
53
  if (subKey === TUIConstants.TUIChat.EVENT_SUB_KEY.CHAT_OPENED) {
61
- TUICore.callService({
62
- serviceName: TUIConstants.TUIChat.SERVICE.NAME,
63
- method: TUIConstants.TUIChat.SERVICE.METHOD.SET_CHAT_TYPE,
64
- params: {
65
- chatType: TUIConstants.TUIChat.TYPE.ROOM,
66
- },
67
- });
54
+ TUICore.notifyEvent(
55
+ TUIConstants.TUIChat.EVENT.CHAT_TYPE_CHANGED,
56
+ TUIConstants.TUIChat.EVENT_SUB_KEY.CHANGE_SUCCESS,
57
+ { chatType: TUIConstants.TUIChat.TYPE.ROOM }
58
+ );
68
59
  const result = Object.fromEntries(
69
60
  this.service.roomStore.userList.map(item => [
70
61
  item.userId,
@@ -18,6 +18,18 @@ interface ObserverData {
18
18
  isIntersection?: boolean;
19
19
  }
20
20
 
21
+ export enum StreamPlayMode {
22
+ PLAY = 'play',
23
+ STOP = 'stop',
24
+ PLAY_IN_VISIBLE = 'playInVisible',
25
+ }
26
+
27
+ export enum StreamPlayQuality {
28
+ HIGH = 'high',
29
+ LOW = 'low',
30
+ Default = 'default',
31
+ }
32
+
21
33
  export class MediaManager {
22
34
  private service: IRoomService;
23
35
 
@@ -32,62 +44,6 @@ export class MediaManager {
32
44
  this.bindRoomEngineEvents();
33
45
  }
34
46
 
35
- private getRecordStreamType(streamType: TUIVideoStreamType | undefined) {
36
- if (streamType === TUIVideoStreamType.kCameraStreamLow) {
37
- return TUIVideoStreamType.kCameraStream;
38
- }
39
- return streamType;
40
- }
41
-
42
- private intersectionObserverCallback(entries: IntersectionObserverEntry[]) {
43
- entries.forEach((entry: IntersectionObserverEntry) => {
44
- const { isIntersecting, target } = entry;
45
- const observerData = this.observerDataMap.get(target as HTMLElement);
46
- if (!observerData) {
47
- return;
48
- }
49
- const { userId, streamType } = observerData;
50
- const streamInfo = this.service.roomStore.getStreamInfo(
51
- userId,
52
- streamType
53
- );
54
- if (!streamInfo) {
55
- return;
56
- }
57
- const { playDomList } = streamInfo;
58
- if (isIntersecting && playDomList?.length) {
59
- observerData.isIntersection = true;
60
- this.doStartPlayVideo({ userId, streamType, view: playDomList });
61
- } else {
62
- observerData.isIntersection = false;
63
- const isContinuePlay = streamInfo?.playDomList?.find(
64
- item => this.observerDataMap.get(item)?.isIntersection
65
- );
66
- if (!isContinuePlay) {
67
- this.doStopPlayVideo({ userId, streamType });
68
- }
69
- }
70
- });
71
- }
72
-
73
- private initIntersectionObserver() {
74
- if (
75
- !this.intersectionObserver ||
76
- document.getElementById('roomContainer') !== this.observerRoot
77
- ) {
78
- const observerRoot = document.getElementById('roomContainer');
79
- this.intersectionObserver = new IntersectionObserver(
80
- this.intersectionObserverCallback.bind(this),
81
- {
82
- root: observerRoot,
83
- rootMargin: '0px',
84
- }
85
- );
86
- this.observerDataMap = new Map();
87
- this.observerRoot = observerRoot;
88
- }
89
- }
90
-
91
47
  public async startPlayVideo(options: {
92
48
  userId: string;
93
49
  streamType: TUIVideoStreamType;
@@ -106,42 +62,14 @@ export class MediaManager {
106
62
  if (!streamInfo) {
107
63
  return;
108
64
  }
109
- let newPlayDomList = streamInfo!.playDomList?.slice(0) || [];
110
- newPlayDomList.push(view);
111
- newPlayDomList = [...new Set(newPlayDomList)];
65
+ streamInfo!.playDomMap?.set(view, streamType);
112
66
 
113
67
  if (!observerViewInVisible) {
114
- this.service.roomStore.updateStreamInfo({
115
- userId,
116
- streamType,
117
- playDomList: newPlayDomList,
118
- });
119
- await this.doStartPlayVideo({ userId, streamType, view: newPlayDomList });
68
+ await this.doStartPlayVideo({ userId, streamType });
120
69
  return;
121
70
  }
122
71
 
123
72
  this.initIntersectionObserver();
124
-
125
- // If the dom playing A stream is no longer playing, cancel the listen and update the playlist.
126
- streamInfo?.playDomList?.forEach(playDom => {
127
- if (!newPlayDomList.includes(playDom)) {
128
- if (
129
- this.observerDataMap.get(playDom)?.userId === userId &&
130
- this.getRecordStreamType(
131
- this.observerDataMap.get(playDom)?.streamType
132
- ) === this.getRecordStreamType(streamType)
133
- ) {
134
- this.observerDataMap.delete(playDom);
135
- this.intersectionObserver?.unobserve(playDom);
136
- }
137
- }
138
- });
139
- this.service.roomStore.updateStreamInfo({
140
- userId,
141
- streamType,
142
- playDomList: newPlayDomList,
143
- });
144
-
145
73
  this.observerDataMap.set(
146
74
  view,
147
75
  Object.assign(this.observerDataMap.get(view) || {}, {
@@ -155,22 +83,126 @@ export class MediaManager {
155
83
  // At this point, the dom already exists and will no longer trigger the intersection event,
156
84
  // so when you realize it's already visible, you should play it immediately.
157
85
  if (this.observerDataMap.get(view)?.isIntersection) {
158
- await this.doStartPlayVideo({ userId, streamType, view: newPlayDomList });
86
+ await this.doStartPlayVideo({ userId, streamType });
159
87
  }
160
88
  }
161
89
 
162
- public async doStartPlayVideo(options: {
90
+ // If only one view wants to stop playing, update the viewList, but don't stop the stream.
91
+ // If no view is passed in, the stream is stopped.
92
+ public async stopPlayVideo(options: {
163
93
  userId: string;
164
94
  streamType: TUIVideoStreamType;
165
- view: (HTMLElement | string | null)[];
95
+ view: HTMLElement;
166
96
  }) {
167
97
  const { userId, streamType, view } = options;
168
- const viewIdList = view.map(item => {
98
+ logger.info('MediaManager.stopPlayVideo', userId, streamType, view);
99
+ const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
100
+ if (!streamInfo?.playDomMap || streamInfo?.playDomMap.size === 0) {
101
+ return;
102
+ }
103
+
104
+ if (this.observerDataMap.get(view)) {
105
+ this.observerDataMap.delete(view);
106
+ this.intersectionObserver?.unobserve(view);
107
+ }
108
+
109
+ streamInfo?.playDomMap.delete(view);
110
+ if (streamInfo?.playDomMap.size > 0) {
111
+ await this.doStartPlayVideo({
112
+ userId,
113
+ streamType,
114
+ });
115
+ } else {
116
+ await this.doStopPlayVideo(options);
117
+ }
118
+ }
119
+
120
+ private initIntersectionObserver() {
121
+ if (
122
+ !this.intersectionObserver ||
123
+ document.getElementById('roomContainer') !== this.observerRoot
124
+ ) {
125
+ const observerRoot = document.getElementById('roomContainer');
126
+ this.intersectionObserver = new IntersectionObserver(
127
+ this.intersectionObserverCallback.bind(this),
128
+ {
129
+ root: observerRoot,
130
+ rootMargin: '0px',
131
+ }
132
+ );
133
+ this.observerDataMap = new Map();
134
+ this.observerRoot = observerRoot;
135
+ }
136
+ }
137
+
138
+ private intersectionObserverCallback(entries: IntersectionObserverEntry[]) {
139
+ entries.forEach((entry: IntersectionObserverEntry) => {
140
+ const { isIntersecting, target } = entry;
141
+ const observerData = this.observerDataMap.get(target as HTMLElement);
142
+ if (!observerData) {
143
+ return;
144
+ }
145
+ const { userId, streamType } = observerData;
146
+ const streamInfo = this.service.roomStore.getStreamInfo(
147
+ userId,
148
+ streamType
149
+ );
150
+ if (!streamInfo) {
151
+ return;
152
+ }
153
+ if (isIntersecting) {
154
+ observerData.isIntersection = true;
155
+ if (streamInfo?.playDomMap && streamInfo?.playDomMap.size > 0) {
156
+ this.doStartPlayVideo({ userId, streamType });
157
+ }
158
+ } else {
159
+ observerData.isIntersection = false;
160
+ const isContinuePlay = Array.from(
161
+ streamInfo?.playDomMap?.keys() || []
162
+ ).find(
163
+ item =>
164
+ !this.observerDataMap.get(item) ||
165
+ this.observerDataMap.get(item)?.isIntersection
166
+ );
167
+ if (!isContinuePlay) {
168
+ this.doStopPlayVideo({ userId, streamType });
169
+ }
170
+ }
171
+ });
172
+ }
173
+
174
+ private getPlayStreamType(userId: string, streamType: TUIVideoStreamType) {
175
+ if (streamType === TUIVideoStreamType.kScreenStream) {
176
+ return streamType;
177
+ }
178
+ const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
179
+ if (streamInfo?.playDomMap && streamInfo?.playDomMap.size > 0) {
180
+ const playStreamTypeList = Array.from(streamInfo?.playDomMap?.values());
181
+ if (playStreamTypeList.includes(TUIVideoStreamType.kCameraStream)) {
182
+ return TUIVideoStreamType.kCameraStream;
183
+ }
184
+ return TUIVideoStreamType.kCameraStreamLow;
185
+ }
186
+ return streamType;
187
+ }
188
+
189
+ private async doStartPlayVideo(options: {
190
+ userId: string;
191
+ streamType: TUIVideoStreamType;
192
+ }) {
193
+ const { userId, streamType } = options;
194
+ const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
195
+ if (!streamInfo) {
196
+ return;
197
+ }
198
+ const playStreamType = this.getPlayStreamType(userId, streamType);
199
+ const viewIdList = Array.from(streamInfo!.playDomMap!.keys()).map(item => {
169
200
  if (item instanceof HTMLElement) {
170
201
  return item?.id;
171
202
  }
172
203
  return item;
173
204
  });
205
+
174
206
  this.service.roomStore.updateStreamInfo({
175
207
  userId,
176
208
  streamType,
@@ -184,13 +216,13 @@ export class MediaManager {
184
216
  } else {
185
217
  this.service.roomEngine.instance?.setRemoteVideoView({
186
218
  userId,
187
- streamType,
219
+ streamType: playStreamType,
188
220
  view: viewIdList,
189
221
  });
190
222
  await this.setVideoRenderParams({ userId, streamType });
191
223
  await this.service.roomEngine.instance?.startPlayRemoteVideo({
192
224
  userId,
193
- streamType,
225
+ streamType: playStreamType,
194
226
  });
195
227
  }
196
228
  this.service.roomStore.updateStreamInfo({
@@ -223,50 +255,7 @@ export class MediaManager {
223
255
  }
224
256
  }
225
257
 
226
- // If only one view wants to stop playing, update the viewList, but don't stop the stream.
227
- // If no view is passed in, the stream is stopped.
228
- public async stopPlayVideo(options: {
229
- userId: string;
230
- streamType: TUIVideoStreamType;
231
- view: HTMLElement;
232
- }) {
233
- const { userId, streamType, view } = options;
234
- logger.info('MediaManager.stopPlayVideo', userId, streamType, view);
235
- const streamInfo = this.service.roomStore.getStreamInfo(userId, streamType);
236
- if (!streamInfo?.playDomList || streamInfo?.playDomList.length === 0) {
237
- return;
238
- }
239
-
240
- if (this.observerDataMap.get(view)) {
241
- this.observerDataMap.delete(view);
242
- this.intersectionObserver?.unobserve(view);
243
- }
244
-
245
- const newPlayDomList = streamInfo?.playDomList
246
- .slice(0)
247
- .filter(item => item !== view);
248
- if (newPlayDomList.length > 0) {
249
- this.service.roomStore.updateStreamInfo({
250
- userId,
251
- streamType,
252
- playDomList: newPlayDomList,
253
- });
254
- await this.doStartPlayVideo({
255
- userId,
256
- streamType,
257
- view: newPlayDomList,
258
- });
259
- } else {
260
- this.service.roomStore.updateStreamInfo({
261
- userId,
262
- streamType,
263
- playDomList: [],
264
- });
265
- await this.doStopPlayVideo(options);
266
- }
267
- }
268
-
269
- public async doStopPlayVideo(options: {
258
+ private async doStopPlayVideo(options: {
270
259
  userId: string;
271
260
  streamType: TUIVideoStreamType;
272
261
  }) {
@@ -20,6 +20,9 @@ smallParam.videoResolution = TRTCVideoResolution.TRTCVideoResolution_640_360;
20
20
  smallParam.videoFps = 10;
21
21
  smallParam.videoBitrate = 550;
22
22
 
23
+ export enum FetchRoomInfoErrorCode {
24
+ ROOM_NOT_EXIST = -2100,
25
+ }
23
26
  export interface DeviceParams {
24
27
  isOpenCamera?: boolean;
25
28
  isOpenMicrophone?: boolean;
@@ -62,6 +65,7 @@ export class RoomActionManager {
62
65
  password,
63
66
  } = params;
64
67
  const roomMode = isSeatEnabled ? 'SpeakAfterTakingSeat' : 'FreeToSpeak';
68
+ this.service.roomStore.resetRoomData();
65
69
  await this.createRoom({
66
70
  roomId,
67
71
  roomName,
@@ -98,6 +102,7 @@ export class RoomActionManager {
98
102
  defaultSpeakerId,
99
103
  password,
100
104
  } = params;
105
+ this.service.roomStore.resetRoomData();
101
106
  await this.enterRoom({
102
107
  roomId,
103
108
  roomParam: {
@@ -10,6 +10,7 @@ import {
10
10
  } from '@tencentcloud/tuiroom-engine-electron';
11
11
  import { EventType, IRoomService } from '../types';
12
12
  import mitt from 'mitt';
13
+ import { FetchRoomInfoErrorCode } from './roomActionManager.ts';
13
14
  export * from '@tencentcloud/tuiroom-engine-electron';
14
15
  interface IScheduleConferenceManager {
15
16
  on(
@@ -75,7 +76,7 @@ export interface IScheduleConferenceOptions {
75
76
  maxSeatCount?: number;
76
77
  password?: string;
77
78
  }
78
-
79
+ const MAX_ATTEMPTS = 5;
79
80
  export class ScheduleConferenceManager implements IScheduleConferenceManager {
80
81
  private service: IRoomService;
81
82
  private customFriendList?: Array<any>;
@@ -241,6 +242,28 @@ export class ScheduleConferenceManager implements IScheduleConferenceManager {
241
242
  this.customFriendList = userList;
242
243
  }
243
244
 
245
+ async generateRoomId(attempt = 1): Promise<string> {
246
+ if (attempt > MAX_ATTEMPTS) {
247
+ throw new Error(
248
+ 'Failed to generate a unique room ID after maximum attempts.'
249
+ );
250
+ }
251
+
252
+ const roomId = String(Math.ceil(Math.random() * 1000000));
253
+ try {
254
+ await this.service.roomActionManager?.fetchRoomInfo({
255
+ roomId,
256
+ roomType: TUIRoomType.kConference,
257
+ });
258
+ return await this.generateRoomId(attempt + 1);
259
+ } catch (err: any) {
260
+ if (err?.code === FetchRoomInfoErrorCode.ROOM_NOT_EXIST) {
261
+ return roomId;
262
+ }
263
+ throw err;
264
+ }
265
+ }
266
+
244
267
  async scheduleConference(options: IScheduleConferenceOptions) {
245
268
  return await this.service.roomEngine.instance
246
269
  ?.getConferenceListManager()