@webex/plugin-meetings 3.0.0-beta.9 → 3.0.0-bnr.0

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 (1033) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +178 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +843 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +56 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.d.ts +9 -0
  16. package/dist/common/browser-detection.js +1 -20
  17. package/dist/common/browser-detection.js.map +1 -1
  18. package/dist/common/collection.d.ts +48 -0
  19. package/dist/common/collection.js +5 -20
  20. package/dist/common/collection.js.map +1 -1
  21. package/dist/common/config.d.ts +2 -0
  22. package/dist/common/config.js +0 -7
  23. package/dist/common/config.js.map +1 -1
  24. package/dist/common/errors/captcha-error.d.ts +15 -0
  25. package/dist/common/errors/captcha-error.js +5 -26
  26. package/dist/common/errors/captcha-error.js.map +1 -1
  27. package/dist/common/errors/intent-to-join.d.ts +16 -0
  28. package/dist/common/errors/intent-to-join.js +5 -26
  29. package/dist/common/errors/intent-to-join.js.map +1 -1
  30. package/dist/common/errors/join-meeting.d.ts +17 -0
  31. package/dist/common/errors/join-meeting.js +6 -27
  32. package/dist/common/errors/join-meeting.js.map +1 -1
  33. package/dist/common/errors/media.d.ts +15 -0
  34. package/dist/common/errors/media.js +5 -26
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/parameter.d.ts +15 -0
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.d.ts +15 -0
  40. package/dist/common/errors/password-error.js +5 -26
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.d.ts +14 -0
  43. package/dist/common/errors/permission.js +4 -25
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  46. package/dist/common/errors/reconnection-in-progress.js +0 -17
  47. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  48. package/dist/common/errors/reconnection.d.ts +15 -0
  49. package/dist/common/errors/reconnection.js +5 -26
  50. package/dist/common/errors/reconnection.js.map +1 -1
  51. package/dist/common/errors/stats.d.ts +15 -0
  52. package/dist/common/errors/stats.js +5 -26
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.d.ts +81 -0
  55. package/dist/common/errors/webex-errors.js +6 -41
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  58. package/dist/common/errors/webex-meetings-error.js +1 -24
  59. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  60. package/dist/common/events/events-scope.d.ts +17 -0
  61. package/dist/common/events/events-scope.js +0 -22
  62. package/dist/common/events/events-scope.js.map +1 -1
  63. package/dist/common/events/events.d.ts +12 -0
  64. package/dist/common/events/events.js +0 -23
  65. package/dist/common/events/events.js.map +1 -1
  66. package/dist/common/events/trigger-proxy.d.ts +2 -0
  67. package/dist/common/events/trigger-proxy.js +0 -12
  68. package/dist/common/events/trigger-proxy.js.map +1 -1
  69. package/dist/common/events/util.d.ts +2 -0
  70. package/dist/common/events/util.js +0 -15
  71. package/dist/common/events/util.js.map +1 -1
  72. package/dist/common/logs/logger-config.d.ts +2 -0
  73. package/dist/common/logs/logger-config.js +0 -4
  74. package/dist/common/logs/logger-config.js.map +1 -1
  75. package/dist/common/logs/logger-proxy.d.ts +2 -0
  76. package/dist/common/logs/logger-proxy.js +1 -8
  77. package/dist/common/logs/logger-proxy.js.map +1 -1
  78. package/dist/common/logs/request.d.ts +34 -0
  79. package/dist/common/logs/request.js +35 -61
  80. package/dist/common/logs/request.js.map +1 -1
  81. package/dist/common/queue.d.ts +32 -0
  82. package/dist/common/queue.js +4 -14
  83. package/dist/common/queue.js.map +1 -1
  84. package/dist/config.d.ts +73 -0
  85. package/dist/config.js +6 -6
  86. package/dist/config.js.map +1 -1
  87. package/dist/constants.d.ts +924 -0
  88. package/dist/constants.js +143 -52
  89. package/dist/constants.js.map +1 -1
  90. package/dist/controls-options-manager/constants.d.ts +4 -0
  91. package/dist/controls-options-manager/constants.js +14 -0
  92. package/dist/controls-options-manager/constants.js.map +1 -0
  93. package/dist/controls-options-manager/enums.d.ts +5 -0
  94. package/dist/controls-options-manager/enums.js +16 -0
  95. package/dist/controls-options-manager/enums.js.map +1 -0
  96. package/dist/controls-options-manager/index.d.ts +120 -0
  97. package/dist/controls-options-manager/index.js +261 -0
  98. package/dist/controls-options-manager/index.js.map +1 -0
  99. package/dist/controls-options-manager/util.d.ts +7 -0
  100. package/dist/controls-options-manager/util.js +39 -0
  101. package/dist/controls-options-manager/util.js.map +1 -0
  102. package/dist/docs/markdown/index.md +12 -0
  103. package/dist/docs/markdown/plugin-meetings.constants._active_.md +11 -0
  104. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +11 -0
  105. package/dist/docs/markdown/plugin-meetings.constants._call_.md +11 -0
  106. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +11 -0
  107. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +11 -0
  108. package/dist/docs/markdown/plugin-meetings.constants._created_.md +11 -0
  109. package/dist/docs/markdown/plugin-meetings.constants._error_.md +11 -0
  110. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +11 -0
  111. package/dist/docs/markdown/plugin-meetings.constants._id_.md +11 -0
  112. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +11 -0
  113. package/dist/docs/markdown/plugin-meetings.constants._in_.md +11 -0
  114. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +11 -0
  115. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +11 -0
  116. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +11 -0
  117. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +11 -0
  118. package/dist/docs/markdown/plugin-meetings.constants._join_.md +11 -0
  119. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +11 -0
  120. package/dist/docs/markdown/plugin-meetings.constants._left_.md +11 -0
  121. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +11 -0
  122. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +11 -0
  123. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +11 -0
  124. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +11 -0
  125. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +11 -0
  126. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +11 -0
  127. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +11 -0
  128. package/dist/docs/markdown/plugin-meetings.constants._none_.md +11 -0
  129. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +11 -0
  130. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +11 -0
  131. package/dist/docs/markdown/plugin-meetings.constants._people_.md +11 -0
  132. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +11 -0
  133. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +11 -0
  134. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +11 -0
  135. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +11 -0
  136. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +11 -0
  137. package/dist/docs/markdown/plugin-meetings.constants._room_.md +11 -0
  138. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +11 -0
  139. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +11 -0
  140. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +11 -0
  141. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +11 -0
  142. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +11 -0
  143. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +11 -0
  144. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +11 -0
  145. package/dist/docs/markdown/plugin-meetings.constants._user_.md +11 -0
  146. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +11 -0
  147. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +11 -0
  148. package/dist/docs/markdown/plugin-meetings.constants.alert.md +11 -0
  149. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +11 -0
  150. package/dist/docs/markdown/plugin-meetings.constants.answer.md +11 -0
  151. package/dist/docs/markdown/plugin-meetings.constants.api.md +14 -0
  152. package/dist/docs/markdown/plugin-meetings.constants.audio.md +11 -0
  153. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +11 -0
  154. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +11 -0
  155. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +60 -0
  156. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +16 -0
  157. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +51 -0
  158. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +11 -0
  159. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +17 -0
  160. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +11 -0
  161. package/dist/docs/markdown/plugin-meetings.constants.call.md +11 -0
  162. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +15 -0
  163. package/dist/docs/markdown/plugin-meetings.constants.claim.md +11 -0
  164. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +11 -0
  165. package/dist/docs/markdown/plugin-meetings.constants.complete.md +11 -0
  166. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +18 -0
  167. package/dist/docs/markdown/plugin-meetings.constants.content.md +11 -0
  168. package/dist/docs/markdown/plugin-meetings.constants.controls.md +11 -0
  169. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +11 -0
  170. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +11 -0
  171. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +11 -0
  172. package/dist/docs/markdown/plugin-meetings.constants.decline.md +11 -0
  173. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +11 -0
  174. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +13 -0
  175. package/dist/docs/markdown/plugin-meetings.constants.development.md +11 -0
  176. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +15 -0
  177. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +51 -0
  178. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +14 -0
  179. package/dist/docs/markdown/plugin-meetings.constants.end.md +11 -0
  180. package/dist/docs/markdown/plugin-meetings.constants.ended.md +11 -0
  181. package/dist/docs/markdown/plugin-meetings.constants.error.md +11 -0
  182. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +62 -0
  183. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +82 -0
  184. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +21 -0
  185. package/dist/docs/markdown/plugin-meetings.constants.events.md +26 -0
  186. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +15 -0
  187. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +17 -0
  188. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +11 -0
  189. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +11 -0
  190. package/dist/docs/markdown/plugin-meetings.constants.host.md +11 -0
  191. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +17 -0
  192. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +11 -0
  193. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +11 -0
  194. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +15 -0
  195. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +18 -0
  196. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +11 -0
  197. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +11 -0
  198. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +11 -0
  199. package/dist/docs/markdown/plugin-meetings.constants.join.md +11 -0
  200. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +13 -0
  201. package/dist/docs/markdown/plugin-meetings.constants.leave.md +11 -0
  202. package/dist/docs/markdown/plugin-meetings.constants.live.md +11 -0
  203. package/dist/docs/markdown/plugin-meetings.constants.local.md +11 -0
  204. package/dist/docs/markdown/plugin-meetings.constants.loci.md +11 -0
  205. package/dist/docs/markdown/plugin-meetings.constants.locus.md +26 -0
  206. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +11 -0
  207. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +33 -0
  208. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +43 -0
  209. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +11 -0
  210. package/dist/docs/markdown/plugin-meetings.constants.md +186 -0
  211. package/dist/docs/markdown/plugin-meetings.constants.media.md +11 -0
  212. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +15 -0
  213. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +11 -0
  214. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +14 -0
  215. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +17 -0
  216. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +14 -0
  217. package/dist/docs/markdown/plugin-meetings.constants.meet.md +11 -0
  218. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +11 -0
  219. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +20 -0
  220. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +14 -0
  221. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +102 -0
  222. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +16 -0
  223. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +19 -0
  224. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +25 -0
  225. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +31 -0
  226. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +20 -0
  227. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +11 -0
  228. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +11 -0
  229. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +11 -0
  230. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +11 -0
  231. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +11 -0
  232. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +11 -0
  233. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +82 -0
  234. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +15 -0
  235. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +16 -0
  236. package/dist/docs/markdown/plugin-meetings.constants.offline.md +11 -0
  237. package/dist/docs/markdown/plugin-meetings.constants.online.md +11 -0
  238. package/dist/docs/markdown/plugin-meetings.constants.participant.md +11 -0
  239. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +22 -0
  240. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +16 -0
  241. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +11 -0
  242. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +14 -0
  243. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +11 -0
  244. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +11 -0
  245. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +18 -0
  246. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +19 -0
  247. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +15 -0
  248. package/dist/docs/markdown/plugin-meetings.constants.ready.md +11 -0
  249. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +19 -0
  250. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +16 -0
  251. package/dist/docs/markdown/plugin-meetings.constants.remote.md +11 -0
  252. package/dist/docs/markdown/plugin-meetings.constants.resource.md +15 -0
  253. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +11 -0
  254. package/dist/docs/markdown/plugin-meetings.constants.roap.md +22 -0
  255. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +14 -0
  256. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +11 -0
  257. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +11 -0
  258. package/dist/docs/markdown/plugin-meetings.constants.share.md +11 -0
  259. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +11 -0
  260. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +16 -0
  261. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +14 -0
  262. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +11 -0
  263. package/dist/docs/markdown/plugin-meetings.constants.stats.md +16 -0
  264. package/dist/docs/markdown/plugin-meetings.constants.type.md +11 -0
  265. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +11 -0
  266. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +11 -0
  267. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +11 -0
  268. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +11 -0
  269. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +11 -0
  270. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +11 -0
  271. package/dist/docs/markdown/plugin-meetings.constants.video.md +11 -0
  272. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +11 -0
  273. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +24 -0
  274. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +11 -0
  275. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +11 -0
  276. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +11 -0
  277. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +11 -0
  278. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +11 -0
  279. package/dist/docs/markdown/plugin-meetings.md +28 -0
  280. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +21 -0
  281. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +28 -0
  282. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +28 -0
  283. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +32 -0
  284. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +11 -0
  285. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +11 -0
  286. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +11 -0
  287. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +11 -0
  288. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +30 -0
  289. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +19 -0
  290. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +38 -0
  291. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +13 -0
  292. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +21 -0
  293. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +21 -0
  294. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +21 -0
  295. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +26 -0
  296. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +19 -0
  297. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +11 -0
  298. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +11 -0
  299. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +11 -0
  300. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +26 -0
  301. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +28 -0
  302. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +11 -0
  303. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +11 -0
  304. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +11 -0
  305. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +11 -0
  306. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +11 -0
  307. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +11 -0
  308. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +11 -0
  309. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +11 -0
  310. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +19 -0
  311. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +11 -0
  312. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +11 -0
  313. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +11 -0
  314. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +21 -0
  315. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +29 -0
  316. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +11 -0
  317. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +11 -0
  318. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +29 -0
  319. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +32 -0
  320. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +17 -0
  321. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +13 -0
  322. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +17 -0
  323. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +17 -0
  324. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +15 -0
  325. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +15 -0
  326. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +21 -0
  327. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +24 -0
  328. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +24 -0
  329. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +16 -0
  330. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +17 -0
  331. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +11 -0
  332. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +26 -0
  333. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +13 -0
  334. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +11 -0
  335. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +11 -0
  336. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +11 -0
  337. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +11 -0
  338. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +11 -0
  339. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +33 -0
  340. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +21 -0
  341. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +21 -0
  342. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +21 -0
  343. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +11 -0
  344. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +11 -0
  345. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +19 -0
  346. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +11 -0
  347. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +11 -0
  348. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +23 -0
  349. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +21 -0
  350. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +21 -0
  351. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +21 -0
  352. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +28 -0
  353. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +11 -0
  354. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +36 -0
  355. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +11 -0
  356. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +11 -0
  357. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +31 -0
  358. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +21 -0
  359. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +11 -0
  360. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +11 -0
  361. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +11 -0
  362. package/dist/docs/markdown/plugin-meetings.meeting.default.md +227 -0
  363. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +11 -0
  364. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +11 -0
  365. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +13 -0
  366. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +11 -0
  367. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +16 -0
  368. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +11 -0
  369. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +11 -0
  370. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +11 -0
  371. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +11 -0
  372. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +11 -0
  373. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +11 -0
  374. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +11 -0
  375. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +11 -0
  376. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +28 -0
  377. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +28 -0
  378. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +29 -0
  379. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +21 -0
  380. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +21 -0
  381. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +11 -0
  382. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +11 -0
  383. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +11 -0
  384. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +11 -0
  385. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +11 -0
  386. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +11 -0
  387. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +34 -0
  388. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +11 -0
  389. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +11 -0
  390. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +21 -0
  391. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +11 -0
  392. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +11 -0
  393. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +13 -0
  394. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +33 -0
  395. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +11 -0
  396. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +11 -0
  397. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +28 -0
  398. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +11 -0
  399. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +11 -0
  400. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +11 -0
  401. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +21 -0
  402. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +11 -0
  403. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +28 -0
  404. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +11 -0
  405. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +11 -0
  406. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +11 -0
  407. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +11 -0
  408. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +21 -0
  409. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +11 -0
  410. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +11 -0
  411. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +11 -0
  412. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +28 -0
  413. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +29 -0
  414. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +26 -0
  415. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +17 -0
  416. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +17 -0
  417. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +17 -0
  418. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +24 -0
  419. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +24 -0
  420. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +28 -0
  421. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +28 -0
  422. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +26 -0
  423. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +31 -0
  424. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +21 -0
  425. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +28 -0
  426. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +26 -0
  427. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +26 -0
  428. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +26 -0
  429. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +17 -0
  430. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +17 -0
  431. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +17 -0
  432. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +24 -0
  433. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +24 -0
  434. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +19 -0
  435. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +11 -0
  436. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +13 -0
  437. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +32 -0
  438. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +11 -0
  439. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +11 -0
  440. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +11 -0
  441. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +11 -0
  442. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +13 -0
  443. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +11 -0
  444. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +21 -0
  445. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +29 -0
  446. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +11 -0
  447. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +11 -0
  448. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +13 -0
  449. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +19 -0
  450. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +21 -0
  451. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +28 -0
  452. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +28 -0
  453. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +28 -0
  454. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +11 -0
  455. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +29 -0
  456. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +11 -0
  457. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +21 -0
  458. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +21 -0
  459. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +21 -0
  460. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +26 -0
  461. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +21 -0
  462. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +21 -0
  463. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +21 -0
  464. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +26 -0
  465. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +19 -0
  466. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +34 -0
  467. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +19 -0
  468. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +32 -0
  469. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +11 -0
  470. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +35 -0
  471. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +34 -0
  472. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +28 -0
  473. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +28 -0
  474. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +11 -0
  475. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +35 -0
  476. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +11 -0
  477. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +11 -0
  478. package/dist/docs/markdown/plugin-meetings.meeting.md +18 -0
  479. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +17 -0
  480. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +22 -0
  481. package/dist/docs/markdown/plugin-meetings.meetings.create.md +30 -0
  482. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +19 -0
  483. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +11 -0
  484. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +31 -0
  485. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +19 -0
  486. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +19 -0
  487. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +29 -0
  488. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +21 -0
  489. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +21 -0
  490. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +19 -0
  491. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +11 -0
  492. package/dist/docs/markdown/plugin-meetings.meetings.md +57 -0
  493. package/dist/docs/markdown/plugin-meetings.meetings.media.md +11 -0
  494. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +11 -0
  495. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +11 -0
  496. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +11 -0
  497. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +11 -0
  498. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +11 -0
  499. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +11 -0
  500. package/dist/docs/markdown/plugin-meetings.meetings.register.md +21 -0
  501. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +11 -0
  502. package/dist/docs/markdown/plugin-meetings.meetings.request.md +11 -0
  503. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +21 -0
  504. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +21 -0
  505. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +21 -0
  506. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +21 -0
  507. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +34 -0
  508. package/dist/docs/markdown/plugin-meetings.reactions.md +13 -0
  509. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +11 -0
  510. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +11 -0
  511. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +26 -0
  512. package/dist/docs/markdown/plugin-meetings.remotemedia.md +31 -0
  513. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +22 -0
  514. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +13 -0
  515. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +11 -0
  516. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +40 -0
  517. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +13 -0
  518. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +13 -0
  519. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +25 -0
  520. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +13 -0
  521. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +13 -0
  522. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +14 -0
  523. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +11 -0
  524. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +11 -0
  525. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +12 -0
  526. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +24 -0
  527. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +26 -0
  528. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +27 -0
  529. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +22 -0
  530. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +28 -0
  531. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +25 -0
  532. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +24 -0
  533. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +11 -0
  534. package/dist/docs/metadata/index.api.json +14144 -0
  535. package/dist/docs/metadata/index.api.md +2075 -0
  536. package/dist/docs/metadata/index.d.ts +5594 -0
  537. package/dist/index.d.ts +4 -0
  538. package/dist/index.js +72 -17
  539. package/dist/index.js.map +1 -1
  540. package/dist/locus-info/controlsUtils.d.ts +2 -0
  541. package/dist/locus-info/controlsUtils.js +31 -29
  542. package/dist/locus-info/controlsUtils.js.map +1 -1
  543. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  544. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  545. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  546. package/dist/locus-info/fullState.d.ts +2 -0
  547. package/dist/locus-info/fullState.js +0 -15
  548. package/dist/locus-info/fullState.js.map +1 -1
  549. package/dist/locus-info/hostUtils.d.ts +2 -0
  550. package/dist/locus-info/hostUtils.js +4 -12
  551. package/dist/locus-info/hostUtils.js.map +1 -1
  552. package/dist/locus-info/index.d.ts +269 -0
  553. package/dist/locus-info/index.js +202 -201
  554. package/dist/locus-info/index.js.map +1 -1
  555. package/dist/locus-info/infoUtils.d.ts +2 -0
  556. package/dist/locus-info/infoUtils.js +3 -37
  557. package/dist/locus-info/infoUtils.js.map +1 -1
  558. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  559. package/dist/locus-info/mediaSharesUtils.js +12 -38
  560. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  561. package/dist/locus-info/parser.d.ts +212 -0
  562. package/dist/locus-info/parser.js +88 -123
  563. package/dist/locus-info/parser.js.map +1 -1
  564. package/dist/locus-info/selfUtils.d.ts +2 -0
  565. package/dist/locus-info/selfUtils.js +80 -89
  566. package/dist/locus-info/selfUtils.js.map +1 -1
  567. package/dist/media/index.d.ts +32 -0
  568. package/dist/media/index.js +56 -146
  569. package/dist/media/index.js.map +1 -1
  570. package/dist/media/properties.d.ts +108 -0
  571. package/dist/media/properties.js +71 -117
  572. package/dist/media/properties.js.map +1 -1
  573. package/dist/media/util.d.ts +2 -0
  574. package/dist/media/util.js +2 -9
  575. package/dist/media/util.js.map +1 -1
  576. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  577. package/dist/mediaQualityMetrics/config.js +505 -495
  578. package/dist/mediaQualityMetrics/config.js.map +1 -1
  579. package/dist/meeting/effectsState.d.ts +42 -0
  580. package/dist/meeting/effectsState.js +118 -192
  581. package/dist/meeting/effectsState.js.map +1 -1
  582. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  583. package/dist/meeting/in-meeting-actions.js +31 -14
  584. package/dist/meeting/in-meeting-actions.js.map +1 -1
  585. package/dist/meeting/index.d.ts +1621 -0
  586. package/dist/meeting/index.js +2175 -2266
  587. package/dist/meeting/index.js.map +1 -1
  588. package/dist/meeting/muteState.d.ts +116 -0
  589. package/dist/meeting/muteState.js +252 -113
  590. package/dist/meeting/muteState.js.map +1 -1
  591. package/dist/meeting/request.d.ts +255 -0
  592. package/dist/meeting/request.js +297 -283
  593. package/dist/meeting/request.js.map +1 -1
  594. package/dist/meeting/request.type.js +7 -0
  595. package/dist/meeting/request.type.js.map +1 -0
  596. package/dist/meeting/state.d.ts +9 -0
  597. package/dist/meeting/state.js +21 -31
  598. package/dist/meeting/state.js.map +1 -1
  599. package/dist/meeting/util.d.ts +2 -0
  600. package/dist/meeting/util.js +63 -217
  601. package/dist/meeting/util.js.map +1 -1
  602. package/dist/meeting-info/collection.d.ts +20 -0
  603. package/dist/meeting-info/collection.js +3 -25
  604. package/dist/meeting-info/collection.js.map +1 -1
  605. package/dist/meeting-info/index.d.ts +57 -0
  606. package/dist/meeting-info/index.js +10 -33
  607. package/dist/meeting-info/index.js.map +1 -1
  608. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  609. package/dist/meeting-info/meeting-info-v2.js +181 -268
  610. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  611. package/dist/meeting-info/request.d.ts +22 -0
  612. package/dist/meeting-info/request.js +1 -16
  613. package/dist/meeting-info/request.js.map +1 -1
  614. package/dist/meeting-info/util.d.ts +2 -0
  615. package/dist/meeting-info/util.js +98 -183
  616. package/dist/meeting-info/util.js.map +1 -1
  617. package/dist/meeting-info/utilv2.d.ts +2 -0
  618. package/dist/meeting-info/utilv2.js +137 -228
  619. package/dist/meeting-info/utilv2.js.map +1 -1
  620. package/dist/meetings/collection.d.ts +23 -0
  621. package/dist/meetings/collection.js +24 -20
  622. package/dist/meetings/collection.js.map +1 -1
  623. package/dist/meetings/index.d.ts +297 -0
  624. package/dist/meetings/index.js +566 -587
  625. package/dist/meetings/index.js.map +1 -1
  626. package/dist/meetings/request.d.ts +27 -0
  627. package/dist/meetings/request.js +23 -42
  628. package/dist/meetings/request.js.map +1 -1
  629. package/dist/meetings/util.d.ts +18 -0
  630. package/dist/meetings/util.js +151 -155
  631. package/dist/meetings/util.js.map +1 -1
  632. package/dist/member/index.d.ts +145 -0
  633. package/dist/member/index.js +80 -88
  634. package/dist/member/index.js.map +1 -1
  635. package/dist/member/types.js +15 -0
  636. package/dist/member/types.js.map +1 -0
  637. package/dist/member/util.d.ts +2 -0
  638. package/dist/member/util.js +90 -69
  639. package/dist/member/util.js.map +1 -1
  640. package/dist/members/collection.d.ts +24 -0
  641. package/dist/members/collection.js +12 -12
  642. package/dist/members/collection.js.map +1 -1
  643. package/dist/members/index.d.ts +298 -0
  644. package/dist/members/index.js +139 -204
  645. package/dist/members/index.js.map +1 -1
  646. package/dist/members/request.d.ts +50 -0
  647. package/dist/members/request.js +41 -55
  648. package/dist/members/request.js.map +1 -1
  649. package/dist/members/types.js +15 -0
  650. package/dist/members/types.js.map +1 -0
  651. package/dist/members/util.d.ts +2 -0
  652. package/dist/members/util.js +76 -46
  653. package/dist/members/util.js.map +1 -1
  654. package/dist/metrics/config.d.ts +169 -0
  655. package/dist/metrics/config.js +4 -14
  656. package/dist/metrics/config.js.map +1 -1
  657. package/dist/metrics/constants.d.ts +57 -0
  658. package/dist/metrics/constants.js +1 -6
  659. package/dist/metrics/constants.js.map +1 -1
  660. package/dist/metrics/index.d.ts +152 -0
  661. package/dist/metrics/index.js +53 -158
  662. package/dist/metrics/index.js.map +1 -1
  663. package/dist/multistream/mediaRequestManager.js +116 -52
  664. package/dist/multistream/mediaRequestManager.js.map +1 -1
  665. package/dist/multistream/receiveSlot.js +58 -65
  666. package/dist/multistream/receiveSlot.js.map +1 -1
  667. package/dist/multistream/receiveSlotManager.js +58 -93
  668. package/dist/multistream/receiveSlotManager.js.map +1 -1
  669. package/dist/multistream/remoteMedia.js +55 -74
  670. package/dist/multistream/remoteMedia.js.map +1 -1
  671. package/dist/multistream/remoteMediaGroup.js +6 -40
  672. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  673. package/dist/multistream/remoteMediaManager.js +466 -442
  674. package/dist/multistream/remoteMediaManager.js.map +1 -1
  675. package/dist/networkQualityMonitor/index.d.ts +70 -0
  676. package/dist/networkQualityMonitor/index.js +32 -59
  677. package/dist/networkQualityMonitor/index.js.map +1 -1
  678. package/dist/peer-connection-manager/index.d.ts +6 -0
  679. package/dist/peer-connection-manager/index.js +671 -0
  680. package/dist/peer-connection-manager/index.js.map +1 -0
  681. package/dist/peer-connection-manager/util.d.ts +6 -0
  682. package/dist/peer-connection-manager/util.js +110 -0
  683. package/dist/peer-connection-manager/util.js.map +1 -0
  684. package/dist/personal-meeting-room/index.d.ts +47 -0
  685. package/dist/personal-meeting-room/index.js +10 -45
  686. package/dist/personal-meeting-room/index.js.map +1 -1
  687. package/dist/personal-meeting-room/request.d.ts +14 -0
  688. package/dist/personal-meeting-room/request.js +2 -33
  689. package/dist/personal-meeting-room/request.js.map +1 -1
  690. package/dist/personal-meeting-room/util.d.ts +2 -0
  691. package/dist/personal-meeting-room/util.js +0 -13
  692. package/dist/personal-meeting-room/util.js.map +1 -1
  693. package/dist/plugin-meetings.d.ts +5399 -0
  694. package/dist/reachability/index.d.ts +139 -0
  695. package/dist/reachability/index.js +190 -199
  696. package/dist/reachability/index.js.map +1 -1
  697. package/dist/reachability/request.d.ts +35 -0
  698. package/dist/reachability/request.js +14 -23
  699. package/dist/reachability/request.js.map +1 -1
  700. package/dist/reactions/constants.js +13 -0
  701. package/dist/reactions/constants.js.map +1 -0
  702. package/dist/reactions/reactions.d.ts +4 -0
  703. package/dist/reactions/reactions.js +109 -0
  704. package/dist/reactions/reactions.js.map +1 -0
  705. package/dist/reactions/reactions.type.d.ts +32 -0
  706. package/dist/reactions/reactions.type.js +36 -0
  707. package/dist/reactions/reactions.type.js.map +1 -0
  708. package/dist/reconnection-manager/index.d.ts +112 -0
  709. package/dist/reconnection-manager/index.js +328 -465
  710. package/dist/reconnection-manager/index.js.map +1 -1
  711. package/dist/recording-controller/enums.d.ts +7 -0
  712. package/dist/recording-controller/enums.js +17 -0
  713. package/dist/recording-controller/enums.js.map +1 -0
  714. package/dist/recording-controller/index.d.ts +193 -0
  715. package/dist/recording-controller/index.js +343 -0
  716. package/dist/recording-controller/index.js.map +1 -0
  717. package/dist/recording-controller/util.d.ts +13 -0
  718. package/dist/recording-controller/util.js +63 -0
  719. package/dist/recording-controller/util.js.map +1 -0
  720. package/dist/roap/collection.d.ts +10 -0
  721. package/dist/roap/collection.js +63 -0
  722. package/dist/roap/collection.js.map +1 -0
  723. package/dist/roap/handler.d.ts +47 -0
  724. package/dist/roap/handler.js +279 -0
  725. package/dist/roap/handler.js.map +1 -0
  726. package/dist/roap/index.d.ts +116 -0
  727. package/dist/roap/index.js +27 -59
  728. package/dist/roap/index.js.map +1 -1
  729. package/dist/roap/request.d.ts +35 -0
  730. package/dist/roap/request.js +143 -134
  731. package/dist/roap/request.js.map +1 -1
  732. package/dist/roap/state.d.ts +9 -0
  733. package/dist/roap/state.js +127 -0
  734. package/dist/roap/state.js.map +1 -0
  735. package/dist/roap/turnDiscovery.d.ts +67 -0
  736. package/dist/roap/turnDiscovery.js +86 -101
  737. package/dist/roap/turnDiscovery.js.map +1 -1
  738. package/dist/roap/util.d.ts +2 -0
  739. package/dist/roap/util.js +76 -0
  740. package/dist/roap/util.js.map +1 -0
  741. package/dist/statsAnalyzer/global.d.ts +126 -0
  742. package/dist/statsAnalyzer/global.js +1 -95
  743. package/dist/statsAnalyzer/global.js.map +1 -1
  744. package/dist/statsAnalyzer/index.d.ts +190 -0
  745. package/dist/statsAnalyzer/index.js +356 -457
  746. package/dist/statsAnalyzer/index.js.map +1 -1
  747. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  748. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  749. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  750. package/dist/transcription/index.d.ts +64 -0
  751. package/dist/transcription/index.js +13 -45
  752. package/dist/transcription/index.js.map +1 -1
  753. package/dist/types/breakouts/breakout.d.ts +8 -0
  754. package/dist/types/breakouts/collection.d.ts +5 -0
  755. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  756. package/dist/types/breakouts/index.d.ts +5 -0
  757. package/dist/types/breakouts/request.d.ts +22 -0
  758. package/dist/types/breakouts/utils.d.ts +8 -0
  759. package/dist/types/common/browser-detection.d.ts +9 -0
  760. package/dist/types/common/collection.d.ts +48 -0
  761. package/dist/types/common/config.d.ts +2 -0
  762. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  763. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  764. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  765. package/dist/types/common/errors/media.d.ts +15 -0
  766. package/dist/types/common/errors/parameter.d.ts +15 -0
  767. package/dist/types/common/errors/password-error.d.ts +15 -0
  768. package/dist/types/common/errors/permission.d.ts +14 -0
  769. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  770. package/dist/types/common/errors/reconnection.d.ts +15 -0
  771. package/dist/types/common/errors/stats.d.ts +15 -0
  772. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  773. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  774. package/dist/types/common/events/events-scope.d.ts +17 -0
  775. package/dist/types/common/events/events.d.ts +12 -0
  776. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  777. package/dist/types/common/events/util.d.ts +2 -0
  778. package/dist/types/common/logs/logger-config.d.ts +2 -0
  779. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  780. package/dist/types/common/logs/request.d.ts +34 -0
  781. package/dist/types/common/queue.d.ts +32 -0
  782. package/dist/types/config.d.ts +77 -0
  783. package/dist/types/constants.d.ts +944 -0
  784. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  785. package/dist/types/controls-options-manager/enums.d.ts +6 -0
  786. package/dist/types/controls-options-manager/index.d.ts +128 -0
  787. package/dist/types/controls-options-manager/util.d.ts +9 -0
  788. package/dist/types/index.d.ts +7 -0
  789. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  790. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  791. package/dist/types/locus-info/fullState.d.ts +2 -0
  792. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  793. package/dist/types/locus-info/index.d.ts +276 -0
  794. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  795. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  796. package/dist/types/locus-info/parser.d.ts +212 -0
  797. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  798. package/dist/types/media/index.d.ts +32 -0
  799. package/dist/types/media/properties.d.ts +108 -0
  800. package/dist/types/media/util.d.ts +2 -0
  801. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  802. package/dist/types/meeting/effectsState.d.ts +42 -0
  803. package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
  804. package/dist/types/meeting/index.d.ts +1723 -0
  805. package/dist/types/meeting/muteState.d.ts +185 -0
  806. package/dist/types/meeting/request.d.ts +271 -0
  807. package/dist/types/meeting/request.type.d.ts +11 -0
  808. package/dist/types/meeting/state.d.ts +9 -0
  809. package/dist/types/meeting/util.d.ts +2 -0
  810. package/dist/types/meeting-info/collection.d.ts +20 -0
  811. package/dist/types/meeting-info/index.d.ts +57 -0
  812. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  813. package/dist/types/meeting-info/request.d.ts +22 -0
  814. package/dist/types/meeting-info/util.d.ts +2 -0
  815. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  816. package/dist/types/meetings/collection.d.ts +31 -0
  817. package/dist/types/meetings/index.d.ts +316 -0
  818. package/dist/types/meetings/request.d.ts +27 -0
  819. package/dist/types/meetings/util.d.ts +18 -0
  820. package/dist/types/member/index.d.ts +156 -0
  821. package/dist/types/member/types.d.ts +21 -0
  822. package/dist/types/member/util.d.ts +2 -0
  823. package/dist/types/members/collection.d.ts +29 -0
  824. package/dist/types/members/index.d.ts +343 -0
  825. package/dist/types/members/request.d.ts +58 -0
  826. package/dist/types/members/types.d.ts +24 -0
  827. package/dist/types/members/util.d.ts +2 -0
  828. package/dist/types/metrics/config.d.ts +171 -0
  829. package/dist/types/metrics/constants.d.ts +53 -0
  830. package/dist/types/metrics/index.d.ts +152 -0
  831. package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
  832. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  833. package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
  834. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  835. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  836. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  837. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  838. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  839. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  840. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  841. package/dist/types/reachability/index.d.ts +152 -0
  842. package/dist/types/reachability/request.d.ts +37 -0
  843. package/dist/types/reactions/constants.d.ts +3 -0
  844. package/dist/types/reactions/reactions.d.ts +4 -0
  845. package/dist/types/reactions/reactions.type.d.ts +52 -0
  846. package/dist/types/reconnection-manager/index.d.ts +126 -0
  847. package/dist/types/recording-controller/enums.d.ts +7 -0
  848. package/dist/types/recording-controller/index.d.ts +193 -0
  849. package/dist/types/recording-controller/util.d.ts +13 -0
  850. package/dist/types/roap/index.d.ts +77 -0
  851. package/dist/types/roap/request.d.ts +38 -0
  852. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  853. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  854. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  855. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  856. package/dist/types/transcription/index.d.ts +64 -0
  857. package/dist/types/tsdoc-metadata.json +11 -0
  858. package/internal-README.md +7 -6
  859. package/package.json +28 -20
  860. package/src/breakouts/README.md +219 -0
  861. package/src/breakouts/breakout.ts +153 -0
  862. package/src/breakouts/collection.ts +19 -0
  863. package/src/breakouts/edit-lock-error.ts +25 -0
  864. package/src/breakouts/index.ts +745 -0
  865. package/src/breakouts/request.ts +55 -0
  866. package/src/breakouts/utils.ts +44 -0
  867. package/src/common/browser-detection.ts +9 -6
  868. package/src/common/collection.ts +3 -1
  869. package/src/common/errors/captcha-error.ts +6 -6
  870. package/src/common/errors/intent-to-join.ts +6 -6
  871. package/src/common/errors/join-meeting.ts +12 -8
  872. package/src/common/errors/media.ts +6 -6
  873. package/src/common/errors/parameter.ts +9 -6
  874. package/src/common/errors/password-error.ts +6 -6
  875. package/src/common/errors/permission.ts +5 -5
  876. package/src/common/errors/reconnection.ts +6 -6
  877. package/src/common/errors/stats.ts +6 -6
  878. package/src/common/errors/webex-errors.ts +7 -5
  879. package/src/common/errors/webex-meetings-error.ts +1 -1
  880. package/src/common/events/events-scope.ts +5 -1
  881. package/src/common/events/events.ts +5 -1
  882. package/src/common/events/trigger-proxy.ts +8 -3
  883. package/src/common/events/util.ts +1 -2
  884. package/src/common/logs/logger-proxy.ts +21 -10
  885. package/src/common/logs/request.ts +11 -8
  886. package/src/config.ts +16 -12
  887. package/src/constants.ts +92 -6
  888. package/src/controls-options-manager/constants.ts +5 -0
  889. package/src/controls-options-manager/enums.ts +7 -0
  890. package/src/controls-options-manager/index.ts +240 -0
  891. package/src/controls-options-manager/util.ts +30 -0
  892. package/src/index.ts +33 -0
  893. package/src/locus-info/controlsUtils.ts +63 -24
  894. package/src/locus-info/fullState.ts +15 -11
  895. package/src/locus-info/hostUtils.ts +4 -3
  896. package/src/locus-info/index.ts +148 -43
  897. package/src/locus-info/infoUtils.ts +16 -4
  898. package/src/locus-info/mediaSharesUtils.ts +4 -4
  899. package/src/locus-info/parser.ts +46 -68
  900. package/src/locus-info/selfUtils.ts +174 -56
  901. package/src/media/index.ts +131 -179
  902. package/src/media/properties.ts +43 -36
  903. package/src/media/util.ts +1 -1
  904. package/src/mediaQualityMetrics/config.ts +380 -378
  905. package/src/meeting/in-meeting-actions.ts +67 -3
  906. package/src/meeting/index.ts +2395 -1523
  907. package/src/meeting/muteState.ts +271 -68
  908. package/src/meeting/request.ts +228 -132
  909. package/src/meeting/request.type.ts +13 -0
  910. package/src/meeting/state.ts +45 -30
  911. package/src/meeting/util.ts +127 -111
  912. package/src/meeting-info/collection.ts +2 -1
  913. package/src/meeting-info/index.ts +32 -30
  914. package/src/meeting-info/meeting-info-v2.ts +108 -108
  915. package/src/meeting-info/request.ts +9 -3
  916. package/src/meeting-info/util.ts +54 -46
  917. package/src/meeting-info/utilv2.ts +59 -53
  918. package/src/meetings/collection.ts +21 -1
  919. package/src/meetings/index.ts +673 -466
  920. package/src/meetings/request.ts +29 -25
  921. package/src/meetings/util.ts +94 -30
  922. package/src/member/index.ts +86 -49
  923. package/src/member/types.ts +24 -0
  924. package/src/member/util.ts +92 -13
  925. package/src/members/collection.ts +8 -1
  926. package/src/members/index.ts +246 -129
  927. package/src/members/request.ts +67 -14
  928. package/src/members/types.ts +28 -0
  929. package/src/members/util.ts +103 -50
  930. package/src/metrics/config.ts +255 -90
  931. package/src/metrics/constants.ts +0 -6
  932. package/src/metrics/index.ts +90 -93
  933. package/src/multistream/mediaRequestManager.ts +144 -40
  934. package/src/multistream/receiveSlot.ts +69 -26
  935. package/src/multistream/receiveSlotManager.ts +50 -38
  936. package/src/multistream/remoteMedia.ts +30 -4
  937. package/src/multistream/remoteMediaGroup.ts +4 -3
  938. package/src/multistream/remoteMediaManager.ts +230 -66
  939. package/src/networkQualityMonitor/index.ts +24 -27
  940. package/src/personal-meeting-room/index.ts +12 -16
  941. package/src/personal-meeting-room/request.ts +10 -3
  942. package/src/personal-meeting-room/util.ts +3 -3
  943. package/src/reachability/index.ts +131 -79
  944. package/src/reachability/request.ts +43 -34
  945. package/src/reactions/constants.ts +4 -0
  946. package/src/reactions/reactions.ts +104 -0
  947. package/src/reactions/reactions.type.ts +62 -0
  948. package/src/reconnection-manager/index.ts +190 -111
  949. package/src/recording-controller/enums.ts +8 -0
  950. package/src/recording-controller/index.ts +315 -0
  951. package/src/recording-controller/util.ts +58 -0
  952. package/src/roap/index.ts +50 -42
  953. package/src/roap/request.ts +86 -53
  954. package/src/roap/turnDiscovery.ts +69 -38
  955. package/src/statsAnalyzer/global.ts +8 -104
  956. package/src/statsAnalyzer/index.ts +593 -376
  957. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  958. package/src/transcription/index.ts +34 -32
  959. package/test/integration/spec/converged-space-meetings.js +176 -0
  960. package/test/integration/spec/journey.js +665 -464
  961. package/test/integration/spec/space-meeting.js +319 -204
  962. package/test/integration/spec/transcription.js +7 -8
  963. package/test/unit/spec/breakouts/breakout.ts +178 -0
  964. package/test/unit/spec/breakouts/collection.ts +15 -0
  965. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  966. package/test/unit/spec/breakouts/index.ts +1252 -0
  967. package/test/unit/spec/breakouts/request.ts +104 -0
  968. package/test/unit/spec/breakouts/utils.js +54 -0
  969. package/test/unit/spec/common/browser-detection.js +9 -28
  970. package/test/unit/spec/controls-options-manager/index.js +204 -0
  971. package/test/unit/spec/controls-options-manager/util.js +86 -0
  972. package/test/unit/spec/fixture/locus.js +92 -90
  973. package/test/unit/spec/locus-info/controlsUtils.js +133 -34
  974. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  975. package/test/unit/spec/locus-info/index.js +303 -2
  976. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  977. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  978. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  979. package/test/unit/spec/locus-info/parser.js +3 -9
  980. package/test/unit/spec/locus-info/selfConstant.js +101 -103
  981. package/test/unit/spec/locus-info/selfUtils.js +165 -12
  982. package/test/unit/spec/media/index.ts +72 -8
  983. package/test/unit/spec/media/properties.ts +9 -9
  984. package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
  985. package/test/unit/spec/meeting/index.js +2479 -794
  986. package/test/unit/spec/meeting/muteState.js +164 -70
  987. package/test/unit/spec/meeting/request.js +141 -43
  988. package/test/unit/spec/meeting/utils.js +135 -164
  989. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  990. package/test/unit/spec/meeting-info/request.js +7 -9
  991. package/test/unit/spec/meeting-info/util.js +11 -12
  992. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  993. package/test/unit/spec/meetings/collection.js +15 -1
  994. package/test/unit/spec/meetings/index.js +622 -263
  995. package/test/unit/spec/meetings/utils.js +65 -14
  996. package/test/unit/spec/member/index.js +24 -1
  997. package/test/unit/spec/member/util.js +359 -32
  998. package/test/unit/spec/members/index.js +294 -54
  999. package/test/unit/spec/members/request.js +50 -20
  1000. package/test/unit/spec/members/utils.js +147 -4
  1001. package/test/unit/spec/metrics/index.js +16 -21
  1002. package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
  1003. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  1004. package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
  1005. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  1006. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  1007. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  1008. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  1009. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  1010. package/test/unit/spec/reachability/index.ts +176 -27
  1011. package/test/unit/spec/reachability/request.js +66 -0
  1012. package/test/unit/spec/reconnection-manager/index.js +58 -31
  1013. package/test/unit/spec/recording-controller/index.js +231 -0
  1014. package/test/unit/spec/recording-controller/util.js +102 -0
  1015. package/test/unit/spec/roap/index.ts +12 -8
  1016. package/test/unit/spec/roap/request.ts +217 -0
  1017. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  1018. package/test/unit/spec/stats-analyzer/index.js +108 -57
  1019. package/test/utils/cmr.js +44 -42
  1020. package/test/utils/constants.js +9 -0
  1021. package/test/utils/testUtils.js +98 -77
  1022. package/test/utils/webex-config.js +22 -18
  1023. package/test/utils/webex-test-users.js +57 -50
  1024. package/tsconfig.json +6 -0
  1025. package/dist/media/internal-media-core-wrapper.js +0 -22
  1026. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  1027. package/dist/multistream/multistreamMedia.js +0 -116
  1028. package/dist/multistream/multistreamMedia.js.map +0 -1
  1029. package/src/index.js +0 -15
  1030. package/src/media/internal-media-core-wrapper.ts +0 -9
  1031. package/src/meeting/effectsState.ts +0 -211
  1032. package/src/multistream/multistreamMedia.ts +0 -92
  1033. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -5,7 +5,7 @@ import {assert} from '@webex/test-helper-chai';
