fcr-ui-scene 3.4.1 → 3.4.2

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 (567) hide show
  1. package/lib/base.d.ts +40 -5
  2. package/lib/base.js +237 -22
  3. package/lib/common/device-store.d.ts +14 -23
  4. package/lib/common/device-store.js +252 -361
  5. package/lib/common/device-stream-store.d.ts +14 -8
  6. package/lib/common/device-stream-store.js +116 -254
  7. package/lib/common/event-store.d.ts +10 -35
  8. package/lib/common/event-store.js +13 -64
  9. package/lib/common/security-store.d.ts +39 -47
  10. package/lib/common/security-store.js +379 -335
  11. package/lib/creator.d.ts +1 -1
  12. package/lib/creator.js +4 -9
  13. package/lib/electron/app.js +4 -2
  14. package/lib/electron/bootstrap-dev.js +0 -7
  15. package/lib/electron/bootstrap-sdk.js +10 -0
  16. package/lib/electron/injections.d.ts +2 -0
  17. package/lib/electron/injections.js +17 -2
  18. package/lib/electron/logger.d.ts +0 -4
  19. package/lib/electron/logger.js +2 -5
  20. package/lib/electron/main.js +1 -1
  21. package/lib/electron/plugins/devtool-shortcut.js +10 -1
  22. package/lib/electron/plugins/meeting-state.js +1 -1
  23. package/lib/electron/preload.js +3 -1
  24. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  25. package/lib/fragments/control-bar/control-bar-store.d.ts +1 -44
  26. package/lib/fragments/control-bar/control-bar-store.js +80 -457
  27. package/lib/fragments/control-bar/device/index.js +3 -5
  28. package/lib/fragments/control-bar/index.css +10 -15
  29. package/lib/fragments/control-bar/index.js +0 -24
  30. package/lib/fragments/control-bar/more-actions/index.css +0 -53
  31. package/lib/fragments/control-bar/more-actions/index.js +38 -73
  32. package/lib/fragments/control-bar/security-content/index.css +0 -75
  33. package/lib/fragments/control-bar/security-content/index.js +19 -105
  34. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  35. package/lib/fragments/control-bar/view.js +8 -23
  36. package/lib/fragments/live-streaming/store.d.ts +1 -1
  37. package/lib/fragments/live-streaming/store.js +1 -1
  38. package/lib/fragments/live-streaming/view.js +2 -4
  39. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  40. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  41. package/lib/fragments/share-screen-selection/view.js +20 -20
  42. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  43. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  44. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  45. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  46. package/lib/fragments/toolbar/hooks.js +1 -1
  47. package/lib/fragments/toolbar/store.d.ts +1 -1
  48. package/lib/global.css +5 -0
  49. package/lib/index.d.ts +1 -0
  50. package/lib/index.js +7 -4
  51. package/lib/login-confirm-dialog.d.ts +1 -0
  52. package/lib/login-confirm-dialog.js +7 -2
  53. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +2 -2
  54. package/lib/modules/Interpreter/action/edit-btn/index.js +2 -2
  55. package/lib/modules/Interpreter/action/switch-btn/index.js +5 -5
  56. package/lib/modules/Interpreter/dialog-content/index.d.ts +2 -2
  57. package/lib/modules/Interpreter/dialog-content/index.js +4 -4
  58. package/lib/modules/Interpreter/index.d.ts +11 -4
  59. package/lib/modules/Interpreter/index.js +23 -8
  60. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +2 -2
  61. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  62. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +2 -2
  63. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +14 -14
  64. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +2 -2
  65. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +2 -2
  66. package/lib/modules/Interpreter/store.d.ts +23 -84
  67. package/lib/modules/Interpreter/store.js +204 -1216
  68. package/lib/modules/Interpreter/type.d.ts +12 -29
  69. package/lib/modules/Interpreter/type.js +2 -10
  70. package/lib/modules/Interpreter/utils.d.ts +1 -5
  71. package/lib/modules/Interpreter/utils.js +28 -86
  72. package/lib/modules/Interpreter/view.js +19 -3
  73. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -4
  74. package/lib/modules/action-bar/action-bar-collapes-items.js +21 -38
  75. package/lib/modules/action-bar/chat/index.js +8 -8
  76. package/lib/modules/action-bar/components/apps/app-item/index.css +1 -2
  77. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +1 -10
  78. package/lib/modules/action-bar/components/apps/appitems.d.ts +1 -3
  79. package/lib/modules/action-bar/components/apps/index.css +2 -2
  80. package/lib/modules/action-bar/components/apps/index.js +2 -3
  81. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -0
  82. package/lib/modules/action-bar/components/collapse/index.js +222 -0
  83. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -5
  84. package/lib/modules/action-bar/components/item/index.d.ts +9 -0
  85. package/lib/modules/action-bar/components/item/index.js +164 -0
  86. package/lib/modules/action-bar/components/leave/assign-host.d.ts +1 -8
  87. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  88. package/lib/modules/action-bar/components/leave/index.js +9 -24
  89. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +1 -16
  90. package/lib/modules/action-bar/components/more/index.js +13 -9
  91. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -4
  92. package/lib/modules/action-bar/components/more/poppover-content.js +28 -5
  93. package/lib/modules/action-bar/components/notification-bar/assets/dome.png +0 -0
  94. package/lib/modules/action-bar/components/notification-bar/assets/fcr_translateswitch.png +0 -0
  95. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -0
  96. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.d.ts +8 -0
  97. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +100 -0
  98. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -0
  99. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.d.ts +5 -0
  100. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.js +33 -0
  101. package/lib/modules/action-bar/components/notification-bar/index.css +74 -0
  102. package/lib/modules/action-bar/components/notification-bar/index.d.ts +2 -0
  103. package/lib/modules/action-bar/components/notification-bar/index.js +99 -0
  104. package/lib/modules/action-bar/components/participants/index.js +2 -2
  105. package/lib/modules/action-bar/components/placement/index.d.ts +4 -0
  106. package/lib/modules/action-bar/components/placement/index.js +18 -0
  107. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -3
  108. package/lib/modules/action-bar/components/screen-share/submenu.js +25 -2
  109. package/lib/modules/action-bar/components/security/index.js +3 -1
  110. package/lib/modules/action-bar/components/smaller/index.d.ts +1 -0
  111. package/lib/modules/action-bar/components/smaller/index.js +52 -0
  112. package/lib/modules/action-bar/components/trigger-input-language-room/fcr_translateswitch.png +0 -0
  113. package/lib/modules/action-bar/components/trigger-input-language-room/index.css +86 -0
  114. package/lib/modules/action-bar/components/trigger-input-language-room/index.d.ts +3 -0
  115. package/lib/modules/action-bar/components/trigger-input-language-room/index.js +215 -0
  116. package/lib/modules/action-bar/components/trigger-output-language/fcr_translateswitch.png +0 -0
  117. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -0
  118. package/lib/modules/action-bar/components/trigger-output-language/index.d.ts +2 -0
  119. package/lib/modules/action-bar/components/trigger-output-language/index.js +230 -0
  120. package/lib/modules/action-bar/components/trigger-output-language-room/constant.d.ts +10 -0
  121. package/lib/modules/action-bar/components/trigger-output-language-room/constant.js +8 -0
  122. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.css +22 -0
  123. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.d.ts +3 -0
  124. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.js +75 -0
  125. package/lib/modules/action-bar/components/trigger-output-language-room/index.d.ts +8 -0
  126. package/lib/modules/action-bar/components/trigger-output-language-room/index.js +98 -0
  127. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  128. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.js +66 -0
  129. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  130. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.js +37 -0
  131. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  132. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  133. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -0
  134. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +3 -0
  135. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +70 -0
  136. package/lib/modules/action-bar/components/trigger-subscribe-language/index.d.ts +5 -0
  137. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +209 -0
  138. package/lib/modules/action-bar/device/index.css +2 -7
  139. package/lib/modules/action-bar/device/index.js +24 -22
  140. package/lib/modules/action-bar/enums.d.ts +23 -0
  141. package/lib/modules/action-bar/enums.js +35 -0
  142. package/lib/modules/action-bar/index.d.ts +36 -6
  143. package/lib/modules/action-bar/index.dev.d.ts +0 -1
  144. package/lib/modules/action-bar/index.dev.js +94 -121
  145. package/lib/modules/action-bar/index.js +46 -18
  146. package/lib/modules/action-bar/leave/assign-host.d.ts +0 -3
  147. package/lib/modules/action-bar/leave/assign-host.js +4 -2
  148. package/lib/modules/action-bar/leave/index.css +0 -10
  149. package/lib/modules/action-bar/leave/index.js +34 -84
  150. package/lib/modules/action-bar/leave/leave-meeting.d.ts +1 -13
  151. package/lib/modules/action-bar/leave/leave-meeting.js +19 -37
  152. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  153. package/lib/modules/action-bar/more/index.js +6 -9
  154. package/lib/modules/action-bar/more/poppover-content.js +16 -37
  155. package/lib/modules/action-bar/participants/index.css +0 -12
  156. package/lib/modules/action-bar/participants/index.js +16 -23
  157. package/lib/modules/action-bar/record/index.js +4 -4
  158. package/lib/modules/action-bar/screen-share/index.js +5 -14
  159. package/lib/modules/action-bar/screen-share/submenu.js +26 -20
  160. package/lib/modules/action-bar/security/drop-menu.js +22 -137
  161. package/lib/modules/action-bar/security/index.js +6 -12
  162. package/lib/modules/action-bar/settings/index.js +4 -4
  163. package/lib/modules/action-bar/smaller.js +5 -5
  164. package/lib/modules/action-bar/store.d.ts +84 -98
  165. package/lib/modules/action-bar/store.js +567 -707
  166. package/lib/modules/action-bar/types.d.ts +94 -0
  167. package/lib/modules/action-bar/types.js +6 -0
  168. package/lib/modules/action-bar/view.d.ts +1 -2
  169. package/lib/modules/action-bar/view.js +11 -11
  170. package/lib/modules/audio-stream/index.d.ts +22 -10
  171. package/lib/modules/audio-stream/index.js +78 -82
  172. package/lib/modules/chat/chat-bar/index.css +0 -6
  173. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  174. package/lib/modules/chat/chat-bar/index.js +39 -51
  175. package/lib/modules/chat/chat-room-store.d.ts +135 -0
  176. package/lib/modules/chat/chat-room-store.js +954 -0
  177. package/lib/modules/chat/chat-select/index.css +7 -27
  178. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  179. package/lib/modules/chat/chat-select/index.js +4 -18
  180. package/lib/modules/chat/chat.d.ts +2 -1
  181. package/lib/modules/chat/chat.js +128 -196
  182. package/lib/modules/chat/components/chat-action/index.d.ts +1 -0
  183. package/lib/modules/chat/components/chat-action/index.js +28 -0
  184. package/lib/modules/chat/components/chat-bar/index.css +85 -0
  185. package/lib/modules/chat/components/chat-bar/index.d.ts +3 -0
  186. package/lib/modules/chat/components/chat-bar/index.js +145 -0
  187. package/lib/modules/chat/components/chat-select/index.css +185 -0
  188. package/lib/modules/chat/components/chat-select/index.d.ts +3 -0
  189. package/lib/modules/chat/components/chat-select/index.js +237 -0
  190. package/lib/modules/chat/components/message-list/index.d.ts +4 -0
  191. package/lib/modules/chat/components/message-list/index.js +650 -0
  192. package/lib/modules/chat/index.d.ts +13 -5
  193. package/lib/modules/chat/index.dev.d.ts +0 -1
  194. package/lib/modules/chat/index.dev.js +71 -72
  195. package/lib/modules/chat/index.js +45 -22
  196. package/lib/modules/chat/message-list.js +51 -68
  197. package/lib/modules/chat/mock.d.ts +1 -1
  198. package/lib/modules/chat/store.d.ts +17 -162
  199. package/lib/modules/chat/store.js +95 -963
  200. package/lib/modules/chat/types.d.ts +70 -0
  201. package/lib/modules/chat/types.js +17 -0
  202. package/lib/modules/chat/view.d.ts +10 -0
  203. package/lib/modules/chat/view.js +372 -0
  204. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -2
  205. package/lib/modules/components/device-control/components/microphone/index.js +7 -7
  206. package/lib/modules/components/device-control/store.d.ts +11 -12
  207. package/lib/modules/components/device-control/store.js +46 -49
  208. package/lib/modules/components/dialog-container/component/body.js +2 -1
  209. package/lib/modules/components/dialog-container/index.d.ts +2 -2
  210. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +3 -0
  211. package/lib/modules/components/leave-meeting/components/assign-host.js +70 -0
  212. package/lib/modules/components/leave-meeting/components/index.css +125 -0
  213. package/lib/modules/components/leave-meeting/index.d.ts +4 -0
  214. package/lib/modules/components/leave-meeting/index.js +147 -0
  215. package/lib/modules/components/leave-meeting/store.d.ts +31 -0
  216. package/lib/modules/components/leave-meeting/store.js +292 -0
  217. package/lib/modules/components/member-window/index.d.ts +1 -1
  218. package/lib/modules/components/member-window/index.js +12 -6
  219. package/lib/modules/components/security-menu/index.d.ts +2 -0
  220. package/lib/modules/components/security-menu/index.js +34 -35
  221. package/lib/modules/components/tab-frame/index.d.ts +2 -2
  222. package/lib/modules/components/tab-frame/index.js +26 -5
  223. package/lib/modules/connection-gateway/components/computer/index.js +4 -4
  224. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  225. package/lib/modules/connection-gateway/components/phone/index.js +2 -2
  226. package/lib/modules/connection-gateway/components/tabs/index.js +1 -2
  227. package/lib/modules/connection-gateway/enums.d.ts +4 -0
  228. package/lib/modules/connection-gateway/enums.js +12 -0
  229. package/lib/modules/connection-gateway/index.d.ts +13 -4
  230. package/lib/modules/connection-gateway/index.js +25 -15
  231. package/lib/modules/connection-gateway/store.d.ts +22 -18
  232. package/lib/modules/connection-gateway/store.js +60 -36
  233. package/lib/modules/connection-gateway/types.d.ts +4 -0
  234. package/lib/modules/connection-gateway/types.js +6 -0
  235. package/lib/modules/connection-gateway/view.js +2 -2
  236. package/lib/modules/control-bar/components/meeting-details/index.js +30 -25
  237. package/lib/modules/control-bar/components/more-actions/index.css +18 -0
  238. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -5
  239. package/lib/modules/control-bar/components/more-actions/index.js +58 -9
  240. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -7
  241. package/lib/modules/control-bar/components/share-state-nav/index.js +2 -1
  242. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +1 -1
  243. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +2 -2
  244. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -10
  245. package/lib/modules/control-bar/components/transfer-position-icon/index.js +7 -12
  246. package/lib/modules/control-bar/enums.d.ts +21 -0
  247. package/lib/modules/control-bar/enums.js +31 -0
  248. package/lib/modules/control-bar/index.d.ts +30 -7
  249. package/lib/modules/control-bar/index.js +46 -27
  250. package/lib/modules/control-bar/store.d.ts +38 -26
  251. package/lib/modules/control-bar/store.js +172 -282
  252. package/lib/modules/control-bar/types.d.ts +20 -0
  253. package/lib/modules/control-bar/types.js +6 -0
  254. package/lib/modules/control-bar/view.js +68 -34
  255. package/lib/modules/device-pretest/index.js +4 -4
  256. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  257. package/lib/modules/device-pretest/store.d.ts +8 -9
  258. package/lib/modules/device-pretest/store.js +52 -36
  259. package/lib/modules/dialog/components/Interpreter/electron.js +21 -15
  260. package/lib/modules/dialog/components/Interpreter/index.js +2 -2
  261. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  262. package/lib/modules/dialog/components/chat/electron.js +19 -10
  263. package/lib/modules/dialog/components/chat/index.js +2 -2
  264. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  265. package/lib/modules/dialog/components/confirm/electron.js +68 -38
  266. package/lib/modules/dialog/components/confirm/index.js +1 -1
  267. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  268. package/lib/modules/dialog/components/connection-gateway/electron.js +8 -10
  269. package/lib/modules/dialog/components/connection-gateway/index.css +2 -0
  270. package/lib/modules/dialog/components/connection-gateway/index.d.ts +3 -1
  271. package/lib/modules/dialog/components/connection-gateway/index.js +20 -7
  272. package/lib/modules/dialog/components/connection-gateway/tabs.d.ts +6 -0
  273. package/lib/modules/dialog/components/connection-gateway/tabs.js +44 -0
  274. package/lib/modules/dialog/components/control-bar/index.d.ts +5 -1
  275. package/lib/modules/dialog/components/control-bar/index.js +122 -9
  276. package/lib/modules/dialog/components/device-setting/electron.js +6 -2
  277. package/lib/modules/dialog/components/device-setting/index.js +2 -2
  278. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +7 -0
  279. package/lib/modules/dialog/components/dialog-container/component/body.js +77 -0
  280. package/lib/modules/dialog/components/dialog-container/index.css +81 -0
  281. package/lib/modules/dialog/components/dialog-container/index.d.ts +16 -0
  282. package/lib/modules/dialog/components/dialog-container/index.js +112 -0
  283. package/lib/modules/dialog/components/invite/index.js +32 -7
  284. package/lib/modules/dialog/components/live-streaming/index.js +9 -5
  285. package/lib/modules/dialog/components/participant/electron.js +11 -5
  286. package/lib/modules/dialog/components/participant/index.js +4 -3
  287. package/lib/modules/dialog/components/share-screen-selection/index.js +9 -5
  288. package/lib/modules/dialog/components/system-preference/electron.js +1 -1
  289. package/lib/modules/dialog/components/toast/index.js +1 -1
  290. package/lib/modules/dialog/components/video-window/index.d.ts +2 -0
  291. package/lib/modules/dialog/components/video-window/index.js +148 -0
  292. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  293. package/lib/modules/dialog/dialogs.d.ts +2 -5
  294. package/lib/modules/dialog/dialogs.js +2 -157
  295. package/lib/modules/dialog/hooks/useElectron.d.ts +3 -25
  296. package/lib/modules/dialog/hooks/useElectron.js +91 -35
  297. package/lib/modules/dialog/index.d.ts +30 -4
  298. package/lib/modules/dialog/index.js +62 -6
  299. package/lib/modules/dialog/store.d.ts +46 -12
  300. package/lib/modules/dialog/store.js +121 -65
  301. package/lib/modules/dialog/types/index.d.ts +14 -3
  302. package/lib/modules/event-confirm/index.css +1 -1
  303. package/lib/modules/event-confirm/index.d.ts +13 -6
  304. package/lib/modules/event-confirm/index.js +28 -11
  305. package/lib/modules/event-confirm/store.d.ts +9 -3
  306. package/lib/modules/event-confirm/store.js +16 -7
  307. package/lib/modules/event-confirm/view.js +5 -1
  308. package/lib/modules/event-toast/index.d.ts +7 -6
  309. package/lib/modules/event-toast/index.js +19 -8
  310. package/lib/modules/event-toast/store.d.ts +8 -3
  311. package/lib/modules/event-toast/store.js +15 -6
  312. package/lib/modules/invite/components/error-tips.d.ts +4 -0
  313. package/lib/modules/invite/components/error-tips.js +18 -0
  314. package/lib/modules/invite/components/pstn-invite.d.ts +2 -0
  315. package/lib/modules/invite/components/pstn-invite.js +297 -0
  316. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  317. package/lib/modules/invite/components/voip-invite.js +276 -0
  318. package/lib/modules/invite/enums.d.ts +22 -0
  319. package/lib/modules/invite/enums.js +33 -0
  320. package/lib/modules/invite/index.d.ts +7 -8
  321. package/lib/modules/invite/index.js +17 -15
  322. package/lib/modules/invite/pstn-invite.js +9 -7
  323. package/lib/modules/invite/store.d.ts +11 -26
  324. package/lib/modules/invite/store.js +55 -25
  325. package/lib/modules/invite/types.d.ts +14 -0
  326. package/lib/modules/invite/types.js +6 -0
  327. package/lib/modules/invite/view.d.ts +0 -4
  328. package/lib/modules/invite/view.js +7 -11
  329. package/lib/modules/invite/voip-invite.js +6 -5
  330. package/lib/modules/layout/components/Aside.js +34 -17
  331. package/lib/modules/layout/components/Carousel.js +1 -1
  332. package/lib/modules/layout/components/Gallery.js +1 -1
  333. package/lib/modules/layout/components/index.d.ts +1 -1
  334. package/lib/modules/layout/components/index.js +4 -4
  335. package/lib/modules/layout/components/who-is-speaking.d.ts +2 -0
  336. package/lib/modules/layout/components/who-is-speaking.js +60 -0
  337. package/lib/modules/layout/index.d.ts +26 -4
  338. package/lib/modules/layout/index.dev.d.ts +0 -1
  339. package/lib/modules/layout/index.dev.js +312 -386
  340. package/lib/modules/layout/index.js +25 -10
  341. package/lib/modules/layout/member-window/index.css +18 -116
  342. package/lib/modules/layout/member-window/index.d.ts +3 -10
  343. package/lib/modules/layout/member-window/index.js +115 -227
  344. package/lib/modules/layout/store.d.ts +61 -71
  345. package/lib/modules/layout/store.js +311 -573
  346. package/lib/modules/layout/view.d.ts +2 -0
  347. package/lib/modules/layout/view.js +127 -2
  348. package/lib/modules/live-streaming/index.d.ts +15 -7
  349. package/lib/modules/live-streaming/index.dev.js +13 -13
  350. package/lib/modules/live-streaming/index.js +20 -15
  351. package/lib/modules/live-streaming/store.d.ts +21 -14
  352. package/lib/modules/live-streaming/store.js +84 -144
  353. package/lib/modules/live-streaming/view.js +2 -2
  354. package/lib/modules/notification/index.d.ts +9 -11
  355. package/lib/modules/notification/index.js +21 -14
  356. package/lib/modules/notification/interpreter-status/index.js +1 -2
  357. package/lib/modules/notification/store.d.ts +5 -11
  358. package/lib/modules/notification/store.js +12 -62
  359. package/lib/modules/notification/view.d.ts +5 -3
  360. package/lib/modules/notification/view.js +8 -5
  361. package/lib/modules/offscreen-pulling/index.js +1 -1
  362. package/lib/modules/participant/attendee/index.css +51 -0
  363. package/lib/modules/participant/attendee/index.d.ts +5 -8
  364. package/lib/modules/participant/attendee/index.js +15 -61
  365. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  366. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +28 -0
  367. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +7 -0
  368. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +39 -0
  369. package/lib/modules/participant/components/attendee/index.css +69 -0
  370. package/lib/modules/participant/components/attendee/index.d.ts +4 -0
  371. package/lib/modules/participant/components/attendee/index.js +337 -0
  372. package/lib/modules/participant/components/can-moveable/index.d.ts +1 -0
  373. package/lib/modules/participant/components/can-moveable/index.js +68 -0
  374. package/lib/modules/participant/components/drop-menu/index.js +8 -8
  375. package/lib/modules/participant/components/footer/buttons.d.ts +2 -3
  376. package/lib/modules/participant/components/footer/buttons.js +2 -3
  377. package/lib/modules/participant/components/footer/index.js +2 -2
  378. package/lib/modules/participant/components/mute-all/index.d.ts +3 -4
  379. package/lib/modules/participant/components/mute-all/index.js +31 -44
  380. package/lib/modules/participant/components/operate-waitingroom-member/index.d.ts +2 -0
  381. package/lib/modules/participant/components/operate-waitingroom-member/index.js +48 -0
  382. package/lib/modules/participant/components/participants/index.js +27 -50
  383. package/lib/modules/participant/components/user-action/index.d.ts +17 -0
  384. package/lib/modules/participant/components/user-action/index.js +169 -0
  385. package/lib/modules/participant/index.d.ts +34 -7
  386. package/lib/modules/participant/index.dev.d.ts +0 -1
  387. package/lib/modules/participant/index.dev.js +87 -116
  388. package/lib/modules/participant/index.js +39 -13
  389. package/lib/modules/participant/member-list-data-source.d.ts +4 -1
  390. package/lib/modules/participant/member-list-data-source.js +58 -31
  391. package/lib/modules/participant/room-control-drop-menu/index.css +0 -37
  392. package/lib/modules/participant/store.d.ts +58 -25
  393. package/lib/modules/participant/store.js +321 -298
  394. package/lib/modules/participant/type.d.ts +45 -1
  395. package/lib/modules/participant/type.js +15 -1
  396. package/lib/modules/pc-audio-connect/index.css +12 -0
  397. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  398. package/lib/modules/pc-audio-connect/index.js +68 -0
  399. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  400. package/lib/modules/pc-audio-connect/store.js +301 -0
  401. package/lib/modules/pc-audio-connect/types.d.ts +0 -0
  402. package/lib/modules/pc-audio-connect/types.js +1 -0
  403. package/lib/modules/pc-audio-connect/view.d.ts +3 -0
  404. package/lib/modules/pc-audio-connect/view.js +66 -0
  405. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  406. package/lib/modules/phone-audio-connect/components/callinfo/index.d.ts +10 -0
  407. package/lib/modules/phone-audio-connect/components/callinfo/index.js +77 -0
  408. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -0
  409. package/lib/modules/phone-audio-connect/components/calling/index.d.ts +7 -0
  410. package/lib/modules/phone-audio-connect/components/calling/index.js +58 -0
  411. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -0
  412. package/lib/modules/phone-audio-connect/components/remeber/index.d.ts +5 -0
  413. package/lib/modules/phone-audio-connect/components/remeber/index.js +24 -0
  414. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -0
  415. package/lib/modules/phone-audio-connect/components/useing/index.d.ts +3 -0
  416. package/lib/modules/phone-audio-connect/components/useing/index.js +36 -0
  417. package/lib/modules/phone-audio-connect/enums.d.ts +4 -0
  418. package/lib/modules/phone-audio-connect/enums.js +12 -0
  419. package/lib/modules/phone-audio-connect/index.css +56 -0
  420. package/lib/modules/phone-audio-connect/index.d.ts +16 -0
  421. package/lib/modules/phone-audio-connect/index.js +63 -0
  422. package/lib/modules/phone-audio-connect/store.d.ts +46 -0
  423. package/lib/modules/phone-audio-connect/store.js +320 -0
  424. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  425. package/lib/modules/phone-audio-connect/types.js +6 -0
  426. package/lib/modules/phone-audio-connect/view.d.ts +3 -0
  427. package/lib/modules/phone-audio-connect/view.js +184 -0
  428. package/lib/modules/setting/audio-settings/audio-settings.js +5 -5
  429. package/lib/modules/setting/index.d.ts +25 -5
  430. package/lib/modules/setting/index.dev.d.ts +0 -1
  431. package/lib/modules/setting/index.dev.js +120 -81
  432. package/lib/modules/setting/index.js +35 -9
  433. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -1
  434. package/lib/modules/setting/state/index.js +3 -3
  435. package/lib/modules/setting/store.d.ts +48 -14
  436. package/lib/modules/setting/store.js +105 -114
  437. package/lib/modules/setting/translate-settings/translate-settings.js +3 -3
  438. package/lib/modules/setting/video-settings/video-settings-basic.js +19 -22
  439. package/lib/modules/setting/view.js +6 -35
  440. package/lib/modules/share-screen/components/selection/index.css +70 -0
  441. package/lib/modules/share-screen/components/selection/index.d.ts +2 -0
  442. package/lib/modules/share-screen/components/selection/index.js +267 -0
  443. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -0
  444. package/lib/modules/share-screen/components/share-state-bar/index.d.ts +4 -0
  445. package/lib/modules/share-screen/components/share-state-bar/index.js +98 -0
  446. package/lib/modules/share-screen/index.d.ts +15 -18
  447. package/lib/modules/share-screen/index.dev.d.ts +0 -1
  448. package/lib/modules/share-screen/index.dev.js +90 -91
  449. package/lib/modules/share-screen/index.js +22 -22
  450. package/lib/modules/share-screen/selection/index.css +0 -4
  451. package/lib/modules/share-screen/selection/index.js +129 -126
  452. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  453. package/lib/modules/share-screen/store.d.ts +36 -32
  454. package/lib/modules/share-screen/store.js +250 -219
  455. package/lib/modules/share-screen/types.d.ts +27 -0
  456. package/lib/modules/share-screen/types.js +6 -0
  457. package/lib/modules/share-screen/view.js +1 -1
  458. package/lib/modules/sound-effect/index.d.ts +9 -4
  459. package/lib/modules/sound-effect/index.js +72 -40
  460. package/lib/modules/sound-effect/sound-effect-player.js +1 -1
  461. package/lib/modules/state-bar/index.d.ts +16 -13
  462. package/lib/modules/state-bar/index.dev.d.ts +0 -1
  463. package/lib/modules/state-bar/index.dev.js +78 -83
  464. package/lib/modules/state-bar/index.js +23 -7
  465. package/lib/modules/state-bar/meeting-details.js +24 -12
  466. package/lib/modules/state-bar/meeting-network-state.js +1 -1
  467. package/lib/modules/state-bar/store.d.ts +20 -10
  468. package/lib/modules/state-bar/store.js +84 -87
  469. package/lib/modules/state-bar/view.js +2 -2
  470. package/lib/modules/video-window/deviceState/index.d.ts +2 -2
  471. package/lib/modules/video-window/deviceState/index.js +4 -6
  472. package/lib/modules/video-window/index.css +1 -4
  473. package/lib/modules/video-window/index.d.ts +33 -6
  474. package/lib/modules/video-window/index.js +63 -15
  475. package/lib/modules/video-window/members/index.css +1 -0
  476. package/lib/modules/video-window/members/index.js +25 -11
  477. package/lib/modules/video-window/store.d.ts +58 -27
  478. package/lib/modules/video-window/store.js +166 -161
  479. package/lib/modules/waiting-room-layout/index.d.ts +11 -4
  480. package/lib/modules/waiting-room-layout/index.js +26 -13
  481. package/lib/modules/waiting-room-layout/store.d.ts +6 -3
  482. package/lib/modules/waiting-room-layout/store.js +17 -15
  483. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -4
  484. package/lib/modules/whiteboard/components/control-bar/store.js +8 -8
  485. package/lib/modules/whiteboard/index.d.ts +20 -14
  486. package/lib/modules/whiteboard/index.js +250 -223
  487. package/lib/modules/whiteboard/view.d.ts +2 -0
  488. package/lib/modules/whiteboard/view.js +49 -0
  489. package/lib/plugins/browser-runtime-plugin.js +5 -1
  490. package/lib/providers/chat-provider.d.ts +71 -0
  491. package/lib/providers/chat-provider.js +91 -0
  492. package/lib/providers/device-privilege-provider.d.ts +52 -6
  493. package/lib/providers/device-privilege-provider.js +212 -183
  494. package/lib/providers/device-provider.d.ts +203 -45
  495. package/lib/providers/device-provider.js +486 -398
  496. package/lib/providers/device-stream-provider.d.ts +12 -13
  497. package/lib/providers/device-stream-provider.js +86 -193
  498. package/lib/providers/dialog-provider.d.ts +135 -0
  499. package/lib/providers/dialog-provider.js +204 -0
  500. package/lib/providers/event-provider.d.ts +1 -21
  501. package/lib/providers/event-provider.js +19 -57
  502. package/lib/providers/interpreter-provider.d.ts +218 -7
  503. package/lib/providers/interpreter-provider.js +1072 -80
  504. package/lib/providers/local-storage-provider.d.ts +9 -0
  505. package/lib/providers/message-provider.d.ts +69 -0
  506. package/lib/providers/message-provider.js +98 -0
  507. package/lib/providers/monitor-provider.d.ts +5 -0
  508. package/lib/providers/phone-audio-provider.d.ts +131 -0
  509. package/lib/providers/phone-audio-provider.js +515 -0
  510. package/lib/providers/privilege-provider.d.ts +325 -12
  511. package/lib/providers/privilege-provider.js +111 -295
  512. package/lib/providers/renderer-provider.d.ts +46 -4
  513. package/lib/providers/renderer-provider.js +57 -60
  514. package/lib/providers/room-provider.d.ts +113 -6
  515. package/lib/providers/room-provider.js +667 -87
  516. package/lib/providers/screen-share-provider.d.ts +65 -0
  517. package/lib/providers/screen-share-provider.js +238 -0
  518. package/lib/providers/session-provider.d.ts +30 -0
  519. package/lib/runtime.d.ts +2 -0
  520. package/lib/scenes/main-scene.d.ts +41 -3
  521. package/lib/scenes/main-scene.js +407 -246
  522. package/lib/scenes/waiting-scene.d.ts +34 -4
  523. package/lib/scenes/waiting-scene.js +163 -56
  524. package/lib/shared-data-source/chat-data.d.ts +14 -0
  525. package/lib/shared-data-source/chat-data.js +130 -0
  526. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  527. package/lib/shared-data-source/device-privilege-data.js +25 -0
  528. package/lib/shared-data-source/interpreter.d.ts +63 -0
  529. package/lib/shared-data-source/interpreter.js +248 -0
  530. package/lib/shared-data-source/layout-data.d.ts +29 -0
  531. package/lib/shared-data-source/layout-data.js +181 -0
  532. package/lib/shared-data-source/pin-data.d.ts +9 -0
  533. package/lib/shared-data-source/pin-data.js +24 -0
  534. package/lib/shared-data-source/setting.d.ts +32 -0
  535. package/lib/shared-data-source/setting.js +153 -0
  536. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  537. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  538. package/lib/shared-data-source/video-window.d.ts +161 -0
  539. package/lib/shared-data-source/video-window.js +1202 -0
  540. package/lib/shared-data-source/waiting-room.d.ts +19 -0
  541. package/lib/shared-data-source/waiting-room.js +158 -0
  542. package/lib/translations/enUS.d.ts +43 -17
  543. package/lib/translations/enUS.js +59 -33
  544. package/lib/translations/zhCN.d.ts +43 -17
  545. package/lib/translations/zhCN.js +57 -31
  546. package/lib/type.d.ts +270 -25
  547. package/lib/type.js +67 -2
  548. package/lib/ui-manager.d.ts +20 -16
  549. package/lib/ui-manager.js +59 -795
  550. package/lib/ui-scene.d.ts +6 -1
  551. package/lib/ui-scene.js +372 -42
  552. package/lib/utilities/constant.d.ts +63 -86
  553. package/lib/utilities/constant.js +151 -175
  554. package/lib/utilities/copyText.js +8 -7
  555. package/lib/utilities/extract.d.ts +1 -1
  556. package/lib/utilities/privilege.d.ts +4 -0
  557. package/lib/utilities/privilege.js +31 -0
  558. package/lib/utilities/setting-config-storage.d.ts +12 -0
  559. package/lib/utilities/setting-config-storage.js +102 -0
  560. package/lib/utilities/tools.d.ts +35 -3
  561. package/lib/utilities/tools.js +104 -2
  562. package/lib/utilities/video-track-render-context.d.ts +3 -4
  563. package/lib/utilities/video-track-render-context.js +1 -1
  564. package/package.json +5 -5
  565. package/public/assets/full-screen-error-boundary-img.png +0 -0
  566. package/public/assets/leave-meeting.png +0 -0
  567. package/public/index.html +24 -14
