@webex/plugin-meetings 2.60.0-next.1 → 2.60.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +2 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/in-meeting-actions.js +2 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +155 -103
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +3 -0
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +14 -29
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +13 -0
- package/dist/meetings/index.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/reconnection-manager/index.js +26 -26
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/rtcMetrics/index.js +25 -0
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +21 -1
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +16 -16
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -22
- package/src/constants.ts +10 -4
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/meeting/in-meeting-actions.ts +4 -0
- package/src/meeting/index.ts +140 -92
- package/src/meeting-info/meeting-info-v2.ts +4 -0
- package/src/meeting-info/utilv2.ts +6 -19
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +11 -0
- package/src/metrics/constants.ts +1 -0
- package/src/reconnection-manager/index.ts +62 -66
- package/src/rtcMetrics/index.ts +24 -0
- package/src/statsAnalyzer/index.ts +30 -1
- package/src/statsAnalyzer/mqaUtil.ts +17 -14
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +1058 -158
- package/test/unit/spec/meeting/muteState.js +2 -1
- package/test/unit/spec/meeting-info/meetinginfov2.js +28 -0
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +306 -118
- package/test/unit/spec/member/util.js +0 -31
- package/test/unit/spec/reconnection-manager/index.js +25 -10
- package/test/unit/spec/rtcMetrics/index.ts +20 -0
- package/test/unit/spec/stats-analyzer/index.js +12 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","InMeetingActions","exports","default","_createClass2","_this","_classCallCheck2","_defineProperty2","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canSetMuteOnEntry","canUnsetMuteOnEntry","canSetDisallowUnmute","canSetMuted","canUnsetMuted","canSetPresenter","canUnsetPresenter","canUnsetDisallowUnmute","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isSaveTranscriptsEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","canShareDesktop","canShareContent","canTransferFile","canDoVideo","canAnnotate","canUseVoip","supportHQV","supportHDV","canShareWhiteBoard","actions","old","get","changed","_keys","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canSetMuteOnEntry?: boolean;\n canUnsetMuteOnEntry?: boolean;\n canSetDisallowUnmute?: boolean;\n canUnsetDisallowUnmute?: boolean;\n canSetMuted?: boolean;\n canUnsetMuted?: boolean;\n canAssignHost?: boolean;\n canSetPresenter?: boolean;\n canUnsetPresenter?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: boolean;\n canBroadcastMessageToBreakout?: boolean;\n canAdmitLobbyToBreakout?: boolean;\n isBreakoutPreassignmentsEnabled?: boolean;\n canUserAskForHelp?: boolean;\n canUserRenameSelfAndObserved?: boolean;\n canUserRenameOthers?: boolean;\n canMuteAll?: boolean;\n canUnmuteAll?: boolean;\n canEnableHardMute?: boolean;\n canDisableHardMute?: boolean;\n canEnableMuteOnEntry?: boolean;\n canDisableMuteOnEntry?: boolean;\n canEnableReactions?: boolean;\n canDisableReactions?: boolean;\n canEnableReactionDisplayNames?: boolean;\n canDisableReactionDisplayNames?: boolean;\n canUpdateShareControl?: boolean;\n canEnableViewTheParticipantsList?: boolean;\n canDisableViewTheParticipantsList?: boolean;\n canEnableRaiseHand?: boolean;\n canDisableRaiseHand?: boolean;\n canEnableVideo?: boolean;\n canDisableVideo?: boolean;\n canShareFile?: boolean;\n canShareApplication?: boolean;\n canShareCamera?: boolean;\n canShareDesktop?: boolean;\n canShareContent?: boolean;\n canTransferFile?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n canStopRecording = null;\n\n canSetMuteOnEntry = null;\n\n canSetPresenter = null;\n\n canUnsetPresenter = null;\n\n canUnsetMuteOnEntry = null;\n\n canSetDisallowUnmute = null;\n\n canUnsetDisallowUnmute = null;\n\n canSetMuted = null;\n\n canUnsetMuted = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n isSaveTranscriptsEnabled = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canSendReactions = null;\n\n canManageBreakout = null;\n\n canBroadcastMessageToBreakout = null;\n\n canAdmitLobbyToBreakout = null;\n\n isBreakoutPreassignmentsEnabled = null;\n\n canUserAskForHelp = null;\n\n canUserRenameSelfAndObserved = null;\n\n canUserRenameOthers = null;\n\n canMuteAll = null;\n\n canUnmuteAll = null;\n\n canEnableHardMute = null;\n\n canDisableHardMute = null;\n\n canEnableMuteOnEntry = null;\n\n canDisableMuteOnEntry = null;\n\n canEnableReactions = null;\n\n canDisableReactions = null;\n\n canEnableReactionDisplayNames = null;\n\n canDisableReactionDisplayNames = null;\n\n canUpdateShareControl = null;\n\n canEnableViewTheParticipantsList = null;\n\n canDisableViewTheParticipantsList = null;\n\n canEnableRaiseHand = null;\n\n canDisableRaiseHand = null;\n\n canEnableVideo = null;\n\n canDisableVideo = null;\n\n canShareFile = null;\n\n canShareApplication = null;\n\n canShareCamera = null;\n\n canShareDesktop = null;\n\n canShareContent = null;\n\n canTransferFile = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n supportHQV = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canSetMuteOnEntry: this.canSetMuteOnEntry,\n canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,\n canSetDisallowUnmute: this.canSetDisallowUnmute,\n canSetMuted: this.canSetMuted,\n canUnsetMuted: this.canUnsetMuted,\n canSetPresenter: this.canSetPresenter,\n canUnsetPresenter: this.canUnsetPresenter,\n canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canSendReactions: this.canSendReactions,\n canManageBreakout: this.canManageBreakout,\n canBroadcastMessageToBreakout: this.canBroadcastMessageToBreakout,\n canAdmitLobbyToBreakout: this.canAdmitLobbyToBreakout,\n isBreakoutPreassignmentsEnabled: this.isBreakoutPreassignmentsEnabled,\n canUserAskForHelp: this.canUserAskForHelp,\n canUserRenameSelfAndObserved: this.canUserRenameSelfAndObserved,\n canUserRenameOthers: this.canUserRenameOthers,\n canMuteAll: this.canMuteAll,\n canUnmuteAll: this.canUnmuteAll,\n canEnableHardMute: this.canEnableHardMute,\n canDisableHardMute: this.canDisableHardMute,\n canEnableMuteOnEntry: this.canEnableMuteOnEntry,\n canDisableMuteOnEntry: this.canDisableMuteOnEntry,\n canEnableReactions: this.canEnableReactions,\n canDisableReactions: this.canDisableReactions,\n canEnableReactionDisplayNames: this.canEnableReactionDisplayNames,\n canDisableReactionDisplayNames: this.canDisableReactionDisplayNames,\n canUpdateShareControl: this.canUpdateShareControl,\n canEnableViewTheParticipantsList: this.canEnableViewTheParticipantsList,\n canDisableViewTheParticipantsList: this.canDisableViewTheParticipantsList,\n canEnableRaiseHand: this.canEnableRaiseHand,\n canDisableRaiseHand: this.canDisableRaiseHand,\n canEnableVideo: this.canEnableVideo,\n canDisableVideo: this.canDisableVideo,\n canShareFile: this.canShareFile,\n canShareApplication: this.canShareApplication,\n canShareCamera: this.canShareCamera,\n canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\n canDoVideo: this.canDoVideo,\n canAnnotate: this.canAnnotate,\n canUseVoip: this.canUseVoip,\n supportHQV: this.supportHQV,\n supportHDV: this.supportHDV,\n canShareWhiteBoard: this.canShareWhiteBoard,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","InMeetingActions","exports","default","_createClass2","_this","_classCallCheck2","_defineProperty2","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canSetMuteOnEntry","canUnsetMuteOnEntry","canSetDisallowUnmute","canSetMuted","canUnsetMuted","canSetPresenter","canUnsetPresenter","canUnsetDisallowUnmute","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isSaveTranscriptsEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","canShareDesktop","canShareContent","canTransferFile","canChat","canDoVideo","canAnnotate","canUseVoip","supportHQV","supportHDV","canShareWhiteBoard","actions","old","get","changed","_keys","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canSetMuteOnEntry?: boolean;\n canUnsetMuteOnEntry?: boolean;\n canSetDisallowUnmute?: boolean;\n canUnsetDisallowUnmute?: boolean;\n canSetMuted?: boolean;\n canUnsetMuted?: boolean;\n canAssignHost?: boolean;\n canSetPresenter?: boolean;\n canUnsetPresenter?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: boolean;\n canBroadcastMessageToBreakout?: boolean;\n canAdmitLobbyToBreakout?: boolean;\n isBreakoutPreassignmentsEnabled?: boolean;\n canUserAskForHelp?: boolean;\n canUserRenameSelfAndObserved?: boolean;\n canUserRenameOthers?: boolean;\n canMuteAll?: boolean;\n canUnmuteAll?: boolean;\n canEnableHardMute?: boolean;\n canDisableHardMute?: boolean;\n canEnableMuteOnEntry?: boolean;\n canDisableMuteOnEntry?: boolean;\n canEnableReactions?: boolean;\n canDisableReactions?: boolean;\n canEnableReactionDisplayNames?: boolean;\n canDisableReactionDisplayNames?: boolean;\n canUpdateShareControl?: boolean;\n canEnableViewTheParticipantsList?: boolean;\n canDisableViewTheParticipantsList?: boolean;\n canEnableRaiseHand?: boolean;\n canDisableRaiseHand?: boolean;\n canEnableVideo?: boolean;\n canDisableVideo?: boolean;\n canShareFile?: boolean;\n canShareApplication?: boolean;\n canShareCamera?: boolean;\n canShareDesktop?: boolean;\n canShareContent?: boolean;\n canTransferFile?: boolean;\n canChat?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n canStopRecording = null;\n\n canSetMuteOnEntry = null;\n\n canSetPresenter = null;\n\n canUnsetPresenter = null;\n\n canUnsetMuteOnEntry = null;\n\n canSetDisallowUnmute = null;\n\n canUnsetDisallowUnmute = null;\n\n canSetMuted = null;\n\n canUnsetMuted = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n isSaveTranscriptsEnabled = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canSendReactions = null;\n\n canManageBreakout = null;\n\n canBroadcastMessageToBreakout = null;\n\n canAdmitLobbyToBreakout = null;\n\n isBreakoutPreassignmentsEnabled = null;\n\n canUserAskForHelp = null;\n\n canUserRenameSelfAndObserved = null;\n\n canUserRenameOthers = null;\n\n canMuteAll = null;\n\n canUnmuteAll = null;\n\n canEnableHardMute = null;\n\n canDisableHardMute = null;\n\n canEnableMuteOnEntry = null;\n\n canDisableMuteOnEntry = null;\n\n canEnableReactions = null;\n\n canDisableReactions = null;\n\n canEnableReactionDisplayNames = null;\n\n canDisableReactionDisplayNames = null;\n\n canUpdateShareControl = null;\n\n canEnableViewTheParticipantsList = null;\n\n canDisableViewTheParticipantsList = null;\n\n canEnableRaiseHand = null;\n\n canDisableRaiseHand = null;\n\n canEnableVideo = null;\n\n canDisableVideo = null;\n\n canShareFile = null;\n\n canShareApplication = null;\n\n canShareCamera = null;\n\n canShareDesktop = null;\n\n canShareContent = null;\n\n canTransferFile = null;\n\n canChat = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n supportHQV = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canSetMuteOnEntry: this.canSetMuteOnEntry,\n canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,\n canSetDisallowUnmute: this.canSetDisallowUnmute,\n canSetMuted: this.canSetMuted,\n canUnsetMuted: this.canUnsetMuted,\n canSetPresenter: this.canSetPresenter,\n canUnsetPresenter: this.canUnsetPresenter,\n canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canSendReactions: this.canSendReactions,\n canManageBreakout: this.canManageBreakout,\n canBroadcastMessageToBreakout: this.canBroadcastMessageToBreakout,\n canAdmitLobbyToBreakout: this.canAdmitLobbyToBreakout,\n isBreakoutPreassignmentsEnabled: this.isBreakoutPreassignmentsEnabled,\n canUserAskForHelp: this.canUserAskForHelp,\n canUserRenameSelfAndObserved: this.canUserRenameSelfAndObserved,\n canUserRenameOthers: this.canUserRenameOthers,\n canMuteAll: this.canMuteAll,\n canUnmuteAll: this.canUnmuteAll,\n canEnableHardMute: this.canEnableHardMute,\n canDisableHardMute: this.canDisableHardMute,\n canEnableMuteOnEntry: this.canEnableMuteOnEntry,\n canDisableMuteOnEntry: this.canDisableMuteOnEntry,\n canEnableReactions: this.canEnableReactions,\n canDisableReactions: this.canDisableReactions,\n canEnableReactionDisplayNames: this.canEnableReactionDisplayNames,\n canDisableReactionDisplayNames: this.canDisableReactionDisplayNames,\n canUpdateShareControl: this.canUpdateShareControl,\n canEnableViewTheParticipantsList: this.canEnableViewTheParticipantsList,\n canDisableViewTheParticipantsList: this.canDisableViewTheParticipantsList,\n canEnableRaiseHand: this.canEnableRaiseHand,\n canDisableRaiseHand: this.canDisableRaiseHand,\n canEnableVideo: this.canEnableVideo,\n canDisableVideo: this.canDisableVideo,\n canShareFile: this.canShareFile,\n canShareApplication: this.canShareApplication,\n canShareCamera: this.canShareCamera,\n canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\n canChat: this.canChat,\n canDoVideo: this.canDoVideo,\n canAnnotate: this.canAnnotate,\n canUseVoip: this.canUseVoip,\n supportHQV: this.supportHQV,\n supportHDV: this.supportHDV,\n canShareWhiteBoard: this.canShareWhiteBoard,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":"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"}
|
package/dist/meeting/index.js
CHANGED
|
@@ -493,6 +493,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
493
493
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "deferSDPAnswer", void 0);
|
|
494
494
|
// used for waiting for a response
|
|
495
495
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdpResponseTimer", void 0);
|
|
496
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hasMediaConnectionConnectedAtLeastOnce", void 0);
|
|
496
497
|
/**
|
|
497
498
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
498
499
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -784,36 +785,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
784
785
|
});
|
|
785
786
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.CONNECTION_STATE_CHANGED, function (event) {
|
|
786
787
|
var connectionFailed = function connectionFailed() {
|
|
787
|
-
// we know the media connection failed and browser will not attempt to recover it any more
|
|
788
|
-
// so reset the timer as it's not needed anymore, we want to reconnect immediately
|
|
789
|
-
_this.reconnectionManager.resetReconnectionTimer();
|
|
790
|
-
_this.reconnect({
|
|
791
|
-
networkDisconnect: true
|
|
792
|
-
});
|
|
793
|
-
// @ts-ignore
|
|
794
|
-
_this.webex.internal.newMetrics.submitClientEvent({
|
|
795
|
-
name: 'client.ice.end',
|
|
796
|
-
payload: {
|
|
797
|
-
canProceed: false,
|
|
798
|
-
icePhase: 'IN_MEETING',
|
|
799
|
-
errors: [
|
|
800
|
-
// @ts-ignore
|
|
801
|
-
_this.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
802
|
-
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE
|
|
803
|
-
})]
|
|
804
|
-
},
|
|
805
|
-
options: {
|
|
806
|
-
meetingId: _this.id
|
|
807
|
-
}
|
|
808
|
-
});
|
|
809
|
-
_this.uploadLogs({
|
|
810
|
-
file: 'peer-connection-manager/index',
|
|
811
|
-
function: 'connectionFailed'
|
|
812
|
-
});
|
|
813
788
|
_metrics.default.sendBehavioralMetric(_constants2.default.CONNECTION_FAILURE, {
|
|
814
789
|
correlation_id: _this.correlationId,
|
|
815
|
-
locus_id: _this.locusId
|
|
790
|
+
locus_id: _this.locusId,
|
|
791
|
+
networkStatus: _this.networkStatus,
|
|
792
|
+
hasMediaConnectionConnectedAtLeastOnce: _this.hasMediaConnectionConnectedAtLeastOnce
|
|
816
793
|
});
|
|
794
|
+
if (_this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
795
|
+
// we know the media connection failed and browser will not attempt to recover it any more
|
|
796
|
+
// so reset the timer as it's not needed anymore, we want to reconnect immediately
|
|
797
|
+
_this.reconnectionManager.resetReconnectionTimer();
|
|
798
|
+
_this.reconnect({
|
|
799
|
+
networkDisconnect: true
|
|
800
|
+
});
|
|
801
|
+
_this.uploadLogs({
|
|
802
|
+
file: 'peer-connection-manager/index',
|
|
803
|
+
function: 'connectionFailed'
|
|
804
|
+
});
|
|
805
|
+
}
|
|
817
806
|
};
|
|
818
807
|
_loggerProxy.default.logger.info("Meeting:index#setupMediaConnectionListeners --> correlationId=".concat(_this.correlationId, " connection state changed to ").concat(event.state));
|
|
819
808
|
|
|
@@ -821,22 +810,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
821
810
|
var cdl = _this.webex.internal.newMetrics.callDiagnosticLatencies;
|
|
822
811
|
switch (event.state) {
|
|
823
812
|
case _internalMediaCore.ConnectionState.Connecting:
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
813
|
+
if (!_this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
814
|
+
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
815
|
+
// @ts-ignore
|
|
816
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
817
|
+
name: 'client.ice.start',
|
|
818
|
+
options: {
|
|
819
|
+
meetingId: _this.id
|
|
820
|
+
}
|
|
821
|
+
});
|
|
822
|
+
}
|
|
831
823
|
break;
|
|
832
824
|
case _internalMediaCore.ConnectionState.Connected:
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
825
|
+
if (!_this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
826
|
+
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
827
|
+
// @ts-ignore
|
|
828
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
829
|
+
name: 'client.ice.end',
|
|
830
|
+
payload: {
|
|
831
|
+
canProceed: true,
|
|
832
|
+
icePhase: 'JOIN_MEETING_FINAL'
|
|
833
|
+
},
|
|
834
|
+
options: {
|
|
835
|
+
meetingId: _this.id
|
|
836
|
+
}
|
|
837
|
+
});
|
|
838
|
+
}
|
|
840
839
|
_metrics.default.sendBehavioralMetric(_constants2.default.CONNECTION_SUCCESS, {
|
|
841
840
|
correlation_id: _this.correlationId,
|
|
842
841
|
locus_id: _this.locusId,
|
|
@@ -845,6 +844,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
845
844
|
_this.setNetworkStatus(_constants.NETWORK_STATUS.CONNECTED);
|
|
846
845
|
_this.reconnectionManager.iceReconnected();
|
|
847
846
|
_this.statsAnalyzer.startAnalyzer(_this.mediaProperties.webrtcMediaConnection);
|
|
847
|
+
_this.hasMediaConnectionConnectedAtLeastOnce = true;
|
|
848
848
|
break;
|
|
849
849
|
case _internalMediaCore.ConnectionState.Disconnected:
|
|
850
850
|
_this.setNetworkStatus(_constants.NETWORK_STATUS.DISCONNECTED);
|
|
@@ -1702,13 +1702,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1702
1702
|
*/
|
|
1703
1703
|
_this.networkQualityMonitor = null;
|
|
1704
1704
|
/**
|
|
1705
|
+
* Indicates network status of the webrtc media connection
|
|
1705
1706
|
* @instance
|
|
1706
1707
|
* @type {String}
|
|
1707
1708
|
* @readonly
|
|
1708
1709
|
* @public
|
|
1709
1710
|
* @memberof Meeting
|
|
1710
1711
|
*/
|
|
1711
|
-
_this.networkStatus =
|
|
1712
|
+
_this.networkStatus = undefined;
|
|
1712
1713
|
/**
|
|
1713
1714
|
* Passing only info as we send basic info for meeting added event
|
|
1714
1715
|
* @instance
|
|
@@ -1925,6 +1926,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1925
1926
|
* @memberof Meeting
|
|
1926
1927
|
*/
|
|
1927
1928
|
_this.retriedWithTurnServer = false;
|
|
1929
|
+
|
|
1930
|
+
/**
|
|
1931
|
+
* Whether or not the media connection has ever successfully connected.
|
|
1932
|
+
* @instance
|
|
1933
|
+
* @type {boolean}
|
|
1934
|
+
* @private
|
|
1935
|
+
* @memberof Meeting
|
|
1936
|
+
*/
|
|
1937
|
+
_this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
1928
1938
|
return _this;
|
|
1929
1939
|
}
|
|
1930
1940
|
|
|
@@ -2494,7 +2504,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2494
2504
|
|
|
2495
2505
|
/**
|
|
2496
2506
|
* sets the network status on meeting object
|
|
2497
|
-
* @param {
|
|
2507
|
+
* @param {NETWORK_STATUS} networkStatus
|
|
2498
2508
|
* @private
|
|
2499
2509
|
* @returns {undefined}
|
|
2500
2510
|
* @memberof Meeting
|
|
@@ -3820,6 +3830,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3820
3830
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_TRANSFER],
|
|
3821
3831
|
policies: this.selfUserPolicies
|
|
3822
3832
|
}),
|
|
3833
|
+
canChat: _util4.default.hasPolicies({
|
|
3834
|
+
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
|
|
3835
|
+
policies: this.selfUserPolicies
|
|
3836
|
+
}),
|
|
3823
3837
|
canShareApplication: _util4.default.hasHints({
|
|
3824
3838
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
3825
3839
|
displayHints: this.userDisplayHints
|
|
@@ -4351,6 +4365,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4351
4365
|
this.receiveSlotManager.reset();
|
|
4352
4366
|
this.mediaProperties.webrtcMediaConnection.close();
|
|
4353
4367
|
this.sendSlotManager.reset();
|
|
4368
|
+
this.setNetworkStatus(undefined);
|
|
4354
4369
|
}
|
|
4355
4370
|
this.audio = null;
|
|
4356
4371
|
this.video = null;
|
|
@@ -4682,11 +4697,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4682
4697
|
function: 'reconnect'
|
|
4683
4698
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
4684
4699
|
return this.reconnectionManager.reconnect(options).then(function () {
|
|
4700
|
+
return _this29.waitForRemoteSDPAnswer();
|
|
4701
|
+
}).then(function () {
|
|
4702
|
+
return _this29.waitForMediaConnectionConnected();
|
|
4703
|
+
}).then(function () {
|
|
4685
4704
|
_triggerProxy.default.trigger(_this29, {
|
|
4686
4705
|
file: 'meeting/index',
|
|
4687
4706
|
function: 'reconnect'
|
|
4688
4707
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
4689
4708
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
4709
|
+
|
|
4710
|
+
// @ts-ignore
|
|
4711
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
4712
|
+
name: 'client.media.recovered',
|
|
4713
|
+
payload: {
|
|
4714
|
+
recoveredBy: 'new'
|
|
4715
|
+
},
|
|
4716
|
+
options: {
|
|
4717
|
+
meetingId: _this29.id
|
|
4718
|
+
}
|
|
4719
|
+
});
|
|
4720
|
+
_this29.reconnectionManager.setStatus(_constants.RECONNECTION.STATE.COMPLETE);
|
|
4690
4721
|
}).catch(function (error) {
|
|
4691
4722
|
_triggerProxy.default.trigger(_this29, {
|
|
4692
4723
|
file: 'meeting/index',
|
|
@@ -4938,7 +4969,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4938
4969
|
name: 'client.call.initiated',
|
|
4939
4970
|
payload: {
|
|
4940
4971
|
trigger: 'user-interaction',
|
|
4941
|
-
isRoapCallEnabled: true
|
|
4972
|
+
isRoapCallEnabled: true,
|
|
4973
|
+
pstnAudioType: options === null || options === void 0 ? void 0 : options.pstnAudioType
|
|
4942
4974
|
},
|
|
4943
4975
|
options: {
|
|
4944
4976
|
meetingId: this.id
|
|
@@ -5085,7 +5117,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5085
5117
|
}).then(function (join) {
|
|
5086
5118
|
if (isBrowser) {
|
|
5087
5119
|
// @ts-ignore - config coming from registerPlugin
|
|
5088
|
-
if (_this32.config.receiveTranscription ||
|
|
5120
|
+
if (_this32.config.receiveTranscription || options.receiveTranscription) {
|
|
5089
5121
|
if (_this32.isTranscriptionSupported()) {
|
|
5090
5122
|
_loggerProxy.default.logger.info('Meeting:index#join --> Attempting to enabled to receive transcription!');
|
|
5091
5123
|
_this32.startTranscription().catch(function (error) {
|
|
@@ -5639,27 +5671,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5639
5671
|
case 5:
|
|
5640
5672
|
_context20.prev = 5;
|
|
5641
5673
|
_context20.t0 = _context20["catch"](0);
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5674
|
+
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
5675
|
+
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
5676
|
+
// @ts-ignore
|
|
5677
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
5678
|
+
name: 'client.ice.end',
|
|
5679
|
+
payload: {
|
|
5680
|
+
canProceed: !this.turnServerUsed,
|
|
5681
|
+
// If we haven't done turn tls retry yet we will proceed with join attempt
|
|
5682
|
+
icePhase: this.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY',
|
|
5683
|
+
errors: [
|
|
5684
|
+
// @ts-ignore
|
|
5685
|
+
this.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
5686
|
+
clientErrorCode: _internalPluginMetrics.CallDiagnosticUtils.generateClientErrorCodeForIceFailure({
|
|
5687
|
+
signalingState: ((_this$mediaProperties6 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : (_this$mediaProperties7 = _this$mediaProperties6.multistreamConnection) === null || _this$mediaProperties7 === void 0 ? void 0 : (_this$mediaProperties8 = _this$mediaProperties7.pc) === null || _this$mediaProperties8 === void 0 ? void 0 : (_this$mediaProperties9 = _this$mediaProperties8.pc) === null || _this$mediaProperties9 === void 0 ? void 0 : _this$mediaProperties9.signalingState) || ((_this$mediaProperties10 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties10 === void 0 ? void 0 : (_this$mediaProperties11 = _this$mediaProperties10.mediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.pc) === null || _this$mediaProperties12 === void 0 ? void 0 : _this$mediaProperties12.signalingState) || 'unknown',
|
|
5688
|
+
iceConnectionState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.iceConnectionState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.iceConnectionState) || 'unknown',
|
|
5689
|
+
turnServerUsed: this.turnServerUsed
|
|
5690
|
+
})
|
|
5691
|
+
})]
|
|
5692
|
+
},
|
|
5693
|
+
options: {
|
|
5694
|
+
meetingId: this.id
|
|
5695
|
+
}
|
|
5696
|
+
});
|
|
5697
|
+
}
|
|
5663
5698
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
5664
5699
|
case 9:
|
|
5665
5700
|
case "end":
|
|
@@ -5800,16 +5835,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5800
5835
|
key: "retryWithForcedTurnDiscovery",
|
|
5801
5836
|
value: (function () {
|
|
5802
5837
|
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23(remoteMediaManagerConfig, bundlePolicy) {
|
|
5838
|
+
var LOG_HEADER;
|
|
5803
5839
|
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
5804
5840
|
while (1) switch (_context23.prev = _context23.next) {
|
|
5805
5841
|
case 0:
|
|
5806
5842
|
this.retriedWithTurnServer = true;
|
|
5807
|
-
|
|
5843
|
+
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
5844
|
+
_context23.next = 4;
|
|
5808
5845
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
5809
|
-
case
|
|
5810
|
-
|
|
5846
|
+
case 4:
|
|
5847
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
5848
|
+
correlation_id: this.correlationId,
|
|
5849
|
+
state: this.state,
|
|
5850
|
+
meetingState: this.meetingState,
|
|
5851
|
+
reason: 'forcingTurnTls'
|
|
5852
|
+
});
|
|
5853
|
+
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
5854
|
+
_context23.next = 9;
|
|
5855
|
+
break;
|
|
5856
|
+
}
|
|
5857
|
+
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
5858
|
+
_context23.next = 9;
|
|
5859
|
+
return this.join({
|
|
5860
|
+
rejoin: true
|
|
5861
|
+
});
|
|
5862
|
+
case 9:
|
|
5863
|
+
_context23.next = 11;
|
|
5811
5864
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
5812
|
-
case
|
|
5865
|
+
case 11:
|
|
5813
5866
|
case "end":
|
|
5814
5867
|
return _context23.stop();
|
|
5815
5868
|
}
|
|
@@ -6112,31 +6165,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6112
6165
|
case 0:
|
|
6113
6166
|
options = _args28.length > 0 && _args28[0] !== undefined ? _args28[0] : {};
|
|
6114
6167
|
this.retriedWithTurnServer = false;
|
|
6168
|
+
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6115
6169
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6116
6170
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options)));
|
|
6117
6171
|
if (!(this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6118
|
-
_context28.next =
|
|
6172
|
+
_context28.next = 7;
|
|
6119
6173
|
break;
|
|
6120
6174
|
}
|
|
6121
6175
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6122
|
-
case
|
|
6176
|
+
case 7:
|
|
6123
6177
|
if (!_util.default.isUserInLeftState(this.locusInfo)) {
|
|
6124
|
-
_context28.next =
|
|
6178
|
+
_context28.next = 9;
|
|
6125
6179
|
break;
|
|
6126
6180
|
}
|
|
6127
6181
|
throw new _webexErrors.UserNotJoinedError();
|
|
6128
|
-
case
|
|
6182
|
+
case 9:
|
|
6129
6183
|
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy, allowMediaInLobby = options.allowMediaInLobby;
|
|
6130
6184
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6131
6185
|
|
|
6132
6186
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6133
6187
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6134
6188
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !allowMediaInLobby)) {
|
|
6135
|
-
_context28.next =
|
|
6189
|
+
_context28.next = 13;
|
|
6136
6190
|
break;
|
|
6137
6191
|
}
|
|
6138
6192
|
throw new _webexErrors.UserInLobbyError();
|
|
6139
|
-
case
|
|
6193
|
+
case 13:
|
|
6140
6194
|
// @ts-ignore
|
|
6141
6195
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6142
6196
|
name: 'client.media.capabilities',
|
|
@@ -6191,32 +6245,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6191
6245
|
});
|
|
6192
6246
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6193
6247
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6194
|
-
_context28.prev =
|
|
6195
|
-
_context28.next =
|
|
6248
|
+
_context28.prev = 18;
|
|
6249
|
+
_context28.next = 21;
|
|
6196
6250
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6197
|
-
case
|
|
6251
|
+
case 21:
|
|
6198
6252
|
this.setMercuryListener();
|
|
6199
6253
|
this.createStatsAnalyzer();
|
|
6200
|
-
_context28.next =
|
|
6254
|
+
_context28.next = 25;
|
|
6201
6255
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false);
|
|
6202
|
-
case
|
|
6203
|
-
_context28.next =
|
|
6256
|
+
case 25:
|
|
6257
|
+
_context28.next = 27;
|
|
6204
6258
|
return Meeting.handleDeviceLogging();
|
|
6205
|
-
case
|
|
6259
|
+
case 27:
|
|
6206
6260
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6207
|
-
_context28.next =
|
|
6261
|
+
_context28.next = 30;
|
|
6208
6262
|
break;
|
|
6209
6263
|
}
|
|
6210
|
-
_context28.next =
|
|
6264
|
+
_context28.next = 30;
|
|
6211
6265
|
return this.enqueueScreenShareFloorRequest();
|
|
6212
|
-
case
|
|
6213
|
-
_context28.next =
|
|
6266
|
+
case 30:
|
|
6267
|
+
_context28.next = 32;
|
|
6214
6268
|
return this.mediaProperties.getCurrentConnectionType();
|
|
6215
|
-
case
|
|
6269
|
+
case 32:
|
|
6216
6270
|
connectionType = _context28.sent;
|
|
6217
|
-
_context28.next =
|
|
6271
|
+
_context28.next = 35;
|
|
6218
6272
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6219
|
-
case
|
|
6273
|
+
case 35:
|
|
6220
6274
|
reachabilityStats = _context28.sent;
|
|
6221
6275
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6222
6276
|
correlation_id: this.correlationId,
|
|
@@ -6236,17 +6290,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6236
6290
|
|
|
6237
6291
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6238
6292
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6239
|
-
_context28.next =
|
|
6293
|
+
_context28.next = 54;
|
|
6240
6294
|
break;
|
|
6241
|
-
case
|
|
6242
|
-
_context28.prev =
|
|
6243
|
-
_context28.t0 = _context28["catch"](
|
|
6295
|
+
case 42:
|
|
6296
|
+
_context28.prev = 42;
|
|
6297
|
+
_context28.t0 = _context28["catch"](18);
|
|
6244
6298
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context28.t0);
|
|
6245
6299
|
|
|
6246
6300
|
// @ts-ignore
|
|
6247
|
-
_context28.next =
|
|
6301
|
+
_context28.next = 47;
|
|
6248
6302
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6249
|
-
case
|
|
6303
|
+
case 47:
|
|
6250
6304
|
reachabilityMetrics = _context28.sent;
|
|
6251
6305
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6252
6306
|
correlation_id: this.correlationId,
|
|
@@ -6262,9 +6316,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6262
6316
|
connectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.connectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.connectionState) || 'unknown',
|
|
6263
6317
|
iceConnectionState: ((_this$mediaProperties34 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties34 === void 0 ? void 0 : (_this$mediaProperties35 = _this$mediaProperties34.multistreamConnection) === null || _this$mediaProperties35 === void 0 ? void 0 : (_this$mediaProperties36 = _this$mediaProperties35.pc) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.pc) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.iceConnectionState) || ((_this$mediaProperties38 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.mediaConnection) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.pc) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.iceConnectionState) || 'unknown'
|
|
6264
6318
|
}, reachabilityMetrics));
|
|
6265
|
-
_context28.next =
|
|
6319
|
+
_context28.next = 51;
|
|
6266
6320
|
return this.cleanUpOnAddMediaFailure();
|
|
6267
|
-
case
|
|
6321
|
+
case 51:
|
|
6268
6322
|
// Upload logs on error while adding media
|
|
6269
6323
|
_triggerProxy.default.trigger(this, {
|
|
6270
6324
|
file: 'meeting/index',
|
|
@@ -6276,11 +6330,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6276
6330
|
});
|
|
6277
6331
|
}
|
|
6278
6332
|
throw _context28.t0;
|
|
6279
|
-
case
|
|
6333
|
+
case 54:
|
|
6280
6334
|
case "end":
|
|
6281
6335
|
return _context28.stop();
|
|
6282
6336
|
}
|
|
6283
|
-
}, _callee28, this, [[
|
|
6337
|
+
}, _callee28, this, [[18, 42]]);
|
|
6284
6338
|
}));
|
|
6285
6339
|
function addMedia() {
|
|
6286
6340
|
return _addMedia.apply(this, arguments);
|
|
@@ -6700,9 +6754,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6700
6754
|
uri: whiteboard.url
|
|
6701
6755
|
}).catch(function (error) {
|
|
6702
6756
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
6703
|
-
_metrics.default.sendBehavioralMetric(
|
|
6704
|
-
// @ts-ignore - check if STOP_WHITEBOARD_SHARE_FAILURE exists
|
|
6705
|
-
_constants2.default.STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
6757
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
6706
6758
|
correlation_id: _this45.correlationId,
|
|
6707
6759
|
locus_id: _this45.locusUrl.split('/').pop(),
|
|
6708
6760
|
reason: error.message,
|