5
5
  import {skipInNode} from '@webex/test-helper-mocha';
6
6
  import sinon from 'sinon';
7
7
 
8
- import BrowserDetection from '@webex/plugin-meetings/src/common/browser-detection';
8
+ import BrowserDetection from '@webex/plugin-meetings/dist/common/browser-detection';
9
9
 
10
10
  import DEFAULT_RESOLUTIONS from '../../../src/config';
11
11
  import testUtils from '../../utils/testUtils';
@@ -20,29 +20,35 @@ let userSet, alice, bob, chris, enumerateSpy, channelUrlA, channelUrlB;
20
20
 
21
21
  skipInNode(describe)('plugin-meetings', () => {
22
22
  describe('journey', () => {
23
- before(() => webexTestUsers.generateTestUsers({
24
- count: 3,
25
- whistler: process.env.WHISTLER || process.env.JENKINS
26
- })
27
- .then((users) => {
28
- userSet = users;
29
- alice = userSet[0];
30
- bob = userSet[1];
31
- chris = userSet[2];
32
- alice.name = 'alice';
33
- bob.name = 'bob';
34
- chris.name = 'chris';
35
- alice.webex.meetings.name = 'alice';
36
- bob.webex.meetings.name = 'bob';
37
- chris.webex.meetings.name = 'chris';
38
- channelUrlA = 'https://board-a.wbx2.com/board/api/v1/channels/49cfb550-5517-11eb-a2af-1b9e4bc3da13';
39
- channelUrlB = 'https://board-a.wbx2.com/board/api/v1/channels/977a7330-54f4-11eb-b1ef-91f5eefc7bf3';
40
- })
41
- .then(() => Promise.all([testUtils.syncAndEndMeeting(alice),
42
- testUtils.syncAndEndMeeting(bob)]))
43
- .catch((error) => {
44
- throw error;
45
- }));
23
+ before(() =>
24
+ webexTestUsers
25
+ .generateTestUsers({
26
+ count: 3,
27
+ whistler: process.env.WHISTLER || process.env.JENKINS,
28
+ })
29
+ .then((users) => {
30
+ userSet = users;
31
+ alice = userSet[0];
32
+ bob = userSet[1];
33
+ chris = userSet[2];
34
+ alice.name = 'alice';
35
+ bob.name = 'bob';
36
+ chris.name = 'chris';
37
+ alice.webex.meetings.name = 'alice';
38
+ bob.webex.meetings.name = 'bob';
39
+ chris.webex.meetings.name = 'chris';
40
+ channelUrlA =
41
+ 'https://board-a.wbx2.com/board/api/v1/channels/49cfb550-5517-11eb-a2af-1b9e4bc3da13';
42
+ channelUrlB =
43
+ 'https://board-a.wbx2.com/board/api/v1/channels/977a7330-54f4-11eb-b1ef-91f5eefc7bf3';
44
+ })
45
+ .then(() =>
46
+ Promise.all([testUtils.syncAndEndMeeting(alice), testUtils.syncAndEndMeeting(bob)])
47
+ )
48
+ .catch((error) => {
49
+ throw error;
50
+ })
51
+ );
46
52
 
47
53
  before(() => {
48
54
  enumerateSpy = sinon.spy(navigator.mediaDevices, 'enumerateDevices');
@@ -68,40 +74,51 @@ skipInNode(describe)('plugin-meetings', () => {
68
74
  bob.meeting = null;
69
75
  });
70
76
 
71
- it('Alice Ends a outgoing meeting', () => Promise.all([
72
- testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
73
- testUtils.waitForEvents([{scope: alice.webex.meetings, event: 'meeting:added', user: alice}])
74
- ])
75
- .then(() => Promise.all([
76
- testUtils.delayedPromise(alice.meeting.join()),
77
- testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:added', user: bob}])
78
- ]))
79
- .then(() => {
80
- // bob and alice have meeting object
81
- bob.meeting.acknowledge('INCOMING');
82
- assert.equal(bob.meeting.sipUri, alice.emailAddress);
83
- assert.equal(alice.meeting.sipUri, bob.emailAddress);
84
- assert.equal(bob.meeting.state, 'IDLE');
85
- assert.equal(alice.meeting.state, 'JOINED');
86
- })
87
- .then(function aliceLeavesMeetingAndBobGetsMeetingRemoved() {
88
- return Promise.all([
89
- testUtils.delayedPromise(alice.meeting.leave()),
90
- testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:removed', user: bob}])
91
- ]);
92
- })
93
- .then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT'))
94
- .then(() => Promise.all([
95
- testUtils.waitForCallEnded(alice, bob.emailAddress),
96
- testUtils.waitForCallEnded(bob, alice.emailAddress)
97
- ]))
98
- .then(() => {
99
- assert.equal(alice.webex.meetings.getMeetingByType('sipUri', bob.emailAddress), null);
100
- assert.equal(bob.webex.meetings.getMeetingByType('sipUri', alice.emailAddress), null);
101
- })
102
- .catch((err) => {
103
- throw err;
104
- }));
77
+ it('Alice Ends a outgoing meeting', () =>
78
+ Promise.all([
79
+ testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
80
+ testUtils.waitForEvents([
81
+ {scope: alice.webex.meetings, event: 'meeting:added', user: alice},
82
+ ]),
83
+ ])
84
+ .then(() =>
85
+ Promise.all([
86
+ testUtils.delayedPromise(alice.meeting.join()),
87
+ testUtils.waitForEvents([
88
+ {scope: bob.webex.meetings, event: 'meeting:added', user: bob},
89
+ ]),
90
+ ])
91
+ )
92
+ .then(() => {
93
+ // bob and alice have meeting object
94
+ bob.meeting.acknowledge('INCOMING');
95
+ assert.equal(bob.meeting.sipUri, alice.emailAddress);
96
+ assert.equal(alice.meeting.sipUri, bob.emailAddress);
97
+ assert.equal(bob.meeting.state, 'IDLE');
98
+ assert.equal(alice.meeting.state, 'JOINED');
99
+ })
100
+ .then(function aliceLeavesMeetingAndBobGetsMeetingRemoved() {
101
+ return Promise.all([
102
+ testUtils.delayedPromise(alice.meeting.leave()),
103
+ testUtils.waitForEvents([
104
+ {scope: bob.webex.meetings, event: 'meeting:removed', user: bob},
105
+ ]),
106
+ ]);
107
+ })
108
+ .then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT'))
109
+ .then(() =>
110
+ Promise.all([
111
+ testUtils.waitForCallEnded(alice, bob.emailAddress),
112
+ testUtils.waitForCallEnded(bob, alice.emailAddress),
113
+ ])
114
+ )
115
+ .then(() => {
116
+ assert.equal(alice.webex.meetings.getMeetingByType('sipUri', bob.emailAddress), null);
117
+ assert.equal(bob.webex.meetings.getMeetingByType('sipUri', alice.emailAddress), null);
118
+ })
119
+ .catch((err) => {
120
+ throw err;
121
+ }));
105
122
  });
106
123
 
107
124
  // The event was coming but incomplete
@@ -109,62 +126,77 @@ skipInNode(describe)('plugin-meetings', () => {
109
126
 
110
127
  // Alice calls bob and bob rejects it
111
128
  xdescribe('reject Incoming Call', () => {
112
- it('alice dials bob and bob receives meeting added', () => Promise.all([
113
- testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
114
- testUtils.waitForEvents([{scope: alice.webex.meetings, event: 'meeting:added', user: alice}])
115
- ])
116
- .then(() => Promise.all([
117
- testUtils.delayedPromise(alice.meeting.join()),
118
- testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:added', user: bob}])
119
- ]))
120
- .then(function alicebobJoined() {
121
- assert.exists(bob.meeting);
122
- assert.exists(alice.meeting);
123
- assert.equal(bob.meeting.sipUri, alice.emailAddress);
124
- assert.equal(alice.meeting.sipUri, bob.emailAddress);
125
- assert.exists(bob.meeting.partner);
126
- assert.exists(alice.meeting.partner);
127
- })
128
- .then(function bobState() {
129
- testUtils.waitForStateChange(bob.meeting, 'IDLE');
130
- })
131
- .then(function aliceState() {
132
- testUtils.waitForStateChange(alice.meeting, 'JOINED');
133
- })
134
- .then(function bobDeclinedCall() {
135
- return bob.meeting.acknowledge('INCOMING')
136
- .then(() => bob.meeting.decline('BUSY'))
137
- .then(() => testUtils.waitForStateChange(bob.meeting, 'DECLINED'))
138
- .catch((e) => {
139
- console.error('Bob decline call not successful', e);
140
- throw e;
141
- });
142
- })
143
- .then(function aliceLeaveMeeting() {
144
- assert.equal(alice.meeting.state, 'JOINED');
145
-
146
- return alice.meeting.leave()
147
- .then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT'))
148
- .then(() => testUtils.waitForStateChange(bob.meeting, 'DECLINED'))
149
- .catch((e) => {
150
- console.error('alice was not able to leave the meeting', e);
151
- throw e;
152
- });
153
- })
154
- .then(function WaitForMeetingEnd() {
155
- return Promise.all([
156
- testUtils.waitForCallEnded(alice, bob.emailAddress),
157
- testUtils.waitForCallEnded(bob, alice.emailAddress)
158
- ])
159
- .then(() => {
160
- assert.equal(alice.webex.meetings.getMeetingByType('sipUri', bob.emailAddress), null);
161
- assert.equal(bob.webex.meetings.getMeetingByType('sipUri', alice.emailAddress), null);
162
- })
163
- .catch((e) => {
164
- console.error('Alice bob meeting is deleted', e);
165
- throw e;
166
- });
167
- }));
129
+ it('alice dials bob and bob receives meeting added', () =>
130
+ Promise.all([
131
+ testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
132
+ testUtils.waitForEvents([
133
+ {scope: alice.webex.meetings, event: 'meeting:added', user: alice},
134
+ ]),
135
+ ])
136
+ .then(() =>
137
+ Promise.all([
138
+ testUtils.delayedPromise(alice.meeting.join()),
139
+ testUtils.waitForEvents([
140
+ {scope: bob.webex.meetings, event: 'meeting:added', user: bob},
141
+ ]),
142
+ ])
143
+ )
144
+ .then(function alicebobJoined() {
145
+ assert.exists(bob.meeting);
146
+ assert.exists(alice.meeting);
147
+ assert.equal(bob.meeting.sipUri, alice.emailAddress);
148
+ assert.equal(alice.meeting.sipUri, bob.emailAddress);
149
+ assert.exists(bob.meeting.partner);
150
+ assert.exists(alice.meeting.partner);
151
+ })
152
+ .then(function bobState() {
153
+ testUtils.waitForStateChange(bob.meeting, 'IDLE');
154
+ })
155
+ .then(function aliceState() {
156
+ testUtils.waitForStateChange(alice.meeting, 'JOINED');
157
+ })
158
+ .then(function bobDeclinedCall() {
159
+ return bob.meeting
160
+ .acknowledge('INCOMING')
161
+ .then(() => bob.meeting.decline('BUSY'))
162
+ .then(() => testUtils.waitForStateChange(bob.meeting, 'DECLINED'))
163
+ .catch((e) => {
164
+ console.error('Bob decline call not successful', e);
165
+ throw e;
166
+ });
167
+ })
168
+ .then(function aliceLeaveMeeting() {
169
+ assert.equal(alice.meeting.state, 'JOINED');
170
+
171
+ return alice.meeting
172
+ .leave()
173
+ .then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT'))
174
+ .then(() => testUtils.waitForStateChange(bob.meeting, 'DECLINED'))
175
+ .catch((e) => {
176
+ console.error('alice was not able to leave the meeting', e);
177
+ throw e;
178
+ });
179
+ })
180
+ .then(function WaitForMeetingEnd() {
181
+ return Promise.all([
182
+ testUtils.waitForCallEnded(alice, bob.emailAddress),
183
+ testUtils.waitForCallEnded(bob, alice.emailAddress),
184
+ ])
185
+ .then(() => {
186
+ assert.equal(
187
+ alice.webex.meetings.getMeetingByType('sipUri', bob.emailAddress),
188
+ null
189
+ );
190
+ assert.equal(
191
+ bob.webex.meetings.getMeetingByType('sipUri', alice.emailAddress),
192
+ null
193
+ );
194
+ })
195
+ .catch((e) => {
196
+ console.error('Alice bob meeting is deleted', e);
197
+ throw e;
198
+ });
199
+ }));
168
200
  });
169
201
 
170
202
  // Enabled when config.enableUnifiedMeetings = true
@@ -174,30 +206,42 @@ skipInNode(describe)('plugin-meetings', () => {
174
206
  assert.equal(Object.keys(bob.webex.meetings.getAllMeetings()), 0);
175
207
  assert.equal(Object.keys(chris.webex.meetings.getAllMeetings()), 0);
176
208
 
177
- const conversation = await chris.webex.internal.conversation.create({participants: [bob]});
209
+ const conversation = await chris.webex.internal.conversation.create({
210
+ participants: [bob],
211
+ });
178
212
 
179
- await chris.webex.internal.conversation.post(conversation, {displayName: 'hello world how are you '});
213
+ await chris.webex.internal.conversation.post(conversation, {
214
+ displayName: 'hello world how are you ',
215
+ });
180
216
 
181
217
  await Promise.all([
182
- testUtils.delayedPromise(chris.webex.meetings.create(conversation.url, 'CONVERSATION_URL')),
183
- testUtils.waitForEvents([{scope: chris.webex.meetings, event: 'meeting:added', user: chris}])
184
- ])
185
- .then(function chrisJoinsMeeting() {
186
- return Promise.all([
187
- testUtils.delayedPromise(chris.meeting.join()),
188
- testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:added', user: bob},
189
- {scope: chris.meeting, event: 'meeting:stateChange', user: chris}])
190
- .then((response) => {
191
- assert.equal(response[0].result.payload.currentState, 'ACTIVE');
192
- })
193
- ]);
194
- });
218
+ testUtils.delayedPromise(
219
+ chris.webex.meetings.create(conversation.url, 'CONVERSATION_URL')
220
+ ),
221
+ testUtils.waitForEvents([
222
+ {scope: chris.webex.meetings, event: 'meeting:added', user: chris},
223
+ ]),
224
+ ]).then(function chrisJoinsMeeting() {
225
+ return Promise.all([
226
+ testUtils.delayedPromise(chris.meeting.join()),
227
+ testUtils
228
+ .waitForEvents([
229
+ {scope: bob.webex.meetings, event: 'meeting:added', user: bob},
230
+ {scope: chris.meeting, event: 'meeting:stateChange', user: chris},
231
+ ])
232
+ .then((response) => {
233
+ assert.equal(response[0].result.payload.currentState, 'ACTIVE');
234
+ }),
235
+ ]);
236
+ });
195
237
  });
196
238
 
197
239
  it('Fetch meeting information with invalid conversation URL and throws error', () => {
198
- chris.webex.meetings.meetingInfo.fetchMeetingInfo('http://some-invalid.com', 'CONVERSATION_URL').then((response) => {
199
- assert(response.result === '404');
200
- });
240
+ chris.webex.meetings.meetingInfo
241
+ .fetchMeetingInfo('http://some-invalid.com', 'CONVERSATION_URL')
242
+ .then((response) => {
243
+ assert(response.result === '404');
244
+ });
201
245
  });
202
246
  });