@@ -23,12 +23,18 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
23
23
  var _imports = require("fcr-core/lib/imports");
24
24
  var _base = require("../base");
25
25
  var _fcrCore = require("fcr-core");
26
+ var _type = require("fcr-core/lib/room-control/privilege-control/type");
27
+ var _privilege = require("../utilities/privilege");
26
28
  var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl = /*#__PURE__*/function () {
27
29
  function FcrUIDevicePrivilegeProviderImpl(_privilegeControl, _streamControl, _userControl) {
28
30
  var _this = this;
29
31
  (0, _classCallCheck2["default"])(this, FcrUIDevicePrivilegeProviderImpl);
30
32
  (0, _defineProperty2["default"])(this, "_firstGetMicrophonePrivilege", true);
31
33
  (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
34
+ (0, _defineProperty2["default"])(this, "_alwaysHasCameraPrivilege", false);
35
+ (0, _defineProperty2["default"])(this, "_alwaysHasMicrophonePrivilege", false);
36
+ (0, _defineProperty2["default"])(this, "_autoUpdateVideoStreamPrivilege", true);
37
+ (0, _defineProperty2["default"])(this, "_autoUpdateAudioStreamPrivilege", true);
32
38
  this._privilegeControl = _privilegeControl;
33
39
  this._streamControl = _streamControl;
34
40
  this._userControl = _userControl;
@@ -36,155 +42,183 @@ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl
36
42
  this._privilegeObserver = {
37
43
  onLocalUserPermissionInfoAdded: function () {
38
44
  var _onLocalUserPermissionInfoAdded = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(roomId, event) {
39
- var hasVideoPermission, hasAudioPermission, localStream, hasVideo, hasAudio;
45
+ var hasVideoPermission, localStream, hasVideo, hasAudioPermission, _localStream, hasAudio;
40
46
  return _regenerator["default"].wrap(function _callee$(_context) {
41
47
  while (1) switch (_context.prev = _context.next) {
42
48
  case 0:
43
- hasVideoPermission = event.permissionInfo.find(function (permissionInfo) {
44
- var _permissionInfo$info;
45
- ((_permissionInfo$info = permissionInfo.info) === null || _permissionInfo$info === void 0 ? void 0 : _permissionInfo$info.action) === _fcrCore.FcrPermissionAction.StreamStartVideo;
46
- });
47
- hasAudioPermission = event.permissionInfo.find(function (permissionInfo) {
48
- var _permissionInfo$info2;
49
- ((_permissionInfo$info2 = permissionInfo.info) === null || _permissionInfo$info2 === void 0 ? void 0 : _permissionInfo$info2.action) === _fcrCore.FcrPermissionAction.StreamStartAudio;
50
- });
49
+ if (!_this._autoUpdateVideoStreamPrivilege) {
50
+ _context.next = 13;
51
+ break;
52
+ }
53
+ hasVideoPermission = (0, _privilege.hasPermissionWithTargetRoleEnabled)(event.permissionInfo, _fcrCore.FcrPermissionAction.StreamStartVideo, _type.FcrPrivilegeUserRole.SELF);
51
54
  localStream = _this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
52
55
  return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
53
56
  });
54
57
  hasVideo = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.VIDEO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
55
- hasAudio = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.AUDIO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
56
58
  if (!hasVideoPermission) {
57
- _context.next = 17;
59
+ _context.next = 13;
58
60
  break;
59
61
  }
60
62
  if (!(!hasVideo && localStream)) {
61
- _context.next = 16;
63
+ _context.next = 13;
62
64
  break;
63
65
  }
64
- _context.prev = 7;
65
- _context.next = 10;
66
+ _context.prev = 6;
67
+ _context.next = 9;
66
68
  return _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
67
69
  videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
68
70
  audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
69
71
  }));
70
- case 10:
71
- _context.next = 16;
72
+ case 9:
73
+ _context.next = 13;
72
74
  break;
73
- case 12:
74
- _context.prev = 12;
75
- _context.t0 = _context["catch"](7);
76
- _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
77
- return _context.abrupt("return");
78
- case 16:
79
- _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', true);
80
- case 17:
75
+ case 11:
76
+ _context.prev = 11;
77
+ _context.t0 = _context["catch"](6);
78
+ case 13:
79
+ if (!_this._autoUpdateAudioStreamPrivilege) {
80
+ _context.next = 26;
81
+ break;
82
+ }
83
+ hasAudioPermission = (0, _privilege.hasPermissionWithTargetRoleEnabled)(event.permissionInfo, _fcrCore.FcrPermissionAction.StreamStartAudio, _type.FcrPrivilegeUserRole.SELF);
84
+ _localStream = _this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
85
+ return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
86
+ });
87
+ hasAudio = (_localStream === null || _localStream === void 0 ? void 0 : _localStream.streamType) === _fcrCore.FcrStreamType.AUDIO || (_localStream === null || _localStream === void 0 ? void 0 : _localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
81
88
  if (!hasAudioPermission) {
82
- _context.next = 29;
89
+ _context.next = 26;
83
90
  break;
84
91
  }
85
- if (!(!hasAudio && localStream)) {
86
- _context.next = 28;
92
+ if (!(!hasAudio && _localStream)) {
93
+ _context.next = 26;
87
94
  break;
88
95
  }
89
96
  _context.prev = 19;
90
97
  _context.next = 22;
91
- return _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
98
+ return _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, _localStream.streamId, {
92
99
  videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
93
100
  audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
94
101
  }));
95
102
  case 22:
96
- _context.next = 28;
103
+ _context.next = 26;
97
104
  break;
98
105
  case 24:
99
106
  _context.prev = 24;
100
107
  _context.t1 = _context["catch"](19);
101
- _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
102
- return _context.abrupt("return");
103
- case 28:
104
- _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', true);
105
- case 29:
108
+ case 26:
106
109
  case "end":
107
110
  return _context.stop();
108
111
  }
109
- }, _callee, null, [[7, 12], [19, 24]]);
112
+ }, _callee, null, [[6, 11], [19, 24]]);
110
113
  }));
