@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.
- package/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/breakouts/breakout.js +178 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/index.js +843 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +56 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.d.ts +2 -0
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/captcha-error.js +5 -26
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/intent-to-join.js +5 -26
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/join-meeting.js +6 -27
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/media.js +5 -26
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/password-error.js +5 -26
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/permission.js +4 -25
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/reconnection.js +5 -26
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/stats.js +5 -26
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +81 -0
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +34 -0
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +32 -0
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +73 -0
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +924 -0
- package/dist/constants.js +143 -52
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.d.ts +5 -0
- package/dist/controls-options-manager/enums.js +16 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.d.ts +120 -0
- package/dist/controls-options-manager/index.js +261 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/util.d.ts +7 -0
- package/dist/controls-options-manager/util.js +39 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/docs/markdown/index.md +12 -0
- package/dist/docs/markdown/plugin-meetings.constants._active_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._answer_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._call_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._created_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._error_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._forced_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._idle_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._join_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._joined_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._left_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._none_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._observe_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._people_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._remove_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._requested_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._s_line.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._slides_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._user_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._wait_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.alert.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.answer.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.api.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +60 -0
- package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +51 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.call.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.claim.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.complete.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.content.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.controls.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.decline.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +13 -0
- package/dist/docs/markdown/plugin-meetings.constants.development.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +51 -0
- package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.end.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ended.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.error.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +62 -0
- package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +82 -0
- package/dist/docs/markdown/plugin-meetings.constants.event_types.md +21 -0
- package/dist/docs/markdown/plugin-meetings.constants.events.md +26 -0
- package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.full_state.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.gathering.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.hecate.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.host.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.join.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +13 -0
- package/dist/docs/markdown/plugin-meetings.constants.leave.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.live.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.local.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.loci.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.locus.md +26 -0
- package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +33 -0
- package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +43 -0
- package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.md +186 -0
- package/dist/docs/markdown/plugin-meetings.constants.media.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_state.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.meet.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +20 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +102 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +25 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +31 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +20 -0
- package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meetings.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +82 -0
- package/dist/docs/markdown/plugin-meetings.constants.network_status.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.network_type.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.offline.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.online.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.participant.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +22 -0
- package/dist/docs/markdown/plugin-meetings.constants.password_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.reachability.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.ready.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.remote.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.resource.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.roap.md +22 -0
- package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.stats.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.type.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_input.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +24 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_status.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +11 -0
- package/dist/docs/markdown/plugin-meetings.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +30 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +38 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +15 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +15 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +16 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +33 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +23 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +36 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.md +227 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +16 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +33 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +35 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +35 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.md +18 -0
- package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +22 -0
- package/dist/docs/markdown/plugin-meetings.meetings.create.md +30 -0
- package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.md +57 -0
- package/dist/docs/markdown/plugin-meetings.meetings.media.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.register.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.registered.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.request.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +34 -0
- package/dist/docs/markdown/plugin-meetings.reactions.md +13 -0
- package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +11 -0
- package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +26 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.md +31 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +22 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +40 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +25 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +14 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +12 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +24 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +26 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +27 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +22 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +28 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +25 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +24 -0
- package/dist/docs/markdown/plugin-meetings.triggerproxy.md +11 -0
- package/dist/docs/metadata/index.api.json +14144 -0
- package/dist/docs/metadata/index.api.md +2075 -0
- package/dist/docs/metadata/index.d.ts +5594 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +72 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/controlsUtils.js +31 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +269 -0
- package/dist/locus-info/index.js +202 -201
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +212 -0
- package/dist/locus-info/parser.js +88 -123
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/locus-info/selfUtils.js +80 -89
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +32 -0
- package/dist/media/index.js +56 -146
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +108 -0
- package/dist/media/properties.js +71 -117
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.d.ts +2 -0
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +233 -0
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/effectsState.js +118 -192
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +79 -0
- package/dist/meeting/in-meeting-actions.js +31 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1621 -0
- package/dist/meeting/index.js +2175 -2266
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +116 -0
- package/dist/meeting/muteState.js +252 -113
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +255 -0
- package/dist/meeting/request.js +297 -283
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +2 -0
- package/dist/meeting/util.js +63 -217
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +57 -0
- package/dist/meeting-info/index.js +10 -33
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/meeting-info/meeting-info-v2.js +181 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +23 -0
- package/dist/meetings/collection.js +24 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +297 -0
- package/dist/meetings/index.js +566 -587
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/request.js +23 -42
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.d.ts +18 -0
- package/dist/meetings/util.js +151 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +145 -0
- package/dist/member/index.js +80 -88
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/member/util.js +90 -69
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +24 -0
- package/dist/members/collection.js +12 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +298 -0
- package/dist/members/index.js +139 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +50 -0
- package/dist/members/request.js +41 -55
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.d.ts +2 -0
- package/dist/members/util.js +76 -46
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/config.js +4 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.d.ts +57 -0
- package/dist/metrics/constants.js +1 -6
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +152 -0
- package/dist/metrics/index.js +53 -158
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +116 -52
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +58 -93
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +466 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/networkQualityMonitor/index.js +32 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.d.ts +6 -0
- package/dist/peer-connection-manager/util.js +110 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/index.js +10 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/plugin-meetings.d.ts +5399 -0
- package/dist/reachability/index.d.ts +139 -0
- package/dist/reachability/index.js +190 -199
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +35 -0
- package/dist/reachability/request.js +14 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.d.ts +32 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.d.ts +112 -0
- package/dist/reconnection-manager/index.js +328 -465
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.d.ts +193 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.d.ts +13 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/collection.js +63 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/handler.js +279 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +116 -0
- package/dist/roap/index.js +27 -59
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +35 -0
- package/dist/roap/request.js +143 -134
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/state.js +127 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +67 -0
- package/dist/roap/turnDiscovery.js +86 -101
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.d.ts +2 -0
- package/dist/roap/util.js +76 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +126 -0
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +190 -0
- package/dist/statsAnalyzer/index.js +356 -457
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
- package/dist/statsAnalyzer/mqaUtil.js +144 -94
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/dist/transcription/index.js +13 -45
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +8 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +77 -0
- package/dist/types/constants.d.ts +944 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +6 -0
- package/dist/types/controls-options-manager/index.d.ts +128 -0
- package/dist/types/controls-options-manager/util.d.ts +9 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +276 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +32 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/effectsState.d.ts +42 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
- package/dist/types/meeting/index.d.ts +1723 -0
- package/dist/types/meeting/muteState.d.ts +185 -0
- package/dist/types/meeting/request.d.ts +271 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +316 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +156 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +343 -0
- package/dist/types/members/request.d.ts +58 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +171 -0
- package/dist/types/metrics/constants.d.ts +53 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +74 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +195 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/dist/types/tsdoc-metadata.json +11 -0
- package/internal-README.md +7 -6
- package/package.json +28 -20
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +153 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/index.ts +745 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +44 -0
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +16 -12
- package/src/constants.ts +92 -6
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +7 -0
- package/src/controls-options-manager/index.ts +240 -0
- package/src/controls-options-manager/util.ts +30 -0
- package/src/index.ts +33 -0
- package/src/locus-info/controlsUtils.ts +63 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +148 -43
- package/src/locus-info/infoUtils.ts +16 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +46 -68
- package/src/locus-info/selfUtils.ts +174 -56
- package/src/media/index.ts +131 -179
- package/src/media/properties.ts +43 -36
- package/src/media/util.ts +1 -1
- package/src/mediaQualityMetrics/config.ts +380 -378
- package/src/meeting/in-meeting-actions.ts +67 -3
- package/src/meeting/index.ts +2395 -1523
- package/src/meeting/muteState.ts +271 -68
- package/src/meeting/request.ts +228 -132
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +127 -111
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +108 -108
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +59 -53
- package/src/meetings/collection.ts +21 -1
- package/src/meetings/index.ts +673 -466
- package/src/meetings/request.ts +29 -25
- package/src/meetings/util.ts +94 -30
- package/src/member/index.ts +86 -49
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +92 -13
- package/src/members/collection.ts +8 -1
- package/src/members/index.ts +246 -129
- package/src/members/request.ts +67 -14
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +103 -50
- package/src/metrics/config.ts +255 -90
- package/src/metrics/constants.ts +0 -6
- package/src/metrics/index.ts +90 -93
- package/src/multistream/mediaRequestManager.ts +144 -40
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +50 -38
- package/src/multistream/remoteMedia.ts +30 -4
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +230 -66
- package/src/networkQualityMonitor/index.ts +24 -27
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +131 -79
- package/src/reachability/request.ts +43 -34
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/index.ts +190 -111
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +50 -42
- package/src/roap/request.ts +86 -53
- package/src/roap/turnDiscovery.ts +69 -38
- package/src/statsAnalyzer/global.ts +8 -104
- package/src/statsAnalyzer/index.ts +593 -376
- package/src/statsAnalyzer/mqaUtil.ts +203 -90
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/converged-space-meetings.js +176 -0
- package/test/integration/spec/journey.js +665 -464
- package/test/integration/spec/space-meeting.js +319 -204
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +178 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/index.ts +1252 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +54 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +204 -0
- package/test/unit/spec/controls-options-manager/util.js +86 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +133 -34
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +303 -2
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +101 -103
- package/test/unit/spec/locus-info/selfUtils.js +165 -12
- package/test/unit/spec/media/index.ts +72 -8
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
- package/test/unit/spec/meeting/index.js +2479 -794
- package/test/unit/spec/meeting/muteState.js +164 -70
- package/test/unit/spec/meeting/request.js +141 -43
- package/test/unit/spec/meeting/utils.js +135 -164
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +622 -263
- package/test/unit/spec/meetings/utils.js +65 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +294 -54
- package/test/unit/spec/members/request.js +50 -20
- package/test/unit/spec/members/utils.js +147 -4
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
- package/test/unit/spec/multistream/receiveSlot.ts +76 -17
- package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +58 -31
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +12 -8
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +72 -49
- package/test/unit/spec/stats-analyzer/index.js +108 -57
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/testUtils.js +98 -77
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/multistream/multistreamMedia.ts +0 -92
- package/test/unit/spec/meeting/effectsState.js +0 -291
package/src/meetings/index.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
/* eslint no-shadow: ["error", { "allow": ["eventType"] }] */
|
|
2
|
+
|
|
1
3
|
import '@webex/internal-plugin-mercury';
|
|
2
4
|
import '@webex/internal-plugin-conversation';
|
|
3
5
|
// @ts-ignore
|
|
4
6
|
import {WebexPlugin} from '@webex/webex-core';
|
|
5
|
-
import {
|
|
7
|
+
import {setLogger} from '@webex/internal-media-core';
|
|
8
|
+
|
|
9
|
+
import * as mediaHelpersModule from '@webex/media-helpers';
|
|
6
10
|
|
|
7
11
|
import 'webrtc-adapter';
|
|
8
12
|
|
|
@@ -37,7 +41,11 @@ import {
|
|
|
37
41
|
_ID_,
|
|
38
42
|
MEETING_REMOVED_REASON,
|
|
39
43
|
_CONVERSATION_URL_,
|
|
40
|
-
CONVERSATION_URL
|
|
44
|
+
CONVERSATION_URL,
|
|
45
|
+
MEETINGNUMBER,
|
|
46
|
+
BREAKOUTS,
|
|
47
|
+
_JOINED_,
|
|
48
|
+
_MOVED_,
|
|
41
49
|
} from '../constants';
|
|
42
50
|
import BEHAVIORAL_METRICS from '../metrics/constants';
|
|
43
51
|
import MeetingInfo from '../meeting-info';
|
|
@@ -45,7 +53,7 @@ import MeetingInfoV2 from '../meeting-info/meeting-info-v2';
|
|
|
45
53
|
import Meeting from '../meeting';
|
|
46
54
|
import PersonalMeetingRoom from '../personal-meeting-room';
|
|
47
55
|
import Reachability from '../reachability';
|
|
48
|
-
import Request from '
|
|
56
|
+
import Request from './request';
|
|
49
57
|
import PasswordError from '../common/errors/password-error';
|
|
50
58
|
import CaptchaError from '../common/errors/captcha-error';
|
|
51
59
|
|
|
@@ -80,21 +88,21 @@ class MediaLogger {
|
|
|
80
88
|
}
|
|
81
89
|
}
|
|
82
90
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
91
|
+
* Meetings Ready Event
|
|
92
|
+
* Emitted when the meetings instance on webex is ready
|
|
93
|
+
* @event meetings:ready
|
|
94
|
+
* @instance
|
|
95
|
+
* @memberof Meetings
|
|
96
|
+
*/
|
|
89
97
|
|
|
90
98
|
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
* Meetings Network Disconnected Event
|
|
100
|
+
* Emitted when the meetings instance is disconnected from
|
|
101
|
+
* the internal mercury server
|
|
102
|
+
* @event network:disconnected
|
|
103
|
+
* @instance
|
|
104
|
+
* @memberof Meetings
|
|
105
|
+
*/
|
|
98
106
|
|
|
99
107
|
/**
|
|
100
108
|
* Meetings Registered Event
|
|
@@ -105,32 +113,32 @@ class MediaLogger {
|
|
|
105
113
|
*/
|
|
106
114
|
|
|
107
115
|
/**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
* Meeting Removed Event
|
|
117
|
+
* Emitted when a meeting was removed from the cache of meetings
|
|
118
|
+
* @event meeting:removed
|
|
119
|
+
* @instance
|
|
120
|
+
* @type {Object}
|
|
121
|
+
* @property {String} meetingId the removed meeting
|
|
122
|
+
* @property {Object} response the server response
|
|
123
|
+
* @property {String} type what type of meeting it was
|
|
124
|
+
* @memberof Meetings
|
|
125
|
+
*/
|
|
118
126
|
|
|
119
127
|
/**
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
* Meeting Added Event
|
|
129
|
+
* Emitted when a meeting was added to the cache of meetings
|
|
130
|
+
* @event meeting:added
|
|
131
|
+
* @instance
|
|
132
|
+
* @type {Object}
|
|
133
|
+
* @property {String} meetingId the added meeting
|
|
134
|
+
* @property {String} type what type of meeting it was
|
|
135
|
+
* @memberof Meetings
|
|
136
|
+
*/
|
|
129
137
|
|
|
130
138
|
/**
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
139
|
+
* Maintain a cache of meetings and sync with services.
|
|
140
|
+
* @class
|
|
141
|
+
*/
|
|
134
142
|
export default class Meetings extends WebexPlugin {
|
|
135
143
|
loggerRequest: any;
|
|
136
144
|
media: any;
|
|
@@ -142,120 +150,251 @@ export default class Meetings extends WebexPlugin {
|
|
|
142
150
|
request: any;
|
|
143
151
|
geoHintInfo: any;
|
|
144
152
|
meetingInfo: any;
|
|
153
|
+
mediaHelpers: any;
|
|
145
154
|
|
|
146
155
|
namespace = MEETINGS;
|
|
147
156
|
|
|
148
157
|
/**
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
158
|
+
* Initializes the Meetings Plugin
|
|
159
|
+
* @constructor
|
|
160
|
+
* @public
|
|
161
|
+
* @memberof Meetings
|
|
162
|
+
*/
|
|
154
163
|
constructor(...args) {
|
|
155
164
|
super(...args);
|
|
156
165
|
|
|
157
166
|
/**
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
167
|
+
* The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
|
|
168
|
+
* to be able to call media helper functions.
|
|
169
|
+
*
|
|
170
|
+
* @instance
|
|
171
|
+
* @type {Object}
|
|
172
|
+
* @private
|
|
173
|
+
* @memberof Meetings
|
|
174
|
+
*/
|
|
175
|
+
this.mediaHelpers = mediaHelpersModule;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* The Meetings request to interact with server
|
|
179
|
+
* @instance
|
|
180
|
+
* @type {Object}
|
|
181
|
+
* @private
|
|
182
|
+
* @memberof Meetings
|
|
183
|
+
*/
|
|
164
184
|
// @ts-ignore
|
|
165
185
|
this.request = new Request({}, {parent: this.webex});
|
|
166
186
|
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
187
|
+
* Log upload request helper
|
|
188
|
+
* @instance
|
|
189
|
+
* @type {Object}
|
|
190
|
+
* @private
|
|
191
|
+
* @memberof Meetings
|
|
192
|
+
*/
|
|
173
193
|
// @ts-ignore
|
|
174
194
|
this.loggerRequest = new LoggerRequest({webex: this.webex});
|
|
175
195
|
this.meetingCollection = new MeetingCollection();
|
|
176
196
|
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
197
|
+
* The PersonalMeetingRoom object to interact with server
|
|
198
|
+
* @instance
|
|
199
|
+
* @type {Object}
|
|
200
|
+
* @public
|
|
201
|
+
* @memberof Meetings
|
|
202
|
+
*/
|
|
183
203
|
this.personalMeetingRoom = null;
|
|
184
204
|
/**
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
205
|
+
* The Reachability object to interact with server, starts as null until {@link Meeting#setReachability} is called
|
|
206
|
+
* starts as null
|
|
207
|
+
* @instance
|
|
208
|
+
* @type {Object}
|
|
209
|
+
* @private
|
|
210
|
+
* @memberof Meetings
|
|
211
|
+
*/
|
|
192
212
|
this.reachability = null;
|
|
193
213
|
|
|
194
214
|
/**
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
215
|
+
* If the meetings plugin has been registered and listening via {@link Meetings#register}
|
|
216
|
+
* @instance
|
|
217
|
+
* @type {Boolean}
|
|
218
|
+
* @public
|
|
219
|
+
* @memberof Meetings
|
|
220
|
+
*/
|
|
201
221
|
this.registered = false;
|
|
202
222
|
|
|
203
223
|
/**
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
224
|
+
* This values indicates the preferred webex site the user will start there meeting, getsits value from {@link Meetings#register}
|
|
225
|
+
* @instance
|
|
226
|
+
* @type {String}
|
|
227
|
+
* @private
|
|
228
|
+
* @memberof Meetings
|
|
229
|
+
*/
|
|
210
230
|
this.preferredWebexSite = '';
|
|
211
231
|
|
|
212
232
|
/**
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
233
|
+
* The public interface for the internal Media util files. These are helpful to expose outside the context
|
|
234
|
+
* of a meeting so that a user can access media without creating a meeting instance.
|
|
235
|
+
* @instance
|
|
236
|
+
* @type {Object}
|
|
237
|
+
* @private
|
|
238
|
+
* @memberof Meetings
|
|
239
|
+
*/
|
|
220
240
|
this.media = {
|
|
221
241
|
getUserMedia: Media.getUserMedia,
|
|
222
|
-
getSupportedDevice: Media.getSupportedDevice
|
|
242
|
+
getSupportedDevice: Media.getSupportedDevice,
|
|
223
243
|
};
|
|
224
244
|
|
|
225
245
|
this.onReady();
|
|
226
246
|
}
|
|
227
247
|
|
|
228
248
|
/**
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
249
|
+
* check whether you need to handle this main session's locus data or not
|
|
250
|
+
* @param {Object} meeting current meeting data
|
|
251
|
+
* @param {Object} newLocus new locus data
|
|
252
|
+
* @returns {boolean}
|
|
253
|
+
* @private
|
|
254
|
+
* @memberof Meetings
|
|
255
|
+
*/
|
|
256
|
+
private isNeedHandleMainLocus(meeting: any, newLocus: any) {
|
|
257
|
+
const breakoutUrl = newLocus.controls?.breakout?.url;
|
|
258
|
+
const breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
|
|
259
|
+
|
|
260
|
+
const isSelfJoined = newLocus?.self?.state === _JOINED_;
|
|
261
|
+
const isSelfMoved = newLocus?.self?.state === _LEFT_ && newLocus?.self?.reason === _MOVED_;
|
|
262
|
+
const deviceFromNewLocus = MeetingsUtil.getThisDevice(newLocus);
|
|
263
|
+
const isNewLocusJoinThisDevice = MeetingsUtil.joinedOnThisDevice(meeting, newLocus);
|
|
264
|
+
const isBreakoutLocusJoinThisDevice =
|
|
265
|
+
breakoutLocus?.joinedWith?.correlationId &&
|
|
266
|
+
breakoutLocus.joinedWith.correlationId === meeting?.correlationId;
|
|
267
|
+
|
|
268
|
+
if (isSelfJoined && isNewLocusJoinThisDevice) {
|
|
269
|
+
LoggerProxy.logger.log(
|
|
270
|
+
'Meetings:index#isNeedHandleMainLocus --> self this device shown as JOINED in the main session'
|
|
271
|
+
);
|
|
272
|
+
if (breakoutLocus?.joinedWith && deviceFromNewLocus) {
|
|
273
|
+
const breakoutReplaceAt =
|
|
274
|
+
breakoutLocus.joinedWith.replaces?.length > 0
|
|
275
|
+
? breakoutLocus.joinedWith.replaces[0].replaceAt
|
|
276
|
+
: '';
|
|
277
|
+
const newLocusReplaceAt =
|
|
278
|
+
deviceFromNewLocus.replaces?.length > 0 ? deviceFromNewLocus.replaces[0].replaceAt : '';
|
|
279
|
+
if (breakoutReplaceAt && newLocusReplaceAt && breakoutReplaceAt > newLocusReplaceAt) {
|
|
280
|
+
LoggerProxy.logger.log(
|
|
281
|
+
`Meetings:index#isNeedHandleMainLocus --> this is expired main joined status locus_dto replacedAt ${newLocusReplaceAt} bo replacedAt ${breakoutReplaceAt}`
|
|
282
|
+
);
|
|
283
|
+
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
if (isBreakoutLocusJoinThisDevice) {
|
|
291
|
+
LoggerProxy.logger.log(
|
|
292
|
+
`Meetings:index#isNeedHandleMainLocus --> there is active breakout session and joined on this device, and don't need to handle main session: ${breakoutUrl}`
|
|
293
|
+
);
|
|
294
|
+
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
if (isSelfMoved && newLocus?.self?.removed) {
|
|
298
|
+
LoggerProxy.logger.log(
|
|
299
|
+
'Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status, not need to handle'
|
|
300
|
+
);
|
|
301
|
+
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
LoggerProxy.logger.log(
|
|
305
|
+
'Meetings:index#isNeedHandleMainLocus --> this is a normal main session locusDTO update case'
|
|
306
|
+
);
|
|
307
|
+
|
|
308
|
+
return true;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* check whether you need to handle this locus data or not
|
|
313
|
+
* @param {Object} meeting old locus data
|
|
314
|
+
* @param {Object} newLocus new locus data
|
|
315
|
+
* @returns {boolean}
|
|
316
|
+
* @private
|
|
317
|
+
* @memberof Meetings
|
|
318
|
+
*/
|
|
319
|
+
private isNeedHandleLocusDTO(meeting: any, newLocus: any) {
|
|
320
|
+
if (newLocus) {
|
|
321
|
+
const isNewLocusAsBreakout =
|
|
322
|
+
newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;
|
|
323
|
+
const isSelfMoved = newLocus?.self?.state === _LEFT_ && newLocus?.self?.reason === _MOVED_;
|
|
324
|
+
if (!meeting) {
|
|
325
|
+
if (isNewLocusAsBreakout) {
|
|
326
|
+
LoggerProxy.logger.log(
|
|
327
|
+
`Meetings:index#isNeedHandleLocusDTO --> the first breakout session locusDTO active status: ${newLocus.fullState?.active}`
|
|
328
|
+
);
|
|
329
|
+
|
|
330
|
+
return newLocus.self?.state === _JOINED_;
|
|
331
|
+
}
|
|
241
332
|
|
|
333
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
334
|
+
}
|
|
335
|
+
if (!isNewLocusAsBreakout) {
|
|
336
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
return !isSelfMoved;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
return true;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* handle locus events and takes meeting actions with them as they come in
|
|
347
|
+
* @param {Object} data a locus event
|
|
348
|
+
* @param {String} data.locusUrl
|
|
349
|
+
* @param {Object} data.locus
|
|
350
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
351
|
+
* @param {String} data.eventType
|
|
352
|
+
* @returns {undefined}
|
|
353
|
+
* @private
|
|
354
|
+
* @memberof Meetings
|
|
355
|
+
*/
|
|
356
|
+
private handleLocusEvent(data: {locusUrl: string; locus: any}, useRandomDelayForInfo = false) {
|
|
357
|
+
let meeting = null;
|
|
242
358
|
// getting meeting by correlationId. This will happen for the new event
|
|
243
359
|
// Either the locus
|
|
244
360
|
// TODO : Add check for the callBack Address
|
|
245
|
-
meeting =
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
this.meetingCollection.getByKey(
|
|
249
|
-
|
|
361
|
+
meeting =
|
|
362
|
+
this.meetingCollection.getByKey(LOCUS_URL, data.locusUrl) ||
|
|
363
|
+
// @ts-ignore
|
|
364
|
+
this.meetingCollection.getByKey(
|
|
365
|
+
CORRELATION_ID,
|
|
366
|
+
// @ts-ignore
|
|
367
|
+
MeetingsUtil.checkForCorrelationId(this.webex.internal.device.url, data.locus)
|
|
368
|
+
) ||
|
|
369
|
+
this.meetingCollection.getByKey(
|
|
370
|
+
SIP_URI,
|
|
371
|
+
data.locus.self &&
|
|
372
|
+
data.locus.self.callbackInfo &&
|
|
373
|
+
data.locus.self.callbackInfo.callbackAddress
|
|
374
|
+
) ||
|
|
375
|
+
(data.locus.info?.isUnifiedSpaceMeeting
|
|
376
|
+
? undefined
|
|
377
|
+
: this.meetingCollection.getByKey(CONVERSATION_URL, data.locus.conversationUrl)) ||
|
|
378
|
+
this.meetingCollection.getByKey(MEETINGNUMBER, data.locus?.info?.webExMeetingId);
|
|
250
379
|
|
|
251
380
|
// Special case when locus has got replaced, This only happend once if a replace locus exists
|
|
252
381
|
// https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
|
|
253
382
|
|
|
254
383
|
if (!meeting && data.locus?.replaces?.length > 0) {
|
|
255
384
|
// Always the last element in the replace is the active one
|
|
256
|
-
meeting = this.meetingCollection.getByKey(
|
|
385
|
+
meeting = this.meetingCollection.getByKey(
|
|
386
|
+
LOCUS_URL,
|
|
387
|
+
data.locus.replaces[data.locus.replaces.length - 1].locusUrl
|
|
388
|
+
);
|
|
257
389
|
}
|
|
258
390
|
|
|
391
|
+
if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
|
|
392
|
+
LoggerProxy.logger.log(
|
|
393
|
+
`Meetings:index#handleLocusEvent --> doesn't need to process locus event`
|
|
394
|
+
);
|
|
395
|
+
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
259
398
|
if (!meeting) {
|
|
260
399
|
// TODO: create meeting when we get a meeting object
|
|
261
400
|
// const checkForEnded = (locus) => {
|
|
@@ -276,73 +415,92 @@ export default class Meetings extends WebexPlugin {
|
|
|
276
415
|
// };
|
|
277
416
|
// rather then locus object change to locus url
|
|
278
417
|
|
|
279
|
-
if (
|
|
418
|
+
if (
|
|
419
|
+
data.locus &&
|
|
420
|
+
data.locus.fullState &&
|
|
421
|
+
data.locus.fullState.state === LOCUS.STATE.INACTIVE
|
|
422
|
+
) {
|
|
280
423
|
// just ignore the event as its already ended and not active
|
|
281
|
-
LoggerProxy.logger.warn(
|
|
424
|
+
LoggerProxy.logger.warn(
|
|
425
|
+
'Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.'
|
|
426
|
+
);
|
|
282
427
|
|
|
283
428
|
return;
|
|
284
429
|
}
|
|
285
430
|
|
|
286
|
-
|
|
287
431
|
// When its wireless share or guest and user leaves the meeting we dont have to keep the meeting object
|
|
288
432
|
// Any future events will be neglected
|
|
289
433
|
|
|
290
|
-
if (
|
|
434
|
+
if (
|
|
435
|
+
data.locus &&
|
|
436
|
+
data.locus.self &&
|
|
437
|
+
data.locus.self.state === _LEFT_ &&
|
|
438
|
+
data.locus.self.removed === true
|
|
439
|
+
) {
|
|
291
440
|
// just ignore the event as its already ended and not active
|
|
292
|
-
LoggerProxy.logger.warn(
|
|
441
|
+
LoggerProxy.logger.warn(
|
|
442
|
+
'Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.'
|
|
443
|
+
);
|
|
293
444
|
|
|
294
445
|
return;
|
|
295
446
|
}
|
|
296
447
|
|
|
297
|
-
this.create(data.locus, _LOCUS_ID_, useRandomDelayForInfo)
|
|
298
|
-
|
|
448
|
+
this.create(data.locus, _LOCUS_ID_, useRandomDelayForInfo)
|
|
449
|
+
.then((newMeeting) => {
|
|
450
|
+
meeting = newMeeting;
|
|
299
451
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
452
|
+
// It's a new meeting so initialize the locus data
|
|
453
|
+
meeting.locusInfo.initialSetup(data.locus);
|
|
454
|
+
})
|
|
455
|
+
.catch((e) => {
|
|
456
|
+
LoggerProxy.logger.error(e);
|
|
457
|
+
})
|
|
305
458
|
.finally(() => {
|
|
306
459
|
// There will be cases where locus event comes in gets created and deleted because its a 1:1 and meeting gets deleted
|
|
307
460
|
// because the other user left so before sending 'added' event make sure it exists in the collection
|
|
308
461
|
|
|
309
462
|
if (this.getMeetingByType(_ID_, meeting.id)) {
|
|
310
|
-
Metrics.postEvent({
|
|
463
|
+
Metrics.postEvent({
|
|
464
|
+
event: eventType.REMOTE_STARTED,
|
|
465
|
+
meeting,
|
|
466
|
+
data: {trigger: trigger.MERCURY_EVENT},
|
|
467
|
+
});
|
|
311
468
|
Trigger.trigger(
|
|
312
469
|
this,
|
|
313
470
|
{
|
|
314
471
|
file: 'meetings',
|
|
315
|
-
function: 'handleLocusEvent'
|
|
472
|
+
function: 'handleLocusEvent',
|
|
316
473
|
},
|
|
317
474
|
EVENT_TRIGGERS.MEETING_ADDED,
|
|
318
475
|
{
|
|
319
476
|
meeting,
|
|
320
|
-
type: meeting.type === _MEETING_ ? _JOIN_ : _INCOMING_
|
|
477
|
+
type: meeting.type === _MEETING_ ? _JOIN_ : _INCOMING_,
|
|
321
478
|
}
|
|
322
479
|
);
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
480
|
+
} else {
|
|
325
481
|
// Meeting got added but was not found in the collection. It might have got destroyed
|
|
326
|
-
LoggerProxy.logger.warn(
|
|
482
|
+
LoggerProxy.logger.warn(
|
|
483
|
+
'Meetings:index#handleLocusEvent --> Created and destroyed meeting object before sending an event'
|
|
484
|
+
);
|
|
327
485
|
}
|
|
328
486
|
});
|
|
329
|
-
}
|
|
330
|
-
else {
|
|
487
|
+
} else {
|
|
331
488
|
meeting.locusInfo.parse(meeting, data);
|
|
332
489
|
}
|
|
333
490
|
}
|
|
334
491
|
|
|
335
492
|
/**
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
private handleLocusMercury(envelope: {
|
|
493
|
+
* handles locus events through mercury that are not roap
|
|
494
|
+
* @param {Object} envelope
|
|
495
|
+
* @param {Object} envelope.data
|
|
496
|
+
* @param {String} envelope.data.eventType
|
|
497
|
+
* @returns {undefined}
|
|
498
|
+
* @private
|
|
499
|
+
* @memberof Meetings
|
|
500
|
+
*/
|
|
501
|
+
private handleLocusMercury(envelope: {data: any}) {
|
|
345
502
|
const {data} = envelope;
|
|
503
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
346
504
|
const {eventType} = data;
|
|
347
505
|
|
|
348
506
|
if (eventType && eventType !== LOCUSEVENT.MESSAGE_ROAP) {
|
|
@@ -350,31 +508,29 @@ export default class Meetings extends WebexPlugin {
|
|
|
350
508
|
}
|
|
351
509
|
}
|
|
352
510
|
|
|
353
|
-
|
|
354
511
|
/**
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
512
|
+
* handles mecury offline event
|
|
513
|
+
* @returns {undefined}
|
|
514
|
+
* @private
|
|
515
|
+
* @memberof Meetings
|
|
516
|
+
*/
|
|
360
517
|
private handleMercuryOffline() {
|
|
361
518
|
Trigger.trigger(
|
|
362
519
|
this,
|
|
363
520
|
{
|
|
364
521
|
file: 'meetings/index',
|
|
365
|
-
function: 'handleMercuryOffline'
|
|
522
|
+
function: 'handleMercuryOffline',
|
|
366
523
|
},
|
|
367
|
-
EVENT_TRIGGERS.MEETINGS_NETWORK_DISCONNECTED
|
|
524
|
+
EVENT_TRIGGERS.MEETINGS_NETWORK_DISCONNECTED
|
|
368
525
|
);
|
|
369
526
|
}
|
|
370
527
|
|
|
371
|
-
|
|
372
528
|
/**
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
529
|
+
* registers for locus and roap mercury events
|
|
530
|
+
* @returns {undefined}
|
|
531
|
+
* @private
|
|
532
|
+
* @memberof Meetings
|
|
533
|
+
*/
|
|
378
534
|
private listenForEvents() {
|
|
379
535
|
// @ts-ignore
|
|
380
536
|
this.webex.internal.mercury.on(LOCUSEVENT.LOCUS_MERCURY, (envelope) => {
|
|
@@ -397,11 +553,11 @@ export default class Meetings extends WebexPlugin {
|
|
|
397
553
|
}
|
|
398
554
|
|
|
399
555
|
/**
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
556
|
+
* stops listening for locus and roap mercury events
|
|
557
|
+
* @returns {undefined}
|
|
558
|
+
* @private
|
|
559
|
+
* @memberof Meetings
|
|
560
|
+
*/
|
|
405
561
|
private stopListeningForEvents() {
|
|
406
562
|
// @ts-ignore
|
|
407
563
|
this.webex.internal.mercury.off(LOCUSEVENT.LOCUS_MERCURY);
|
|
@@ -412,10 +568,10 @@ export default class Meetings extends WebexPlugin {
|
|
|
412
568
|
}
|
|
413
569
|
|
|
414
570
|
/**
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
571
|
+
* @returns {undefined}
|
|
572
|
+
* @private
|
|
573
|
+
* @memberof Meetings
|
|
574
|
+
*/
|
|
419
575
|
private onReady() {
|
|
420
576
|
// @ts-ignore
|
|
421
577
|
this.webex.once(READY, () => {
|
|
@@ -427,7 +583,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
427
583
|
LoggerProxy.set(this.webex.logger);
|
|
428
584
|
|
|
429
585
|
mediaLogger = new MediaLogger();
|
|
430
|
-
|
|
586
|
+
setLogger(mediaLogger);
|
|
431
587
|
|
|
432
588
|
/**
|
|
433
589
|
* The MeetingInfo object to interact with server
|
|
@@ -437,15 +593,23 @@ export default class Meetings extends WebexPlugin {
|
|
|
437
593
|
* @memberof Meetings
|
|
438
594
|
*/
|
|
439
595
|
// @ts-ignore
|
|
440
|
-
this.meetingInfo = this.config.experimental.enableUnifiedMeetings
|
|
596
|
+
this.meetingInfo = this.config.experimental.enableUnifiedMeetings
|
|
597
|
+
? // @ts-ignore
|
|
598
|
+
new MeetingInfoV2(this.webex)
|
|
599
|
+
: // @ts-ignore
|
|
600
|
+
new MeetingInfo(this.webex);
|
|
441
601
|
// @ts-ignore
|
|
442
|
-
this.personalMeetingRoom = new PersonalMeetingRoom(
|
|
602
|
+
this.personalMeetingRoom = new PersonalMeetingRoom(
|
|
603
|
+
{meetingInfo: this.meetingInfo},
|
|
604
|
+
// @ts-ignore
|
|
605
|
+
{parent: this.webex}
|
|
606
|
+
);
|
|
443
607
|
|
|
444
608
|
Trigger.trigger(
|
|
445
609
|
this,
|
|
446
610
|
{
|
|
447
611
|
file: 'meetings',
|
|
448
|
-
function: 'onReady'
|
|
612
|
+
function: 'onReady',
|
|
449
613
|
},
|
|
450
614
|
EVENT_TRIGGERS.MEETINGS_READY
|
|
451
615
|
);
|
|
@@ -457,12 +621,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
457
621
|
}
|
|
458
622
|
|
|
459
623
|
/**
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
624
|
+
* API to toggle unified meetings
|
|
625
|
+
* @param {Boolean} changeState
|
|
626
|
+
* @private
|
|
627
|
+
* @memberof Meetings
|
|
628
|
+
* @returns {undefined}
|
|
629
|
+
*/
|
|
466
630
|
private _toggleUnifiedMeetings(changeState: boolean) {
|
|
467
631
|
if (typeof changeState !== 'boolean') {
|
|
468
632
|
return;
|
|
@@ -477,12 +641,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
477
641
|
}
|
|
478
642
|
|
|
479
643
|
/**
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
644
|
+
* API to enable or disable TURN discovery
|
|
645
|
+
* @param {Boolean} enable
|
|
646
|
+
* @private
|
|
647
|
+
* @memberof Meetings
|
|
648
|
+
* @returns {undefined}
|
|
649
|
+
*/
|
|
486
650
|
private _toggleTurnDiscovery(enable: boolean) {
|
|
487
651
|
if (typeof enable !== 'boolean') {
|
|
488
652
|
return;
|
|
@@ -492,12 +656,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
492
656
|
}
|
|
493
657
|
|
|
494
658
|
/**
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
659
|
+
* API to toggle starting adhoc meeting
|
|
660
|
+
* @param {Boolean} changeState
|
|
661
|
+
* @private
|
|
662
|
+
* @memberof Meetings
|
|
663
|
+
* @returns {undefined}
|
|
664
|
+
*/
|
|
501
665
|
private _toggleAdhocMeetings(changeState: boolean) {
|
|
502
666
|
if (typeof changeState !== 'boolean') {
|
|
503
667
|
return;
|
|
@@ -510,24 +674,27 @@ export default class Meetings extends WebexPlugin {
|
|
|
510
674
|
}
|
|
511
675
|
|
|
512
676
|
/**
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
677
|
+
* Explicitly sets up the meetings plugin by registering
|
|
678
|
+
* the device, connecting to mercury, and listening for locus events.
|
|
679
|
+
*
|
|
680
|
+
* @returns {Promise}
|
|
681
|
+
* @public
|
|
682
|
+
* @memberof Meetings
|
|
683
|
+
*/
|
|
520
684
|
public register() {
|
|
521
685
|
// @ts-ignore
|
|
522
686
|
if (!this.webex.canAuthorize) {
|
|
523
|
-
LoggerProxy.logger.error(
|
|
687
|
+
LoggerProxy.logger.error(
|
|
688
|
+
'Meetings:index#register --> ERROR, Unable to register, SDK cannot authorize'
|
|
689
|
+
);
|
|
524
690
|
|
|
525
691
|
return Promise.reject(new Error('SDK cannot authorize'));
|
|
526
692
|
}
|
|
527
693
|
|
|
528
|
-
|
|
529
694
|
if (this.registered) {
|
|
530
|
-
LoggerProxy.logger.info(
|
|
695
|
+
LoggerProxy.logger.info(
|
|
696
|
+
'Meetings:index#register --> INFO, Meetings plugin already registered'
|
|
697
|
+
);
|
|
531
698
|
|
|
532
699
|
return Promise.resolve();
|
|
533
700
|
}
|
|
@@ -539,88 +706,97 @@ export default class Meetings extends WebexPlugin {
|
|
|
539
706
|
LoggerProxy.logger.error(`Meetings:index#register --> GDM error, ${error.message}`);
|
|
540
707
|
}),
|
|
541
708
|
// @ts-ignore
|
|
542
|
-
this.webex.internal.device
|
|
543
|
-
|
|
544
|
-
|
|
709
|
+
this.webex.internal.device
|
|
710
|
+
.register()
|
|
711
|
+
// @ts-ignore
|
|
712
|
+
.then(() =>
|
|
713
|
+
LoggerProxy.logger.info(
|
|
714
|
+
// @ts-ignore
|
|
715
|
+
`Meetings:index#register --> INFO, Device registered ${this.webex.internal.device.url}`
|
|
716
|
+
)
|
|
717
|
+
)
|
|
545
718
|
// @ts-ignore
|
|
546
719
|
.then(() => this.webex.internal.mercury.connect()),
|
|
547
|
-
MeetingsUtil.checkH264Support.call(this)
|
|
548
|
-
])
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
file: 'meetings',
|
|
554
|
-
function: 'register'
|
|
555
|
-
},
|
|
556
|
-
EVENT_TRIGGERS.MEETINGS_REGISTERED
|
|
557
|
-
);
|
|
558
|
-
this.registered = true;
|
|
559
|
-
Metrics.sendBehavioralMetric(
|
|
560
|
-
BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_SUCCESS,
|
|
561
|
-
);
|
|
562
|
-
})
|
|
563
|
-
.catch((error) => {
|
|
564
|
-
LoggerProxy.logger.error(`Meetings:index#register --> ERROR, Unable to register, ${error.message}`);
|
|
565
|
-
|
|
566
|
-
Metrics.sendBehavioralMetric(
|
|
567
|
-
BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_FAILED,
|
|
720
|
+
MeetingsUtil.checkH264Support.call(this),
|
|
721
|
+
])
|
|
722
|
+
.then(() => {
|
|
723
|
+
this.listenForEvents();
|
|
724
|
+
Trigger.trigger(
|
|
725
|
+
this,
|
|
568
726
|
{
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
}
|
|
727
|
+
file: 'meetings',
|
|
728
|
+
function: 'register',
|
|
729
|
+
},
|
|
730
|
+
EVENT_TRIGGERS.MEETINGS_REGISTERED
|
|
731
|
+
);
|
|
732
|
+
this.registered = true;
|
|
733
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_SUCCESS);
|
|
734
|
+
})
|
|
735
|
+
.catch((error) => {
|
|
736
|
+
LoggerProxy.logger.error(
|
|
737
|
+
`Meetings:index#register --> ERROR, Unable to register, ${error.message}`
|
|
572
738
|
);
|
|
573
739
|
|
|
740
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_FAILED, {
|
|
741
|
+
reason: error.message,
|
|
742
|
+
stack: error.stack,
|
|
743
|
+
});
|
|
744
|
+
|
|
574
745
|
return Promise.reject(error);
|
|
575
746
|
});
|
|
576
747
|
}
|
|
577
748
|
|
|
578
749
|
/**
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
750
|
+
* Explicitly tears down the meetings plugin by deregistering
|
|
751
|
+
* the device, disconnecting from mercury, and stops listening to locus events
|
|
752
|
+
*
|
|
753
|
+
* @returns {Promise}
|
|
754
|
+
* @public
|
|
755
|
+
* @memberof Meetings
|
|
756
|
+
*/
|
|
586
757
|
unregister() {
|
|
587
758
|
if (!this.registered) {
|
|
588
|
-
LoggerProxy.logger.info(
|
|
759
|
+
LoggerProxy.logger.info(
|
|
760
|
+
'Meetings:index#unregister --> INFO, Meetings plugin already unregistered'
|
|
761
|
+
);
|
|
589
762
|
|
|
590
763
|
return Promise.resolve();
|
|
591
764
|
}
|
|
592
765
|
|
|
593
766
|
this.stopListeningForEvents();
|
|
594
767
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
768
|
+
return (
|
|
769
|
+
// @ts-ignore
|
|
770
|
+
this.webex.internal.mercury
|
|
771
|
+
.disconnect()
|
|
772
|
+
// @ts-ignore
|
|
773
|
+
.then(() => this.webex.internal.device.unregister())
|
|
774
|
+
.then(() => {
|
|
775
|
+
Trigger.trigger(
|
|
776
|
+
this,
|
|
777
|
+
{
|
|
778
|
+
file: 'meetings',
|
|
779
|
+
function: 'unregister',
|
|
780
|
+
},
|
|
781
|
+
EVENT_TRIGGERS.MEETINGS_UNREGISTERED
|
|
782
|
+
);
|
|
783
|
+
this.registered = false;
|
|
784
|
+
})
|
|
785
|
+
);
|
|
610
786
|
}
|
|
611
787
|
|
|
612
788
|
/**
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
789
|
+
* Uploads logs to the webex services for tracking
|
|
790
|
+
* @param {Object} [options={}]
|
|
791
|
+
* @param {String} [options.callStart] Call Start Time
|
|
792
|
+
* @param {String} [options.feedbackId] ID used for tracking
|
|
793
|
+
* @param {String} [options.locusId]
|
|
794
|
+
* @param {String} [options.correlationId]
|
|
795
|
+
* @param {String} [options.meetingId] webex meeting ID
|
|
796
|
+
* @param {String} [options.userId] userId
|
|
797
|
+
* @param {String} [options.orgId] org id
|
|
798
|
+
* @returns {String} feedback ID logs were submitted under
|
|
799
|
+
*/
|
|
624
800
|
uploadLogs(
|
|
625
801
|
options: {
|
|
626
802
|
callStart?: string;
|
|
@@ -634,79 +810,83 @@ export default class Meetings extends WebexPlugin {
|
|
|
634
810
|
) {
|
|
635
811
|
LoggerProxy.logger.info('Meetings:index#uploadLogs --> uploading logs');
|
|
636
812
|
|
|
637
|
-
return this.loggerRequest
|
|
813
|
+
return this.loggerRequest
|
|
814
|
+
.uploadLogs(options)
|
|
638
815
|
.then((uploadResult) => {
|
|
639
|
-
LoggerProxy.logger.info(
|
|
816
|
+
LoggerProxy.logger.info(
|
|
817
|
+
'Meetings:index#uploadLogs --> Upload logs for meeting completed.',
|
|
818
|
+
uploadResult
|
|
819
|
+
);
|
|
640
820
|
Trigger.trigger(
|
|
641
821
|
this,
|
|
642
822
|
{
|
|
643
823
|
file: 'meetings',
|
|
644
|
-
function: 'uploadLogs'
|
|
824
|
+
function: 'uploadLogs',
|
|
645
825
|
},
|
|
646
826
|
EVENT_TRIGGERS.MEETING_LOG_UPLOAD_SUCCESS,
|
|
647
827
|
{
|
|
648
828
|
meetingId: options.meetingId,
|
|
649
|
-
details: uploadResult
|
|
829
|
+
details: uploadResult,
|
|
650
830
|
}
|
|
651
831
|
);
|
|
652
832
|
|
|
653
833
|
return uploadResult;
|
|
654
834
|
})
|
|
655
835
|
.catch((uploadError) => {
|
|
656
|
-
LoggerProxy.logger.error(
|
|
836
|
+
LoggerProxy.logger.error(
|
|
837
|
+
'Meetings:index#uploadLogs --> Unable to upload logs for meeting',
|
|
838
|
+
uploadError
|
|
839
|
+
);
|
|
657
840
|
Trigger.trigger(
|
|
658
841
|
this,
|
|
659
842
|
{
|
|
660
843
|
file: 'meetings',
|
|
661
|
-
function: 'uploadLogs'
|
|
844
|
+
function: 'uploadLogs',
|
|
662
845
|
},
|
|
663
846
|
EVENT_TRIGGERS.MEETING_LOG_UPLOAD_FAILURE,
|
|
664
847
|
{
|
|
665
848
|
meetingId: options.meetingId,
|
|
666
|
-
reason: uploadError
|
|
849
|
+
reason: uploadError,
|
|
667
850
|
}
|
|
668
851
|
);
|
|
669
852
|
|
|
670
|
-
Metrics.sendBehavioralMetric(
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
code: uploadError.code
|
|
678
|
-
}
|
|
679
|
-
);
|
|
853
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.UPLOAD_LOGS_FAILURE, {
|
|
854
|
+
// @ts-ignore - seems like typo
|
|
855
|
+
meetingId: options.meetingsId,
|
|
856
|
+
reason: uploadError.message,
|
|
857
|
+
stack: uploadError.stack,
|
|
858
|
+
code: uploadError.code,
|
|
859
|
+
});
|
|
680
860
|
});
|
|
681
861
|
}
|
|
682
862
|
|
|
683
863
|
/**
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
864
|
+
* initializes the reachability instance for Meetings
|
|
865
|
+
* @returns {undefined}
|
|
866
|
+
* @public
|
|
867
|
+
* @memberof Meetings
|
|
868
|
+
*/
|
|
689
869
|
setReachability() {
|
|
690
870
|
// @ts-ignore
|
|
691
871
|
this.reachability = new Reachability(this.webex);
|
|
692
872
|
}
|
|
693
873
|
|
|
694
874
|
/**
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
875
|
+
* gets the reachability instance for Meetings
|
|
876
|
+
* @returns {Reachability}
|
|
877
|
+
* @public
|
|
878
|
+
* @memberof Meetings
|
|
879
|
+
*/
|
|
700
880
|
getReachability() {
|
|
701
881
|
return this.reachability;
|
|
702
882
|
}
|
|
703
883
|
|
|
704
884
|
/**
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
885
|
+
* initializes and starts gathering reachability for Meetings
|
|
886
|
+
* @returns {Promise}
|
|
887
|
+
* @public
|
|
888
|
+
* @memberof Meetings
|
|
889
|
+
*/
|
|
710
890
|
startReachability() {
|
|
711
891
|
if (!this.reachability) {
|
|
712
892
|
this.setReachability();
|
|
@@ -716,11 +896,11 @@ export default class Meetings extends WebexPlugin {
|
|
|
716
896
|
}
|
|
717
897
|
|
|
718
898
|
/**
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
899
|
+
* Get geoHint for info for meetings
|
|
900
|
+
* @returns {Promise}
|
|
901
|
+
* @private
|
|
902
|
+
* @memberof Meetings
|
|
903
|
+
*/
|
|
724
904
|
getGeoHint() {
|
|
725
905
|
return this.request.fetchGeoHint().then((res) => {
|
|
726
906
|
this.geoHintInfo = res;
|
|
@@ -728,12 +908,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
728
908
|
}
|
|
729
909
|
|
|
730
910
|
/**
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
911
|
+
* Fetch user preferred webex site information
|
|
912
|
+
* This also has other infomation about the user
|
|
913
|
+
* @returns {Promise}
|
|
914
|
+
* @private
|
|
915
|
+
* @memberof Meetings
|
|
916
|
+
*/
|
|
737
917
|
fetchUserPreferredWebexSite() {
|
|
738
918
|
return this.request.getMeetingPreferences().then((res) => {
|
|
739
919
|
if (res) {
|
|
@@ -743,24 +923,24 @@ export default class Meetings extends WebexPlugin {
|
|
|
743
923
|
}
|
|
744
924
|
|
|
745
925
|
/**
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
926
|
+
* gets the personal meeting room instance, for saved PMR values for this user
|
|
927
|
+
* @returns {PersonalMeetingRoom}
|
|
928
|
+
* @public
|
|
929
|
+
* @memberof Meetings
|
|
930
|
+
*/
|
|
751
931
|
|
|
752
932
|
getPersonalMeetingRoom() {
|
|
753
933
|
return this.personalMeetingRoom;
|
|
754
934
|
}
|
|
755
935
|
|
|
756
936
|
/**
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
937
|
+
* @param {Meeting} meeting
|
|
938
|
+
* @param {Object} reason
|
|
939
|
+
* @param {String} type
|
|
940
|
+
* @returns {Undefined}
|
|
941
|
+
* @private
|
|
942
|
+
* @memberof Meetings
|
|
943
|
+
*/
|
|
764
944
|
private destroy(meeting: Meeting, reason: object) {
|
|
765
945
|
MeetingUtil.cleanUp(meeting);
|
|
766
946
|
this.meetingCollection.delete(meeting.id);
|
|
@@ -768,123 +948,133 @@ export default class Meetings extends WebexPlugin {
|
|
|
768
948
|
this,
|
|
769
949
|
{
|
|
770
950
|
file: 'meetings',
|
|
771
|
-
function: 'destroy'
|
|
951
|
+
function: 'destroy',
|
|
772
952
|
},
|
|
773
953
|
EVENT_TRIGGERS.MEETING_REMOVED,
|
|
774
954
|
{
|
|
775
955
|
meetingId: meeting.id,
|
|
776
|
-
reason
|
|
956
|
+
reason,
|
|
777
957
|
}
|
|
778
958
|
);
|
|
779
959
|
}
|
|
780
960
|
|
|
781
961
|
/**
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
public create(destination: string, type: string = null, useRandomDelayForInfo
|
|
962
|
+
* Create a meeting.
|
|
963
|
+
* @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
|
|
964
|
+
* @param {string} [type] - the optional specified type, such as locusId
|
|
965
|
+
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
966
|
+
* @returns {Promise<Meeting>} A new Meeting.
|
|
967
|
+
* @public
|
|
968
|
+
* @memberof Meetings
|
|
969
|
+
*/
|
|
970
|
+
public create(destination: string, type: string = null, useRandomDelayForInfo = false) {
|
|
791
971
|
// TODO: type should be from a dictionary
|
|
792
972
|
|
|
793
973
|
// Validate meeting information based on the provided destination and
|
|
794
974
|
// type. This must be performed prior to determining if the meeting is
|
|
795
975
|
// found in the collection, as we mutate the destination for hydra person
|
|
796
976
|
// id values.
|
|
797
|
-
return
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
977
|
+
return (
|
|
978
|
+
this.meetingInfo
|
|
979
|
+
.fetchInfoOptions(destination, type)
|
|
980
|
+
// Catch a failure to fetch info options.
|
|
981
|
+
.catch((error) => {
|
|
982
|
+
LoggerProxy.logger.info(
|
|
983
|
+
`Meetings:index#create --> INFO, unable to determine info options: ${error.message}`
|
|
984
|
+
);
|
|
985
|
+
})
|
|
986
|
+
.then((options: any = {}) => {
|
|
987
|
+
// Normalize the destination.
|
|
988
|
+
const targetDest = options.destination || destination;
|
|
989
|
+
|
|
990
|
+
// check for the conversation URL then sip Url
|
|
991
|
+
let meeting = null;
|
|
992
|
+
|
|
993
|
+
if (type === _CONVERSATION_URL_ || options.type === _CONVERSATION_URL_) {
|
|
994
|
+
const foundMeeting = this.meetingCollection.getByKey(CONVERSATION_URL, targetDest);
|
|
995
|
+
|
|
996
|
+
if (foundMeeting) {
|
|
997
|
+
const foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
|
|
998
|
+
|
|
999
|
+
// If the found meeting is not a calendar meeting, return that meeting.
|
|
1000
|
+
// This allows for the creation of instant-meetings when calendar meetings are present.
|
|
1001
|
+
if (foundMeetingIsNotCalendarMeeting) {
|
|
1002
|
+
meeting = foundMeeting;
|
|
1003
|
+
}
|
|
819
1004
|
}
|
|
820
1005
|
}
|
|
821
|
-
}
|
|
822
1006
|
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
1007
|
+
// Attempt to collect the meeting if it exists.
|
|
1008
|
+
if (!meeting) {
|
|
1009
|
+
meeting = this.meetingCollection.getByKey(SIP_URI, targetDest);
|
|
1010
|
+
}
|
|
827
1011
|
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
}
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
}
|
|
862
|
-
}
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
1012
|
+
// Validate if a meeting was found.
|
|
1013
|
+
if (!meeting) {
|
|
1014
|
+
// Create a meeting based on the normalized destination and type.
|
|
1015
|
+
return this.createMeeting(targetDest, type, useRandomDelayForInfo).then(
|
|
1016
|
+
(createdMeeting: any) => {
|
|
1017
|
+
// If the meeting was successfully created.
|
|
1018
|
+
if (createdMeeting && createdMeeting.on) {
|
|
1019
|
+
// Create a destruction event for the meeting.
|
|
1020
|
+
createdMeeting.on(EVENTS.DESTROY_MEETING, (payload) => {
|
|
1021
|
+
// @ts-ignore
|
|
1022
|
+
if (this.config.autoUploadLogs) {
|
|
1023
|
+
this.uploadLogs({
|
|
1024
|
+
callStart: createdMeeting.locusInfo?.fullState?.lastActive,
|
|
1025
|
+
correlationId: createdMeeting.correlationId,
|
|
1026
|
+
feedbackId: createdMeeting.correlationId,
|
|
1027
|
+
locusId: createdMeeting.locusId,
|
|
1028
|
+
meetingId: createdMeeting.locusInfo?.info?.webExMeetingId,
|
|
1029
|
+
}).then(() => this.destroy(createdMeeting, payload.reason));
|
|
1030
|
+
} else {
|
|
1031
|
+
this.destroy(createdMeeting, payload.reason);
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
|
|
1035
|
+
createdMeeting.on(EVENTS.REQUEST_UPLOAD_LOGS, (meetingInstance) => {
|
|
1036
|
+
// @ts-ignore
|
|
1037
|
+
if (this.config.autoUploadLogs) {
|
|
1038
|
+
this.uploadLogs({
|
|
1039
|
+
callStart: meetingInstance?.locusInfo?.fullState?.lastActive,
|
|
1040
|
+
correlationId: meetingInstance.correlationId,
|
|
1041
|
+
feedbackId: meetingInstance.correlationId,
|
|
1042
|
+
locusId: meetingInstance.locusId,
|
|
1043
|
+
meetingId: meetingInstance.locusInfo?.info?.webExMeetingId,
|
|
1044
|
+
});
|
|
1045
|
+
}
|
|
1046
|
+
});
|
|
1047
|
+
} else {
|
|
1048
|
+
LoggerProxy.logger.error(
|
|
1049
|
+
`Meetings:index#create --> ERROR, meeting does not have on method, will not be destroyed, meeting cleanup impossible for meeting: ${meeting}`
|
|
1050
|
+
);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
// Return the newly created meeting.
|
|
1054
|
+
return Promise.resolve(createdMeeting);
|
|
867
1055
|
}
|
|
1056
|
+
);
|
|
1057
|
+
}
|
|
868
1058
|
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
// Return the existing meeting.
|
|
875
|
-
return Promise.resolve(meeting);
|
|
876
|
-
});
|
|
1059
|
+
// Return the existing meeting.
|
|
1060
|
+
return Promise.resolve(meeting);
|
|
1061
|
+
})
|
|
1062
|
+
);
|
|
877
1063
|
}
|
|
878
1064
|
|
|
879
1065
|
/**
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
private async createMeeting(
|
|
1066
|
+
* @param {String} destination see create()
|
|
1067
|
+
* @param {String} type see create()
|
|
1068
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1069
|
+
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
1070
|
+
* @private
|
|
1071
|
+
* @memberof Meetings
|
|
1072
|
+
*/
|
|
1073
|
+
private async createMeeting(
|
|
1074
|
+
destination: any,
|
|
1075
|
+
type: string = null,
|
|
1076
|
+
useRandomDelayForInfo = false
|
|
1077
|
+
) {
|
|
888
1078
|
const meeting = new Meeting(
|
|
889
1079
|
{
|
|
890
1080
|
// @ts-ignore
|
|
@@ -900,7 +1090,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
900
1090
|
},
|
|
901
1091
|
{
|
|
902
1092
|
// @ts-ignore
|
|
903
|
-
parent: this.webex
|
|
1093
|
+
parent: this.webex,
|
|
904
1094
|
}
|
|
905
1095
|
);
|
|
906
1096
|
|
|
@@ -918,7 +1108,10 @@ export default class Meetings extends WebexPlugin {
|
|
|
918
1108
|
const startTimeDate = new Date(startTime);
|
|
919
1109
|
const startTimeDatestamp = startTimeDate.getTime();
|
|
920
1110
|
const timeToStart = startTimeDatestamp - Date.now();
|
|
921
|
-
const maxWaitingTime = Math.max(
|
|
1111
|
+
const maxWaitingTime = Math.max(
|
|
1112
|
+
Math.min(timeToStart, MAX_RANDOM_DELAY_FOR_MEETING_INFO),
|
|
1113
|
+
0
|
|
1114
|
+
);
|
|
922
1115
|
|
|
923
1116
|
waitingTime = Math.round(Math.random() * maxWaitingTime);
|
|
924
1117
|
}
|
|
@@ -927,22 +1120,28 @@ export default class Meetings extends WebexPlugin {
|
|
|
927
1120
|
const {enableUnifiedMeetings} = this.config.experimental;
|
|
928
1121
|
|
|
929
1122
|
if (enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0) {
|
|
930
|
-
meeting.fetchMeetingInfoTimeoutId = setTimeout(
|
|
1123
|
+
meeting.fetchMeetingInfoTimeoutId = setTimeout(
|
|
1124
|
+
() => meeting.fetchMeetingInfo({}),
|
|
1125
|
+
waitingTime
|
|
1126
|
+
);
|
|
931
1127
|
meeting.parseMeetingInfo(undefined, destination);
|
|
932
|
-
}
|
|
933
|
-
else {
|
|
1128
|
+
} else {
|
|
934
1129
|
await meeting.fetchMeetingInfo({});
|
|
935
1130
|
}
|
|
936
|
-
}
|
|
937
|
-
catch (err) {
|
|
1131
|
+
} catch (err) {
|
|
938
1132
|
if (!(err instanceof CaptchaError) && !(err instanceof PasswordError)) {
|
|
939
1133
|
// if there is no meeting info we assume its a 1:1 call or wireless share
|
|
940
|
-
LoggerProxy.logger.info(
|
|
941
|
-
|
|
1134
|
+
LoggerProxy.logger.info(
|
|
1135
|
+
`Meetings:index#createMeeting --> Info Unable to fetch meeting info for ${destination}.`
|
|
1136
|
+
);
|
|
1137
|
+
LoggerProxy.logger.info(
|
|
1138
|
+
'Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share'
|
|
1139
|
+
);
|
|
942
1140
|
}
|
|
943
|
-
LoggerProxy.logger.debug(
|
|
944
|
-
|
|
945
|
-
|
|
1141
|
+
LoggerProxy.logger.debug(
|
|
1142
|
+
`Meetings:index#createMeeting --> Debug ${err} fetching /meetingInfo for creation.`
|
|
1143
|
+
);
|
|
1144
|
+
} finally {
|
|
946
1145
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
947
1146
|
// about the caller and callee
|
|
948
1147
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
@@ -960,12 +1159,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
960
1159
|
this,
|
|
961
1160
|
{
|
|
962
1161
|
file: 'meetings',
|
|
963
|
-
function: 'createMeeting'
|
|
1162
|
+
function: 'createMeeting',
|
|
964
1163
|
},
|
|
965
1164
|
EVENT_TRIGGERS.MEETING_ADDED,
|
|
966
1165
|
{
|
|
967
1166
|
meeting,
|
|
968
|
-
type: meetingAddedType
|
|
1167
|
+
type: meetingAddedType,
|
|
969
1168
|
}
|
|
970
1169
|
);
|
|
971
1170
|
}
|
|
@@ -993,26 +1192,26 @@ export default class Meetings extends WebexPlugin {
|
|
|
993
1192
|
}
|
|
994
1193
|
|
|
995
1194
|
/**
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1195
|
+
* get a specifc meeting given it's type matched to the value, i.e., locus url
|
|
1196
|
+
* @param {String} type
|
|
1197
|
+
* @param {Object} value
|
|
1198
|
+
* @returns {Meeting}
|
|
1199
|
+
* @public
|
|
1200
|
+
* @memberof Meetings
|
|
1201
|
+
*/
|
|
1003
1202
|
public getMeetingByType(type: string, value: object) {
|
|
1004
1203
|
return this.meetingCollection.getByKey(type, value);
|
|
1005
1204
|
}
|
|
1006
1205
|
|
|
1007
1206
|
/**
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1207
|
+
* Get all meetings.
|
|
1208
|
+
* @param {object} options
|
|
1209
|
+
* @param {object} options.startDate - get meetings after this start date
|
|
1210
|
+
* @param {object} options.endDate - get meetings before this end date
|
|
1211
|
+
* @returns {Object} All currently active meetings.
|
|
1212
|
+
* @public
|
|
1213
|
+
* @memberof Meetings
|
|
1214
|
+
*/
|
|
1016
1215
|
public getAllMeetings(
|
|
1017
1216
|
options: {
|
|
1018
1217
|
startDate: object;
|
|
@@ -1025,57 +1224,65 @@ export default class Meetings extends WebexPlugin {
|
|
|
1025
1224
|
}
|
|
1026
1225
|
|
|
1027
1226
|
/**
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1227
|
+
* syncs all the meeting from server
|
|
1228
|
+
* @returns {undefined}
|
|
1229
|
+
* @public
|
|
1230
|
+
* @memberof Meetings
|
|
1231
|
+
*/
|
|
1033
1232
|
public syncMeetings() {
|
|
1034
|
-
return this.request
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
locus
|
|
1042
|
-
|
|
1233
|
+
return this.request
|
|
1234
|
+
.getActiveMeetings()
|
|
1235
|
+
.then((locusArray) => {
|
|
1236
|
+
const activeLocusUrl = [];
|
|
1237
|
+
|
|
1238
|
+
if (locusArray?.loci && locusArray.loci.length > 0) {
|
|
1239
|
+
locusArray.loci.forEach((locus) => {
|
|
1240
|
+
activeLocusUrl.push(locus.url);
|
|
1241
|
+
this.handleLocusEvent({
|
|
1242
|
+
locus,
|
|
1243
|
+
locusUrl: locus.url,
|
|
1244
|
+
});
|
|
1043
1245
|
});
|
|
1044
|
-
}
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
for (const meeting of Object.values(meetingsCollection)) {
|
|
1052
|
-
// @ts-ignore
|
|
1053
|
-
if (!activeLocusUrl.includes(meeting.locusUrl)) {
|
|
1054
|
-
// destroy function also uploads logs
|
|
1246
|
+
}
|
|
1247
|
+
const meetingsCollection = this.meetingCollection.getAll();
|
|
1248
|
+
|
|
1249
|
+
if (Object.keys(meetingsCollection).length > 0) {
|
|
1250
|
+
// Some time the mercury event is missed after mercury reconnect
|
|
1251
|
+
// if sync returns no locus then clear all the meetings
|
|
1252
|
+
for (const meeting of Object.values(meetingsCollection)) {
|
|
1055
1253
|
// @ts-ignore
|
|
1056
|
-
|
|
1254
|
+
if (!activeLocusUrl.includes(meeting.locusUrl)) {
|
|
1255
|
+
// destroy function also uploads logs
|
|
1256
|
+
// @ts-ignore
|
|
1257
|
+
this.destroy(meeting, MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
|
|
1258
|
+
}
|
|
1057
1259
|
}
|
|
1058
1260
|
}
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1261
|
+
})
|
|
1262
|
+
.catch((error) => {
|
|
1263
|
+
LoggerProxy.logger.error(
|
|
1264
|
+
`Meetings:index#syncMeetings --> failed to sync meetings, ${error}`
|
|
1265
|
+
);
|
|
1266
|
+
throw new Error(error);
|
|
1267
|
+
});
|
|
1061
1268
|
}
|
|
1062
1269
|
|
|
1063
1270
|
/**
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1271
|
+
* Get all scheduled meetings.
|
|
1272
|
+
* @param {object} options
|
|
1273
|
+
* @param {object} options.startDate - get meetings after this start date
|
|
1274
|
+
* @param {object} options.endDate - get meetings before this end date
|
|
1275
|
+
* @returns {Object} All scheduled meetings.
|
|
1276
|
+
* @memberof Meetings
|
|
1277
|
+
*/
|
|
1071
1278
|
getScheduledMeetings() {
|
|
1072
1279
|
return this.meetingCollection.getAll({scheduled: true});
|
|
1073
1280
|
}
|
|
1074
1281
|
|
|
1075
1282
|
/**
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1283
|
+
* Get the logger instance for plugin-meetings
|
|
1284
|
+
* @returns {Logger}
|
|
1285
|
+
*/
|
|
1079
1286
|
getLogger() {
|
|
1080
1287
|
return LoggerProxy.get();
|
|
1081
1288
|
}
|