203
247
  });
@@ -207,7 +251,11 @@ skipInNode(describe)('plugin-meetings', () => {
207
251
  // Workaround since getDisplayMedia requires a user gesture to be activated, and this is a integration tests
208
252
  // https://bugzilla.mozilla.org/show_bug.cgi?id=1580944
209
253
  if (isBrowser('firefox') || isBrowser('safari')) {
210
- sinon.replace(navigator.mediaDevices, 'getDisplayMedia', navigator.mediaDevices.getUserMedia);
254
+ sinon.replace(
255
+ navigator.mediaDevices,
256
+ 'getDisplayMedia',
257
+ navigator.mediaDevices.getUserMedia
258
+ );
211
259
  }
212
260
 
213
261
  this.timeout(80000);
@@ -217,76 +265,100 @@ skipInNode(describe)('plugin-meetings', () => {
217
265
  assert.equal(Object.keys(bob.webex.meetings.getAllMeetings()), 0);
218
266
  assert.equal(Object.keys(alice.webex.meetings.getAllMeetings()), 0);
219
267
 
220
- return alice.webex.internal.conversation.create({participants: [bob]})
221
- .then((conversation) => alice.webex.internal.conversation.post(conversation, {displayName: 'hello world how are you '}));
268
+ return alice.webex.internal.conversation
269
+ .create({participants: [bob]})
270
+ .then((conversation) =>
271
+ alice.webex.internal.conversation.post(conversation, {
272
+ displayName: 'hello world how are you ',
273
+ })
274
+ );
222
275
  });
223
276
 
224
- it('alice dials bob and adds media', () => Promise.all([
225
- testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
226
- testUtils.waitForEvents([{scope: alice.webex.meetings, event: 'meeting:added', user: alice}])
227
- ])
228
- .then(function aliceJoinsMeeting() {
229
- return Promise.all([
230
- testUtils.delayedPromise(alice.meeting.join()),
231
- testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:added', user: bob},
232
- {scope: alice.meeting, event: 'meeting:stateChange', user: alice}])
233
- .then((response) => {
234
- assert.equal(response[0].result.payload.currentState, 'ACTIVE');
235
- })
236
- ]);
237
- })
238
- .then(() => {
239
- assert.equal(bob.meeting.partner.state, 'JOINED');
240
- // Wait for openH264 to finsish downloading and peerConnection to be stable
241
- testUtils.waitUntil(4000);
242
- })
243
- .then(() => Promise.all([
244
- testUtils.addMedia(alice),
277
+ it('alice dials bob and adds media', () =>
278
+ Promise.all([
279
+ testUtils.delayedPromise(alice.webex.meetings.create(bob.emailAddress)),
245
280
  testUtils.waitForEvents([
246
- {scope: alice.meeting, event: 'meeting:media:local:start', user: alice}
247
- ])
248
- ]))
249
- .then(() => assert(enumerateSpy.called)));
281
+ {scope: alice.webex.meetings, event: 'meeting:added', user: alice},
282
+ ]),
283
+ ])
284
+ .then(function aliceJoinsMeeting() {
285
+ return Promise.all([
286
+ testUtils.delayedPromise(alice.meeting.join()),
287
+ testUtils
288
+ .waitForEvents([
289
+ {scope: bob.webex.meetings, event: 'meeting:added', user: bob},
290
+ {scope: alice.meeting, event: 'meeting:stateChange', user: alice},
291
+ ])
292
+ .then((response) => {
293
+ assert.equal(response[0].result.payload.currentState, 'ACTIVE');
294
+ }),
295
+ ]);
296
+ })
297
+ .then(() => {
298
+ assert.equal(bob.meeting.partner.state, 'JOINED');
299
+ // Wait for openH264 to finsish downloading and peerConnection to be stable
300
+ testUtils.waitUntil(4000);
301
+ })
302
+ .then(() =>
303
+ Promise.all([
304
+ testUtils.addMedia(alice),
305
+ testUtils.waitForEvents([
306
+ {scope: alice.meeting, event: 'meeting:media:local:start', user: alice},
307
+ ]),
308
+ ])
309
+ )
310
+ .then(() => assert(enumerateSpy.called)));
250
311
 