111
114
  function onLocalUserPermissionInfoAdded(_x, _x2) {
112
115
  return _onLocalUserPermissionInfoAdded.apply(this, arguments);
113
116
  }
114
117
  return onLocalUserPermissionInfoAdded;
115
- }(),
116
- onLocalUserPermissionInfoDeleted: function () {
117
- var _onLocalUserPermissionInfoDeleted = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(roomId, event) {
118
- var hasVideoPermission, hasAudioPermission;
119
- return _regenerator["default"].wrap(function _callee2$(_context2) {
120
- while (1) switch (_context2.prev = _context2.next) {
121
- case 0:
122
- hasVideoPermission = event.permissionInfo.find(function (permissionInfo) {
123
- var _permissionInfo$info3;
124
- ((_permissionInfo$info3 = permissionInfo.info) === null || _permissionInfo$info3 === void 0 ? void 0 : _permissionInfo$info3.action) === _fcrCore.FcrPermissionAction.StreamStartVideo;
125
- });
126
- hasAudioPermission = event.permissionInfo.find(function (permissionInfo) {
127
- var _permissionInfo$info4;
128
- ((_permissionInfo$info4 = permissionInfo.info) === null || _permissionInfo$info4 === void 0 ? void 0 : _permissionInfo$info4.action) === _fcrCore.FcrPermissionAction.StreamStartAudio;
129
- });
130
- if (hasVideoPermission) {
131
- _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
132
- }
133
- if (hasAudioPermission) {
134
- _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
135
- }
136
- case 4:
137
- case "end":
138
- return _context2.stop();
139
- }
140
- }, _callee2);
141
- }));
142
- function onLocalUserPermissionInfoDeleted(_x3, _x4) {
143
- return _onLocalUserPermissionInfoDeleted.apply(this, arguments);
144
- }
145
- return onLocalUserPermissionInfoDeleted;
146
118
  }()
119
+ // onLocalUserPermissionInfoDeleted: async (roomId, event) => {
120
+ // const localStream = this._streamControl
121
+ // .getStreamsByUserId(localUserId)
122
+ // .find((stream) => stream.videoSourceType === AgoraRtcVideoSourceType.CAMERA);
123
+
124
+ // let videoPrivilege = FcrStreamPrivilegeOperation.NOOPERATION;
125
+ // let audioPrivilege = FcrStreamPrivilegeOperation.NOOPERATION;
126
+
127
+ // if (this._autoUpdateVideoStreamPrivilege) {
128
+ // const videoPermissionHasBeenRemoved = event.permissionInfo.find((permissionInfo) => {
129
+ // return permissionInfo.info?.action === FcrPermissionAction.StreamStartVideo;
130
+ // });
131
+
132
+ // videoPrivilege = videoPermissionHasBeenRemoved
133
+ // ? FcrStreamPrivilegeOperation.NOPRIVILEGE
134
+ // : FcrStreamPrivilegeOperation.NOOPERATION;
135
+ // }
136
+
137
+ // if (this._autoUpdateAudioStreamPrivilege) {
138
+ // const audioPermissionHasBeenRemoved = event.permissionInfo.find((permissionInfo) => {
139
+ // return permissionInfo.info?.action === FcrPermissionAction.StreamStartAudio;
140
+ // });
141
+
142
+ // audioPrivilege = audioPermissionHasBeenRemoved
143
+ // ? FcrStreamPrivilegeOperation.NOPRIVILEGE
144
+ // : FcrStreamPrivilegeOperation.NOOPERATION;
145
+ // }
146
+
147
+ // if (
148
+ // localStream &&
149
+ // (videoPrivilege !== FcrStreamPrivilegeOperation.NOOPERATION ||
150
+ // audioPrivilege !== FcrStreamPrivilegeOperation.NOOPERATION)
151
+ // ) {
152
+ // try {
153
+ // await this._streamControl.updatePublishPrivilegeOfStreams({
154
+ // [localStream.streamId]: {
155
+ // videoPrivilege,
156
+ // audioPrivilege,
157
+ // },
158
+ // });
159
+ // } catch (e) {}
160
+ // }
161
+ // },
147
162
  };