251
312
  it('bob joins the meeting', () => {
252
- const checkBobIsInMeeting = (event) => !!event.delta.updated.find((member) => bob.meeting.members.selfId === member.id && member.status === 'IN_MEETING');
313
+ const checkBobIsInMeeting = (event) =>
314
+ !!event.delta.updated.find(
315
+ (member) => bob.meeting.members.selfId === member.id && member.status === 'IN_MEETING'
316
+ );
253
317
 
254
318
  return Promise.all([
255
319
  bob.meeting.acknowledge('INCOMING').then(() => bob.meeting.join()),
256
- testUtils.waitForEvents([{
257
- scope: alice.meeting.members, event: 'members:update', user: alice, match: checkBobIsInMeeting
258
- }])
320
+ testUtils.waitForEvents([
321
+ {
322
+ scope: alice.meeting.members,
323
+ event: 'members:update',
324
+ user: alice,
325
+ match: checkBobIsInMeeting,
326
+ },
327
+ ]),
259
328
  ]);
260
329
  });
261
330
 
262
- it('bob adds media to the meeting', () => Promise.all([
263
- testUtils.addMedia(bob),
264
- testUtils.waitForEvents([
265
- {scope: bob.meeting, event: 'meeting:media:local:start', user: bob},
266
- {scope: alice.meeting, event: 'meeting:media:remote:start', user: alice}
267
- ]).catch((e) => {
268
- console.error('Error on remote and local start event', e);
269
- throw e;
270
- })
271
- ])
272
- .then(() => {
273
- assert.equal(bob.meeting.sipUri, alice.id);
274
- assert.equal(alice.meeting.sipUri, bob.id);
275
- assert.exists(alice.meeting.members.locusUrl);
276
- assert.equal(alice.meeting.type, 'CALL');
277
- assert.equal(bob.meeting.type, 'CALL');
278
- assert(enumerateSpy.called);
279
- })
280
- .then(function bobState() {
281
- testUtils.waitForStateChange(bob.meeting, 'JOINED');
282
- })
283
- .then(function aliceState() {
284
- testUtils.waitForStateChange(alice.meeting, 'JOINED');
285
- })
286
- .catch((e) => {
287
- console.error('Error bob joins the meeting ', e);
288
- throw e;
289
- }));
331
+ it('bob adds media to the meeting', () =>
332
+ Promise.all([
333
+ testUtils.addMedia(bob),
334
+ testUtils
335
+ .waitForEvents([
336
+ {scope: bob.meeting, event: 'meeting:media:local:start', user: bob},
337
+ {scope: alice.meeting, event: 'meeting:media:remote:start', user: alice},
338
+ ])
339
+ .catch((e) => {
340
+ console.error('Error on remote and local start event', e);
341
+ throw e;
342
+ }),
343
+ ])
344
+ .then(() => {
345
+ assert.equal(bob.meeting.sipUri, alice.id);
346
+ assert.equal(alice.meeting.sipUri, bob.id);
347
+ assert.exists(alice.meeting.members.locusUrl);
348
+ assert.equal(alice.meeting.type, 'CALL');
349
+ assert.equal(bob.meeting.type, 'CALL');
350
+ assert(enumerateSpy.called);
351
+ })
352
+ .then(function bobState() {
353
+ testUtils.waitForStateChange(bob.meeting, 'JOINED');
354
+ })
355
+ .then(function aliceState() {
356
+ testUtils.waitForStateChange(alice.meeting, 'JOINED');
357
+ })
358
+ .catch((e) => {
359
+ console.error('Error bob joins the meeting ', e);
360
+ throw e;
361
+ }));
290
362
 