148
163
  this._streamObserver = {
149
164
  onStreamsUpdated: function () {
150
- var _onStreamsUpdated = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomId, events) {
151
- return _regenerator["default"].wrap(function _callee3$(_context3) {
152
- while (1) switch (_context3.prev = _context3.next) {
165
+ var _onStreamsUpdated = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(roomId, events) {
166
+ var hasVideoPermission, hasAudioPermission;
167
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
168
+ while (1) switch (_context2.prev = _context2.next) {
153
169
  case 0:
170
+ hasVideoPermission = (0, _privilege.hasPermissionWithTargetRoleEnabled)(_this._privilegeControl.getAllLocalUserPermissionInfo(), _fcrCore.FcrPermissionAction.StreamStartVideo, _type.FcrPrivilegeUserRole.SELF);
171
+ hasAudioPermission = (0, _privilege.hasPermissionWithTargetRoleEnabled)(_this._privilegeControl.getAllLocalUserPermissionInfo(), _fcrCore.FcrPermissionAction.StreamStartAudio, _type.FcrPrivilegeUserRole.SELF);
154
172
  events.forEach(function (event) {
155
173
  var stream = event.modifiedStream;
156
174
  if (stream.owner.userId === localUserId && stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA) {
157
- if (stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.AUDIO) {
158
- _this._observable.notifyObservers('onCameraNeedClosed');
159
- }
160
- if (stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.VIDEO) {
161
- _this._observable.notifyObservers('onMicrophoneNeedClosed');
162
- }
175
+ var hasNoVideo = stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.AUDIO;
176
+ var hasNoAudio = stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.VIDEO;
163
177
  var hasVideo = stream.streamType === _fcrCore.FcrStreamType.VIDEO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
164
178
  var hasAudio = stream.streamType === _fcrCore.FcrStreamType.AUDIO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
165
- if (!hasVideo) {
166
- _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
179
+ if (!_this._alwaysHasCameraPrivilege) {
180
+ _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', hasVideo);
181
+ if (hasNoVideo) {
182
+ _this._observable.notifyObservers('onCameraNeedClosed');
183
+ }
184
+ }
185
+ if (!_this._alwaysHasMicrophonePrivilege) {
186
+ _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', hasAudio);
187
+ if (hasNoAudio) {
188
+ _this._observable.notifyObservers('onMicrophoneNeedClosed');
189
+ }
167
190
  }
168
- if (!hasAudio) {
169
- _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
191
+ var videoPrivilege = _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION;
192
+ var audioPrivilege = _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION;
193
+
194
+ // 当前流需要变更视频权限
195
+ if (hasVideoPermission && !hasVideo) {
196
+ if (_this._autoUpdateVideoStreamPrivilege) {
197
+ videoPrivilege = hasVideoPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION;
198
+ }
170
199
  }
171
- var hasVideoPermission = _this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartVideo).enable;
172
- var hasAudioPermission = _this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartAudio).enable;
173
- if (hasVideoPermission && !hasVideo || hasAudioPermission && !hasAudio) {
200
+ // 当前流需要变更音频权限
201
+ if (hasAudioPermission && !hasAudio) {
202
+ if (_this._autoUpdateAudioStreamPrivilege) {
203
+ audioPrivilege = hasAudioPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION;
204
+ }
205
+ }
206
+ // 更新流权限
207
+ if (videoPrivilege !== _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION || audioPrivilege !== _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION) {
174
208
  _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, stream.streamId, {
175
- videoPrivilege: hasVideoPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
176
- audioPrivilege: hasAudioPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
209
+ videoPrivilege: videoPrivilege,
210
+ audioPrivilege: audioPrivilege
177
211
  }));
178
212
  }
179
213
  }
180
214
  });
181
- case 1:
215
+ case 3:
182
216
  case "end":
183
- return _context3.stop();
217
+ return _context2.stop();
184
218
  }
185
- }, _callee3);
219
+ }, _callee2);
186
220
  }));
187
- function onStreamsUpdated(_x5, _x6) {
221
+ function onStreamsUpdated(_x3, _x4) {
188
222
  return _onStreamsUpdated.apply(this, arguments);
189
223
  }
190
224
  return onStreamsUpdated;
@@ -200,86 +234,84 @@ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl
200
234
  }
201
235
  }, {
202
236
  key: "setAlwaysHasCameraPrivilege",
203
- value: function () {
204
- var _setAlwaysHasCameraPrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
205
- return _regenerator["default"].wrap(function _callee4$(_context4) {
206
- while (1) switch (_context4.prev = _context4.next) {
207
- case 0:
208
- return _context4.abrupt("return", false);
209
- case 1:
210
- case "end":
211
- return _context4.stop();
212
- }
213
- }, _callee4);
214
- }));
215
- function setAlwaysHasCameraPrivilege() {
216
- return _setAlwaysHasCameraPrivilege.apply(this, arguments);
217
- }
218
- return setAlwaysHasCameraPrivilege;
219
- }()
237
+ value: function setAlwaysHasCameraPrivilege(enable) {
238
+ this._alwaysHasCameraPrivilege = enable;
239
+ }
240
+ }, {
241
+ key: "setAlwaysHasMicrophonePrivilege",
242
+ value: function setAlwaysHasMicrophonePrivilege(enable) {
243
+ this._alwaysHasMicrophonePrivilege = enable;
244
+ }
245
+ }, {
246
+ key: "setAutoUpdateVideoStreamPrivilege",
247
+ value: function setAutoUpdateVideoStreamPrivilege(enable) {
248
+ this._autoUpdateVideoStreamPrivilege = enable;
249
+ }
250
+ }, {
251
+ key: "setAutoUpdateAudioStreamPrivilege",
252
+ value: function setAutoUpdateAudioStreamPrivilege(enable) {
253
+ this._autoUpdateAudioStreamPrivilege = enable;
254
+ }
220
255
  }, {
221
256
  key: "hasOpenCameraPrivilege",
222
257
  value: function () {
223
- var _hasOpenCameraPrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
224
- var permissionInfo, localUserId, localStream, hasVideo;
225
- return _regenerator["default"].wrap(function _callee5$(_context5) {
226
- while (1) switch (_context5.prev = _context5.next) {
258
+ var _hasOpenCameraPrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
259
+ var permissionInfo, hasVideoPermission, localUserId, localStream, hasVideo;
260
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
261
+ while (1) switch (_context3.prev = _context3.next) {
227
262
  case 0:
263
+ if (!this._alwaysHasCameraPrivilege) {
264
+ _context3.next = 2;
265
+ break;
266
+ }
267
+ return _context3.abrupt("return", true);
268
+ case 2:
228
269
  permissionInfo = this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartVideo);
270
+ hasVideoPermission = (0, _privilege.isPermissionWithTargetRoleEnabled)(permissionInfo, _type.FcrPrivilegeUserRole.SELF);
229
271
  localUserId = this._userControl.getLocalUser().userId;
230
272
  localStream = this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
231
273
  return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
232
274
  });
233
275
  hasVideo = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.VIDEO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
234
- if (!permissionInfo.enable) {
235
- _context5.next = 21;
276
+ if (!hasVideoPermission) {
277
+ _context3.next = 24;
236
278
  break;
237
279
  }
238
280
  if (!hasVideo) {
239
- _context5.next = 9;
281
+ _context3.next = 12;
240
282
  break;
241
283
  }
242
- return _context5.abrupt("return", true);
243
- case 9:
284
+ return _context3.abrupt("return", true);
285
+ case 12:
244
286
  if (!localStream) {
245
- _context5.next = 18;
287
+ _context3.next = 21;
246
288
  break;
247
289
  }
248
- _context5.prev = 10;
249
- _context5.next = 13;
290
+ _context3.prev = 13;
291
+ _context3.next = 16;
250
292
  return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
251
293
  videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
252
294
  audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
253
295
  }));
254
- case 13:
255
- _context5.next = 18;
296
+ case 16:
297
+ _context3.next = 21;
256
298
  break;
257
- case 15:
258
- _context5.prev = 15;
259
- _context5.t0 = _context5["catch"](10);
260
- return _context5.abrupt("return", false);
261
299
  case 18:
262
- return _context5.abrupt("return", true);
263
- case 19:
264
- _context5.next = 25;
265
- break;
300
+ _context3.prev = 18;
301
+ _context3.t0 = _context3["catch"](13);
302
+ return _context3.abrupt("return", false);
266
303
  case 21:
267
- if (!hasVideo) {
268
- _context5.next = 24;
269
- break;
270
- }
271
- _context5.next = 24;
272
- return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
273
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
274
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
275
- }));
304
+ return _context3.abrupt("return", true);
305
+ case 22:
306
+ _context3.next = 25;
307
+ break;
276
308
  case 24:
277
- return _context5.abrupt("return", false);
309
+ return _context3.abrupt("return", false);
278
310
  case 25:
279
311
  case "end":
280
- return _context5.stop();
312
+ return _context3.stop();
281
313
  }
282
- }, _callee5, this, [[10, 15]]);
314
+ }, _callee3, this, [[13, 18]]);
283
315
  }));
284
316
  function hasOpenCameraPrivilege() {
285
317
  return _hasOpenCameraPrivilege.apply(this, arguments);
@@ -289,82 +321,79 @@ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl
289
321
  }, {
290
322
  key: "hasOpenMicrophonePrivilege",
291
323
  value: function () {
292
- var _hasOpenMicrophonePrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
293
- var permissionInfo, localUserId, localStream, hasAudio;
294
- return _regenerator["default"].wrap(function _callee6$(_context6) {
295
- while (1) switch (_context6.prev = _context6.next) {
324
+ var _hasOpenMicrophonePrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
325
+ var permissionInfo, hasAudioPermission, localUserId, localStream, hasAudio;
326
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
327
+ while (1) switch (_context4.prev = _context4.next) {
296
328
  case 0:
329
+ if (!this._alwaysHasMicrophonePrivilege) {
330
+ _context4.next = 2;
331
+ break;
332
+ }
333
+ return _context4.abrupt("return", true);
334
+ case 2:
297
335
  permissionInfo = this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartAudio);
336
+ hasAudioPermission = (0, _privilege.isPermissionWithTargetRoleEnabled)(permissionInfo, _type.FcrPrivilegeUserRole.SELF);
298
337
  localUserId = this._userControl.getLocalUser().userId;
299
338
  localStream = this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
300
339
  return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
301
340
  });
302
341
  hasAudio = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.AUDIO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
303
342
  if (!this._firstGetMicrophonePrivilege) {
304
- _context6.next = 13;
343
+ _context4.next = 16;
305
344
  break;
306
345
  }
307
346
  this._firstGetMicrophonePrivilege = false;
308
347
  if (!hasAudio) {
309
- _context6.next = 10;
348
+ _context4.next = 13;
310
349
  break;
311
350
  }
312
- return _context6.abrupt("return", true);
313
- case 10:
314
- return _context6.abrupt("return", false);
315
- case 11:
316
- _context6.next = 34;
317
- break;
351
+ return _context4.abrupt("return", true);
318
352
  case 13:
319
- if (!permissionInfo.enable) {
320
- _context6.next = 30;
353
+ return _context4.abrupt("return", false);
354
+ case 14:
355
+ _context4.next = 34;
356
+ break;
357
+ case 16:
358
+ if (!hasAudioPermission) {
359
+ _context4.next = 33;
321
360
  break;
322
361
  }
323
362
  if (!hasAudio) {
324
- _context6.next = 18;
363
+ _context4.next = 21;
325
364
  break;
326
365
  }
327
- return _context6.abrupt("return", true);
328
- case 18:
366
+ return _context4.abrupt("return", true);
367
+ case 21:
329
368
  if (!localStream) {
330
- _context6.next = 27;
369
+ _context4.next = 30;
331
370
  break;
332
371
  }
333
- _context6.prev = 19;
334
- _context6.next = 22;
372
+ _context4.prev = 22;
373
+ _context4.next = 25;
335
374
  return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
336
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
337
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
375
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
376
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
338
377
  }));
339
- case 22:
340
- _context6.next = 27;
378
+ case 25:
379
+ _context4.next = 30;
341
380
  break;
342
- case 24:
343
- _context6.prev = 24;
344
- _context6.t0 = _context6["catch"](19);
345
- return _context6.abrupt("return", false);
346
381
  case 27:
347
- return _context6.abrupt("return", true);
348
- case 28:
349
- _context6.next = 34;
350
- break;
382
+ _context4.prev = 27;
383
+ _context4.t0 = _context4["catch"](22);
384
+ return _context4.abrupt("return", false);
351
385
  case 30:
352
- if (!hasAudio) {
353
- _context6.next = 33;
354
- break;
355
- }
356
- _context6.next = 33;
357
- return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
358
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
359
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
360
- }));
386
+ return _context4.abrupt("return", true);
387
+ case 31:
388
+ _context4.next = 34;
389
+ break;
361
390
  case 33:
362
- return _context6.abrupt("return", false);
391
+ return _context4.abrupt("return", false);
363
392
  case 34:
364
393
  case "end":
365
- return _context6.stop();
394
+ return _context4.stop();
366
395
  }
367
- }, _callee6, this, [[19, 24]]);
396
+ }, _callee4, this, [[22, 27]]);
368
397
  }));
369
398
  function hasOpenMicrophonePrivilege() {
370
399
  return _hasOpenMicrophonePrivilege.apply(this, arguments);