291
363
  it('check for meeting properties', () => {
292
364
  assert.exists(alice.meeting.userId, 'userId not present');
@@ -301,136 +373,183 @@ skipInNode(describe)('plugin-meetings', () => {
301
373
  });
302
374
 
303
375
  it('alice Audio Mute ', () => {
304
- const checkEvent = (event) => !!event.delta.updated.find((member) => alice.meeting.members.selfId === member.id && member.isAudioMuted === true);
305
-
376
+ const checkEvent = (event) =>
377
+ !!event.delta.updated.find(
378
+ (member) => alice.meeting.members.selfId === member.id && member.isAudioMuted === true
379
+ );
306
380
 
307
381
  return Promise.all([
308
382
  testUtils.delayedPromise(alice.meeting.muteAudio()),
309
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update', match: checkEvent}])
310
- ])
311
- .then(() => {
312
- assert.equal(alice.meeting.audio.muted, true);
313
- assert.equal(alice.meeting.isAudioMuted(), true);
314
- });
383
+ testUtils.waitForEvents([
384
+ {scope: bob.meeting.members, event: 'members:update', match: checkEvent},
385
+ ]),
386
+ ]).then(() => {
387
+ assert.equal(alice.meeting.audio.muted, true);
388
+ assert.equal(alice.meeting.isAudioMuted(), true);
389
+ });
315
390
  });
316
391
 
317
392
  it('alice Audio unMute ', () => {
318
- const checkEvent = (event) => !!event.delta.updated.find((member) => alice.meeting.members.selfId === member.id && member.isAudioMuted === false);
393
+ const checkEvent = (event) =>
394
+ !!event.delta.updated.find(
395
+ (member) => alice.meeting.members.selfId === member.id && member.isAudioMuted === false
396
+ );
319
397
 
320
398
  return Promise.all([
321
399
  testUtils.delayedPromise(alice.meeting.unmuteAudio()),
322
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update', match: checkEvent}])
323
- ])
324
- .then(() => {
325
- assert.equal(alice.meeting.audio.muted, false);
326
- assert.equal(alice.meeting.isAudioMuted(), false);
327
- });
400
+ testUtils.waitForEvents([
401
+ {scope: bob.meeting.members, event: 'members:update', match: checkEvent},
402
+ ]),
403
+ ]).then(() => {
404
+ assert.equal(alice.meeting.audio.muted, false);
405
+ assert.equal(alice.meeting.isAudioMuted(), false);
406
+ });
328
407
  });
329
408
 
330
409
  it('alice Video Mute', () => {
331
- const checkEvent = (event) => !!event.delta.updated.find((member) => alice.meeting.members.selfId === member.id && member.isVideoMuted === true);
410
+ const checkEvent = (event) =>
411
+ !!event.delta.updated.find(
412
+ (member) => alice.meeting.members.selfId === member.id && member.isVideoMuted === true
413
+ );
332
414
 
333
415
  return Promise.all([
334
416
  testUtils.delayedPromise(alice.meeting.muteVideo()),
335
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: checkEvent}])
336
- ])
337
- .then(() => {
338
- assert.equal(alice.meeting.video.muted, true);
339
- assert.equal(alice.meeting.isVideoMuted(), true);
340
- });
417
+ testUtils.waitForEvents([
418
+ {scope: alice.meeting.members, event: 'members:update', match: checkEvent},
419
+ ]),
420
+ ]).then(() => {
421
+ assert.equal(alice.meeting.video.muted, true);
422
+ assert.equal(alice.meeting.isVideoMuted(), true);
423
+ });
341
424
  });
342
425
 
343
426
  it('alice video unMute', () => {
344
- const checkEvent = (event) => !!event.delta.updated.find((member) => alice.meeting.members.selfId === member.id && member.isVideoMuted === false);
427
+ const checkEvent = (event) =>
428
+ !!event.delta.updated.find(
429
+ (member) => alice.meeting.members.selfId === member.id && member.isVideoMuted === false
430
+ );
345
431
 
346
432
  return Promise.all([
347
433
  testUtils.delayedPromise(alice.meeting.unmuteVideo()),
348
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update', match: checkEvent}])
349
- ])
350
- .then(() => {
351
- assert.equal(alice.meeting.video.muted, false);
352
- assert.equal(alice.meeting.isVideoMuted(), false);
353
- });
434
+ testUtils.waitForEvents([
435
+ {scope: bob.meeting.members, event: 'members:update', match: checkEvent},
436
+ ]),
437
+ ]).then(() => {
438
+ assert.equal(alice.meeting.video.muted, false);
439
+ assert.equal(alice.meeting.isVideoMuted(), false);
440
+ });
354
441
  });
355
442
 
356
443
  it('alice update Audio', () => {
357
444
  const oldVideoTrackId = alice.meeting.mediaProperties.videoTrack.id;
358
445
 
359
- return alice.meeting.getMediaStreams({sendAudio: true})
360
- .then((response) => Promise.all([
361
- testUtils.delayedPromise(alice.meeting.updateAudio({
362
- sendAudio: true,
363
- receiveAudio: true,
364
- stream: response[0]
365
- })
366
- .then(() => {
367
- console.log('AUDIO ', alice.meeting.mediaProperties.audioTrack);
368
- assert.equal(alice.meeting.mediaProperties.audioTrack.id, response[0].getAudioTracks()[0].id);
369
- assert.equal(alice.meeting.mediaProperties.videoTrack.id, oldVideoTrackId);
370
- })),
371
- testUtils.waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
446
+ return alice.meeting.getMediaStreams({sendAudio: true}).then((response) =>
447
+ Promise.all([
448
+ testUtils.delayedPromise(
449
+ alice.meeting
450
+ .updateAudio({
451
+ sendAudio: true,
452
+ receiveAudio: true,
453
+ stream: response[0],
454
+ })
455
+ .then(() => {
456
+ console.log('AUDIO ', alice.meeting.mediaProperties.audioTrack);
457
+ assert.equal(
458
+ alice.meeting.mediaProperties.audioTrack.id,
459
+ response[0].getAudioTracks()[0].id
460
+ );
461
+ assert.equal(alice.meeting.mediaProperties.videoTrack.id, oldVideoTrackId);
462
+ })
463
+ ),
464
+ testUtils
465
+ .waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
372
466
  .then((response) => {
373
467
  console.log('MEDIA:READY event ', response[0].result);
374
468
  assert.equal(response[0].result.type === 'local', true);
375
- })
376
- ]));
469
+ }),
470
+ ])
471
+ );
377
472
  });
378
473
 
379
474
  it('alice update video', () => {
380
475
  const oldAudioTrackId = alice.meeting.mediaProperties.audioTrack.id;
381
476
 
382
- return alice.meeting.getMediaStreams({sendVideo: true})
383
- .then((response) => Promise.all([
384
- testUtils.delayedPromise(alice.meeting.updateVideo({
385
- sendVideo: true,
386
- receiveVideo: true,
387
- stream: response[0]
388
- })
389
- .then(() => {
390
- assert.equal(alice.meeting.mediaProperties.videoTrack.id, response[0].getVideoTracks()[0].id);
391
- assert.equal(alice.meeting.mediaProperties.audioTrack.id, oldAudioTrackId);
392
- })),
393
- testUtils.waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
477
+ return alice.meeting.getMediaStreams({sendVideo: true}).then((response) =>
478
+ Promise.all([
479
+ testUtils.delayedPromise(
480
+ alice.meeting
481
+ .updateVideo({
482
+ sendVideo: true,
483
+ receiveVideo: true,
484
+ stream: response[0],
485
+ })
486
+ .then(() => {
487
+ assert.equal(
488
+ alice.meeting.mediaProperties.videoTrack.id,
489
+ response[0].getVideoTracks()[0].id
490
+ );
491
+ assert.equal(alice.meeting.mediaProperties.audioTrack.id, oldAudioTrackId);
492
+ })
493
+ ),
494
+ testUtils
495
+ .waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
394
496
  .then((response) => {
395
497
  console.log('MEDIA:READY event ', response[0].result);
396
498
  assert.equal(response[0].result.type === 'local', true);
397
- })
398
- ]));
499
+ }),
500
+ ])
501
+ );
399
502
  });
400
503
 
401
- it('alice mutes bob', () => Promise.all([
402
- testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, true)),
403
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:self:mutedByOthers'}])
404
- .then((response) => {
405
- console.log('meeting:self:mutedByOthers event ', response[0].result);
406
- assert.equal(response[0].result.payload.unmuteAllowed, true);
407
- })
408
- ]));
409
-
410
- it('alice unmutes bob', () => Promise.all([
411
- testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, false)),
412
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:self:unmutedByOthers'}])
413
- .then((response) => {
414
- console.log('meeting:self:unmutedByOthers event ', response[0].result);
415
- })
416
- ]));
504
+ it('alice mutes bob', () =>
505
+ Promise.all([
506
+ testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, true)),
507
+ testUtils
508
+ .waitForEvents([{scope: bob.meeting, event: 'meeting:self:mutedByOthers'}])
509
+ .then((response) => {
510
+ console.log('meeting:self:mutedByOthers event ', response[0].result);
511
+ assert.equal(response[0].result.payload.unmuteAllowed, true);
512
+ }),
513
+ ]));
514
+
515
+ it('alice unmutes bob', () =>
516
+ Promise.all([
517
+ testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, false)),
518
+ testUtils
519
+ .waitForEvents([{scope: bob.meeting, event: 'meeting:self:unmutedByOthers'}])
520
+ .then((response) => {
521
+ console.log('meeting:self:unmutedByOthers event ', response[0].result);
522
+ }),
523
+ ]));
417
524
 
418
525
  it('bob audio mute, so alice cannot unmute bob', (done) => {
419
- const checkEvent = (event) => !!event.delta.updated.find((member) => bob.meeting.members.selfId === member.id && member.isAudioMuted === true);
526
+ const checkEvent = (event) =>
527
+ !!event.delta.updated.find(
528
+ (member) => bob.meeting.members.selfId === member.id && member.isAudioMuted === true
529
+ );
420
530
 
421
531
  // first bob mutes himself
422
532
  Promise.all([
423
533
  testUtils.delayedPromise(bob.meeting.muteAudio()),
424
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update', match: checkEvent}])
534
+ testUtils.waitForEvents([
535
+ {scope: bob.meeting.members, event: 'members:update', match: checkEvent},
536
+ ]),
425
537
  ])
426
538
  .then(() => {
427
539
  assert.equal(bob.meeting.audio.muted, true);
428
540
  assert.equal(bob.meeting.isAudioMuted(), true);
429
541
  })
430
542
  // now alice tries to unmmut bob
431
- .then(() => testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, false)))
543
+ .then(() =>
544
+ testUtils.delayedPromise(alice.meeting.mute(bob.meeting.members.selfId, false))
545
+ )
432
546
  // expect the waitForEvents to timeout
433
- .then(() => testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:self:unmutedByOthers'}], 2000))
547
+ .then(() =>
548
+ testUtils.waitForEvents(
549
+ [{scope: bob.meeting, event: 'meeting:self:unmutedByOthers'}],
550
+ 2000
551
+ )
552
+ )
434
553
  .then(() => {
435
554
  assert.fail('bob received unexpected meeting:self:unmutedByOthers event');
436
555
  })
@@ -442,74 +561,94 @@ skipInNode(describe)('plugin-meetings', () => {
442
561
  });
443
562
 
444
563
  it('bob audio unmute ', () => {
445
- const checkEvent = (event) => !!event.delta.updated.find((member) => bob.meeting.members.selfId === member.id && member.isAudioMuted === false);
564
+ const checkEvent = (event) =>
565
+ !!event.delta.updated.find(
566
+ (member) => bob.meeting.members.selfId === member.id && member.isAudioMuted === false
567
+ );
446
568
 
447
569
  return Promise.all([
448
570
  testUtils.delayedPromise(bob.meeting.unmuteAudio()),
449
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: checkEvent}])
450
- ])
451
- .then(() => {
452
- assert.equal(bob.meeting.audio.muted, false);
453
- assert.equal(bob.meeting.isAudioMuted(), false);
454
- });
571
+ testUtils.waitForEvents([
572
+ {scope: alice.meeting.members, event: 'members:update', match: checkEvent},
573
+ ]),
574
+ ]).then(() => {
575
+ assert.equal(bob.meeting.audio.muted, false);
576
+ assert.equal(bob.meeting.isAudioMuted(), false);
577
+ });
455
578
  });
456
579
 
457
- it('alice shares the screen with highFrameRate', () => Promise.all([
458
- testUtils.delayedPromise(alice.meeting.shareScreen({sharePreferences: {highFrameRate: true}})),
459
- testUtils.waitForEvents([
460
- {scope: alice.meeting, event: 'meeting:startedSharingLocal'}
461
- ]),
462
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingRemote'}])
463
- .then((response) => {
464
- assert.equal(response[0].result.memberId, alice.meeting.selfId);
465
- }),
466
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
467
- .then((response) => {
468
- console.log('SCREEN SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
469
- }),
470
- testUtils.waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
471
- .then((response) => {
472
- console.log('MEDIA:READY event ', response[0].result);
473
- assert.equal(response[0].result.type === 'localShare', true);
474
- })
475
- ])
476
- .then(() => {
580
+ it('alice shares the screen with highFrameRate', () =>
581
+ Promise.all([
582
+ testUtils.delayedPromise(
583
+ alice.meeting.shareScreen({sharePreferences: {highFrameRate: true}})
584
+ ),
585
+ testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingLocal'}]),
586
+ testUtils
587
+ .waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingRemote'}])
588
+ .then((response) => {
589
+ assert.equal(response[0].result.memberId, alice.meeting.selfId);
590
+ }),
591
+ testUtils
592
+ .waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
593
+ .then((response) => {
594
+ console.log(
595
+ 'SCREEN SHARE RESPONSE ',
596
+ JSON.stringify(response, testUtils.getCircularReplacer())
597
+ );
598
+ }),
599
+ testUtils
600
+ .waitForEvents([{scope: alice.meeting, event: 'media:ready'}])
601
+ .then((response) => {
602
+ console.log('MEDIA:READY event ', response[0].result);
603
+ assert.equal(response[0].result.type === 'localShare', true);
604
+ }),
605
+ ]).then(() => {
477
606
  // TODO: Re-eanable Safari when screensharing issues have been resolved
478
607
  if (!isBrowser('safari')) {
479
- assert.equal(alice.meeting.mediaProperties.shareTrack.getConstraints().height, 720);
608
+ assert.equal(alice.meeting.mediaProperties.shareTrack.underlyingTrack.getConstraints().height, 720);
480
609
  }
481
610
  assert.equal(alice.meeting.isSharing, true);
482
611
  assert.equal(alice.meeting.shareStatus, 'local_share_active');
483
612
  assert.equal(bob.meeting.shareStatus, 'remote_share_active');
484
- console.log('SCREEN SHARE PARTICIPANTS ', JSON.stringify(alice.meeting.locusInfo.participants));
613
+ console.log(
614
+ 'SCREEN SHARE PARTICIPANTS ',
615
+ JSON.stringify(alice.meeting.locusInfo.participants)
616
+ );
485
617
 
486
618
  return testUtils.waitUntil(10000);
487
619
  }));
488
620
 
489
- it('bob steals the screen share from alice', () => Promise.all([
490
- testUtils.delayedPromise(bob.meeting.shareScreen()),
491
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingLocal'}]),
492
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingLocal'}]),
493
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingRemote'}])
494
- .then((response) => {
495
- assert.equal(response[0].result.memberId, bob.meeting.selfId);
496
- }),
497
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
498
- .then((response) => {
499
- console.log('SCREEN SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
500
- }),
501
- testUtils.waitForEvents([{scope: bob.meeting, event: 'media:ready'}])
502
- .then((response) => {
621
+ it('bob steals the screen share from alice', () =>
622
+ Promise.all([
623
+ testUtils.delayedPromise(bob.meeting.shareScreen()),
624
+ testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingLocal'}]),
625
+ testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingLocal'}]),
626
+ testUtils
627
+ .waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingRemote'}])
628
+ .then((response) => {
629
+ assert.equal(response[0].result.memberId, bob.meeting.selfId);
630
+ }),
631
+ testUtils
632
+ .waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
633
+ .then((response) => {
634
+ console.log(
635
+ 'SCREEN SHARE RESPONSE ',
636
+ JSON.stringify(response, testUtils.getCircularReplacer())
637
+ );
638
+ }),
639
+ testUtils.waitForEvents([{scope: bob.meeting, event: 'media:ready'}]).then((response) => {
503
640
  console.log('MEDIA:READY event ', response[0].result);
504
641
  assert.equal(response[0].result.type === 'localShare', true);
505
- })
506
- ])
507
- .then(() => {
642
+ }),
643
+ ]).then(() => {
508
644
  const heightResolution = DEFAULT_RESOLUTIONS.meetings.screenResolution.idealHeight;
509
645
 
510
646
  // TODO: Re-eanable Safari when screensharing issues have been resolved
511
647
  if (!isBrowser('safari')) {
512
- assert.equal(bob.meeting.mediaProperties.shareTrack.getConstraints().height, heightResolution);
648
+ assert.equal(
649
+ bob.meeting.mediaProperties.shareTrack.underlyingTrack.getConstraints().height,
650
+ heightResolution
651
+ );
513
652
  }
514
653
  assert.equal(bob.meeting.isSharing, true);
515
654
  assert.equal(bob.meeting.shareStatus, 'local_share_active');
@@ -518,128 +657,158 @@ skipInNode(describe)('plugin-meetings', () => {
518
657
  return testUtils.waitUntil(10000);
519
658
  }));
520
659
 
521
- it('bob stops sharing ', () => Promise.all([
522
- // Wait for peerConnection to stabalize
523
- testUtils.waitUntil(20000),
524
- testUtils.delayedPromise(bob.meeting.updateShare({
525
- sendShare: false,
526
- receiveShare: true
527
- })),
528
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:stoppedSharingLocal'}]),
529
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingRemote'}])
530
- ])
531
- .then(() => {
660
+ it('bob stops sharing ', () =>
661
+ Promise.all([
662
+ // Wait for peerConnection to stabalize
663
+ testUtils.waitUntil(20000),
664
+ testUtils.delayedPromise(
665
+ bob.meeting.updateShare({
666
+ sendShare: false,
667
+ receiveShare: true,
668
+ })
669
+ ),
670
+ testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:stoppedSharingLocal'}]),
671
+ testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingRemote'}]),
672
+ ]).then(() => {
532
673
  assert.equal(bob.meeting.isSharing, false);
533
674
  assert.equal(bob.meeting.shareStatus, 'no_share');
534
675
  assert.equal(alice.meeting.shareStatus, 'no_share');
535
676
  }));
536
677
 
537
- it('alice shares whiteboard A', () => Promise.all([
538
- testUtils.delayedPromise(alice.meeting.startWhiteboardShare(channelUrlA)),
539
- testUtils.waitForEvents([
540
- {scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}
541
- ]),
542
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}])
543
- .then((response) => {
544
- const {memberId, resourceUrl} = response[0].result;
545
-
546
- assert.equal(memberId, alice.meeting.selfId);
547
- assert.equal(resourceUrl, channelUrlA);
548
- }),
549
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
550
- .then((response) => {
551
- console.log('WHITEBOARD SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
552
- })
553
- ])
554
- .then(() => {
678
+ it('alice shares whiteboard A', () =>
679
+ Promise.all([
680
+ testUtils.delayedPromise(alice.meeting.startWhiteboardShare(channelUrlA)),
681
+ testUtils.waitForEvents([
682
+ {scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'},
683
+ ]),
684
+ testUtils
685
+ .waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}])
686
+ .then((response) => {
687
+ const {memberId, resourceUrl} = response[0].result;
688
+
689
+ assert.equal(memberId, alice.meeting.selfId);
690
+ assert.equal(resourceUrl, channelUrlA);
691
+ }),
692
+ testUtils
693
+ .waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
694
+ .then((response) => {
695
+ console.log(
696
+ 'WHITEBOARD SHARE RESPONSE ',
697
+ JSON.stringify(response, testUtils.getCircularReplacer())
698
+ );
699
+ }),
700
+ ]).then(() => {
555
701
  assert.equal(alice.meeting.isSharing, false);
556
702
  assert.equal(alice.meeting.shareStatus, 'whiteboard_share_active');
557
703
  assert.equal(bob.meeting.shareStatus, 'whiteboard_share_active');
558
704
  }));
559
705
 
560
- it('bob steals share from alice with whiteboard B', () => Promise.all([
561
- testUtils.delayedPromise(bob.meeting.startWhiteboardShare(channelUrlB)),
562
- testUtils.waitForEvents([
563
- {scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}
564
- ]),
565
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}])
566
- .then((response) => {
567
- const {memberId, resourceUrl} = response[0].result;
568
-
569
- assert.equal(memberId, bob.meeting.selfId);
570
- assert.equal(resourceUrl, channelUrlB);
571
- }),
572
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
573
- .then((response) => {
574
- console.log('WHITEBOARD SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
575
- })
576
- ])
577
- .then(() => {
706
+ it('bob steals share from alice with whiteboard B', () =>
707
+ Promise.all([
708
+ testUtils.delayedPromise(bob.meeting.startWhiteboardShare(channelUrlB)),
709
+ testUtils.waitForEvents([
710
+ {scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'},
711
+ ]),
712
+ testUtils
713
+ .waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}])
714
+ .then((response) => {
715
+ const {memberId, resourceUrl} = response[0].result;
716
+
717
+ assert.equal(memberId, bob.meeting.selfId);
718
+ assert.equal(resourceUrl, channelUrlB);
719
+ }),
720
+ testUtils
721
+ .waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
722
+ .then((response) => {
723
+ console.log(
724
+ 'WHITEBOARD SHARE RESPONSE ',
725
+ JSON.stringify(response, testUtils.getCircularReplacer())
726
+ );
727
+ }),
728
+ ]).then(() => {
578
729
  assert.equal(bob.meeting.isSharing, false);
579
730
  assert.equal(alice.meeting.shareStatus, 'whiteboard_share_active');
580
731
  assert.equal(bob.meeting.shareStatus, 'whiteboard_share_active');
581
732
  }));
582
733
 
583
- it('bob stops sharing ', () => Promise.all([
584
- // Wait for peerConnection to stabalize
585
- testUtils.waitUntil(20000),
586
- testUtils.delayedPromise(bob.meeting.stopWhiteboardShare(channelUrlB)),
587
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:stoppedSharingWhiteboard'}]),
588
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingWhiteboard'}])
589
- ])
590
- .then(() => {
734
+ it('bob stops sharing ', () =>
735
+ Promise.all([
736
+ // Wait for peerConnection to stabalize
737
+ testUtils.waitUntil(20000),
738
+ testUtils.delayedPromise(bob.meeting.stopWhiteboardShare(channelUrlB)),
739
+ testUtils.waitForEvents([
740
+ {scope: bob.meeting, event: 'meeting:stoppedSharingWhiteboard'},
741
+ ]),
742
+ testUtils.waitForEvents([
743
+ {scope: alice.meeting, event: 'meeting:stoppedSharingWhiteboard'},
744
+ ]),
745
+ ]).then(() => {
591
746
  assert.equal(bob.meeting.isSharing, false);
592
747
  assert.equal(bob.meeting.shareStatus, 'no_share');
593
748
  assert.equal(alice.meeting.shareStatus, 'no_share');
594
749
  }));
595
750
 
596
- it('alice shares whiteboard B', () => Promise.all([
597
- testUtils.delayedPromise(alice.meeting.startWhiteboardShare(channelUrlB)),
598
- testUtils.waitForEvents([
599
- {scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}
600
- ]),
601
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}])
602
- .then((response) => {
603
- const {memberId, resourceUrl} = response[0].result;
604
-
605
- assert.equal(memberId, alice.meeting.selfId);
606
- assert.equal(resourceUrl, channelUrlB);
607
- }),
608
- testUtils.waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
609
- .then((response) => {
610
- console.log('WHITEBOARD SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
611
- })
612
- ])
613
- .then(() => {
751
+ it('alice shares whiteboard B', () =>
752
+ Promise.all([
753
+ testUtils.delayedPromise(alice.meeting.startWhiteboardShare(channelUrlB)),
754
+ testUtils.waitForEvents([
755
+ {scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'},
756
+ ]),
757
+ testUtils
758
+ .waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}])
759
+ .then((response) => {
760
+ const {memberId, resourceUrl} = response[0].result;
761
+
762
+ assert.equal(memberId, alice.meeting.selfId);
763
+ assert.equal(resourceUrl, channelUrlB);
764
+ }),
765
+ testUtils
766
+ .waitForEvents([{scope: bob.meeting.members, event: 'members:update'}])
767
+ .then((response) => {
768
+ console.log(
769
+ 'WHITEBOARD SHARE RESPONSE ',
770
+ JSON.stringify(response, testUtils.getCircularReplacer())
771
+ );
772
+ }),
773
+ ]).then(() => {
614
774
  assert.equal(alice.meeting.isSharing, false);
615
775
  assert.equal(alice.meeting.shareStatus, 'whiteboard_share_active');
616
776
  assert.equal(bob.meeting.shareStatus, 'whiteboard_share_active');
617
777
  }));
618
778
 
619
- it('bob steals the share from alice with desktop share', () => Promise.all([
620
- testUtils.delayedPromise(bob.meeting.shareScreen()),
621
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:stoppedSharingWhiteboard'}]),
622
- testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingLocal'}]),
623
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingRemote'}])
624
- .then((response) => {
625
- assert.equal(response[0].result.memberId, bob.meeting.selfId);
626
- }),
627
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
628
- .then((response) => {
629
- console.log('SCREEN SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
630
- }),
631
- testUtils.waitForEvents([{scope: bob.meeting, event: 'media:ready'}])
632
- .then((response) => {
779
+ it('bob steals the share from alice with desktop share', () =>
780
+ Promise.all([
781
+ testUtils.delayedPromise(bob.meeting.shareScreen()),
782
+ testUtils.waitForEvents([
783
+ {scope: alice.meeting, event: 'meeting:stoppedSharingWhiteboard'},
784
+ ]),
785
+ testUtils.waitForEvents([{scope: bob.meeting, event: 'meeting:startedSharingLocal'}]),
786
+ testUtils
787
+ .waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingRemote'}])
788
+ .then((response) => {
789
+ assert.equal(response[0].result.memberId, bob.meeting.selfId);
790
+ }),
791
+ testUtils
792
+ .waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
793
+ .then((response) => {
794
+ console.log(
795
+ 'SCREEN SHARE RESPONSE ',
796
+ JSON.stringify(response, testUtils.getCircularReplacer())
797
+ );
798
+ }),
799
+ testUtils.waitForEvents([{scope: bob.meeting, event: 'media:ready'}]).then((response) => {
633
800
  console.log('MEDIA:READY event ', response[0].result);
634
801
  assert.equal(response[0].result.type === 'localShare', true);
635
- })
636
- ])
637
- .then(() => {
802
+ }),
803
+ ]).then(() => {
638
804
  const heightResolution = DEFAULT_RESOLUTIONS.meetings.screenResolution.idealHeight;
639
805
 
640
806
  // TODO: Re-eanable Safari when screensharing issues have been resolved
641
807
  if (!isBrowser('safari')) {
642
- assert.equal(bob.meeting.mediaProperties.shareTrack.getConstraints().height, heightResolution);
808
+ assert.equal(
809
+ bob.meeting.mediaProperties.shareTrack.underlyingTrack.getConstraints().height,
810
+ heightResolution
811
+ );
643
812
  }
644
813
  assert.equal(bob.meeting.isSharing, true);
645
814
  assert.equal(bob.meeting.shareStatus, 'local_share_active');
@@ -648,65 +817,94 @@ skipInNode(describe)('plugin-meetings', () => {
648
817
  return testUtils.waitUntil(10000);
649
818
  }));
650
819
 
651
- it('bob shares whiteboard B', () => Promise.all([
652
- testUtils.delayedPromise(bob.meeting.startWhiteboardShare(channelUrlB)),
653
- testUtils.waitForEvents([
654
- {scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'}
655
- ]),
656
- testUtils.waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}])
657
- .then((response) => {
658
- const {memberId, resourceUrl} = response[0].result;
659
-
660
- assert.equal(memberId, bob.meeting.selfId);
661
- assert.equal(resourceUrl, channelUrlB);
662
- }),
663
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
664
- .then((response) => {
665
- console.log('WHITEBOARD SHARE RESPONSE ', JSON.stringify(response, testUtils.getCircularReplacer()));
666
- })
667
- ])
668
- .then(() => {
820
+ it('bob shares whiteboard B', () =>
821
+ Promise.all([
822
+ testUtils.delayedPromise(bob.meeting.startWhiteboardShare(channelUrlB)),
823
+ testUtils.waitForEvents([
824
+ {scope: bob.meeting, event: 'meeting:startedSharingWhiteboard'},
825
+ ]),
826
+ testUtils
827
+ .waitForEvents([{scope: alice.meeting, event: 'meeting:startedSharingWhiteboard'}])
828
+ .then((response) => {
829
+ const {memberId, resourceUrl} = response[0].result;
830
+
831
+ assert.equal(memberId, bob.meeting.selfId);
832
+ assert.equal(resourceUrl, channelUrlB);
833
+ }),
834
+ testUtils
835
+ .waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
836
+ .then((response) => {
837
+ console.log(
838
+ 'WHITEBOARD SHARE RESPONSE ',
839
+ JSON.stringify(response, testUtils.getCircularReplacer())
840
+ );
841
+ }),
842
+ ]).then(() => {
669
843
  assert.equal(bob.meeting.isSharing, false);
670
844
  assert.equal(alice.meeting.shareStatus, 'whiteboard_share_active');
671
845
  assert.equal(bob.meeting.shareStatus, 'whiteboard_share_active');
672
846
  }));
673
847
 
674
- it('alice adds chris as guest to 1:1 meeting', () => Promise.all([
675
- testUtils.delayedPromise(alice.meeting.invite({emailAddress: chris.emailAddress})),
676
- testUtils.waitForEvents([{scope: chris.webex.meetings, event: 'meeting:added', user: chris}]),
677
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
678
- .then((response) => {
679
- const chrisParticipant = response[0].result.delta.added.find((member) => member.participant.identity === chris.id);
680
-
681
- assert.equal(chrisParticipant.status, 'NOT_IN_MEETING');
848
+ it('alice adds chris as guest to 1:1 meeting', () =>
849
+ Promise.all([
850
+ testUtils.delayedPromise(alice.meeting.invite({emailAddress: chris.emailAddress})),
851
+ testUtils.waitForEvents([
852
+ {scope: chris.webex.meetings, event: 'meeting:added', user: chris},
853
+ ]),
854
+ testUtils
855
+ .waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
856
+ .then((response) => {
857
+ const chrisParticipant = response[0].result.delta.added.find(
858
+ (member) => member.participant.identity === chris.id
859
+ );
860
+
861
+ assert.equal(chrisParticipant.status, 'NOT_IN_MEETING');
862
+ }),
863
+ ])
864
+ .catch((e) => {
865
+ console.error('Error adding chris as guest ', e);
866
+ throw e;
682
867
  })
683
- ])
684
- .catch((e) => {
685
- console.error('Error adding chris as guest ', e);
686
- throw e;
687
- })
688
- .then(function memberUpdated() {
689
- assert.exists(chris.meeting);
690
-
691
- return Promise.all([
692
- testUtils.delayedPromise(chris.meeting.join()),
693
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(chris, 'IN_MEETING')}])
694
- ])
695
- .then(() => {
696
- assert.equal(alice.meeting.members.membersCollection.get(chris.meeting.members.selfId).participant.state, 'JOINED');
697
- })
698
- .then(() => testUtils.waitForStateChange(chris.meeting, 'JOINED'))
699
- .then(() => testUtils.addMedia(chris))
700
- .then(() => assert(enumerateSpy.called));
701
- })
702
- .then(() => Promise.all([
703
- testUtils.delayedPromise(chris.meeting.leave()),
704
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(chris, 'NOT_IN_MEETING')}])
705
- ]))
706
- .catch((e) => {
707
- console.error('Error chris joining the meeting ', e);
708
- throw e;
709
- }));
868
+ .then(function memberUpdated() {
869
+ assert.exists(chris.meeting);
870
+
871
+ return Promise.all([
872
+ testUtils.delayedPromise(chris.meeting.join()),
873
+ testUtils.waitForEvents([
874
+ {
875
+ scope: alice.meeting.members,
876
+ event: 'members:update',
877
+ match: testUtils.checkParticipantUpdatedStatus(chris, 'IN_MEETING'),
878
+ },
879
+ ]),
880
+ ])
881
+ .then(() => {
882
+ assert.equal(
883
+ alice.meeting.members.membersCollection.get(chris.meeting.members.selfId)
884
+ .participant.state,
885
+ 'JOINED'
886
+ );
887
+ })
888
+ .then(() => testUtils.waitForStateChange(chris.meeting, 'JOINED'))
889
+ .then(() => testUtils.addMedia(chris))
890
+ .then(() => assert(enumerateSpy.called));
891
+ })
892
+ .then(() =>
893
+ Promise.all([
894
+ testUtils.delayedPromise(chris.meeting.leave()),
895
+ testUtils.waitForEvents([
896
+ {
897
+ scope: alice.meeting.members,
898
+ event: 'members:update',
899
+ match: testUtils.checkParticipantUpdatedStatus(chris, 'NOT_IN_MEETING'),
900
+ },
901
+ ]),
902
+ ])
903
+ )
904
+ .catch((e) => {
905
+ console.error('Error chris joining the meeting ', e);
906
+ throw e;
907
+ }));
710
908
 
711
909
  it('leave on the meeting object', () => {
712
910
  const checkInactive = (result) => result.reason === 'CALL_INACTIVE';
@@ -716,10 +914,13 @@ skipInNode(describe)('plugin-meetings', () => {
716
914
  testUtils.waitForEvents([
717
915
  {scope: alice.meeting.members, event: 'members:update', user: alice},
718
916
  {
719
- scope: bob.webex.meetings, event: 'meeting:removed', user: bob, match: checkInactive
917
+ scope: bob.webex.meetings,
918
+ event: 'meeting:removed',
919
+ user: bob,
920
+ match: checkInactive,
720
921
  },
721
- {scope: alice.webex.meetings, event: 'meeting:removed', user: alice}
722
- ])
922
+ {scope: alice.webex.meetings, event: 'meeting:removed', user: alice},
923
+ ]),
723
924
  ])
724
925
  .then(() => {
725
926
  assert.equal(bob.meeting, null);