@webex/plugin-meetings 3.7.0-wxcc.1 → 3.8.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +15 -3
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/selfUtils.js +5 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +1 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/properties.js +30 -16
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/brbState.js +167 -0
- package/dist/meeting/brbState.js.map +1 -0
- package/dist/meeting/index.js +367 -296
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +1 -6
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +19 -12
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/metrics/constants.js +2 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/reachability/index.js +31 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +9 -2
- package/dist/types/meeting/brbState.d.ts +54 -0
- package/dist/types/meeting/index.d.ts +23 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -1
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +9 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +23 -23
- package/src/constants.ts +10 -2
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +2 -0
- package/src/media/properties.ts +34 -13
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/index.ts +120 -27
- package/src/meeting/muteState.ts +1 -6
- package/src/meeting-info/meeting-info-v2.ts +9 -1
- package/src/meeting-info/utilv2.ts +14 -2
- package/src/metrics/constants.ts +2 -0
- package/src/reachability/index.ts +29 -1
- package/test/unit/spec/locus-info/selfUtils.js +10 -0
- package/test/unit/spec/media/properties.ts +15 -0
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/index.js +101 -33
- package/test/unit/spec/meeting/muteState.js +0 -24
- package/test/unit/spec/meeting-info/utilv2.js +9 -0
- package/test/unit/spec/reachability/index.ts +120 -10
|
@@ -342,12 +342,7 @@ var MuteState = exports.MuteState = /*#__PURE__*/function () {
|
|
|
342
342
|
}
|
|
343
343
|
if (muted !== undefined) {
|
|
344
344
|
this.state.server.remoteMute = muted;
|
|
345
|
-
|
|
346
|
-
// We never want to unmute the local stream from a server remote mute update.
|
|
347
|
-
// Moderated unmute is handled by a different function.
|
|
348
|
-
if (muted) {
|
|
349
|
-
this.muteLocalStream(meeting, muted, 'remotelyMuted');
|
|
350
|
-
}
|
|
345
|
+
this.muteLocalStream(meeting, muted, 'remotelyMuted');
|
|
351
346
|
}
|
|
352
347
|
}
|
|
353
348
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_parameter","_util","_constants","createMuteState","exports","type","meeting","enabled","LoggerProxy","logger","info","concat","id","muteState","MuteState","_meeting$remoteVideoM","_meeting$unmuteVideoA","_classCallCheck2","default","_defineProperty2","AUDIO","VIDEO","ParameterError","ignoreMuteStateChange","state","client","localMute","server","remoteMute","remoteMuted","remoteVideoMuted","unmuteAllowed","unmuteVideoAllowed","syncToServerInProgress","_createClass2","key","value","init","_meeting$mediaPropert","_meeting$mediaPropert2","applyUnmuteAllowedToStream","muteLocalStream","initialMute","mediaProperties","audioStream","muted","videoStream","undefined","applyClientStateToServer","handleLocalStreamChange","enable","mute","reason","_meeting$mediaPropert3","setServerMuted","_meeting$mediaPropert4","handleLocalStreamMuteStateChange","newMuteState","userMuteState","systemMuteState","_meeting$mediaPropert5","_meeting$mediaPropert6","_meeting$mediaPropert7","userMuted","systemMuted","_meeting$mediaPropert8","_meeting$mediaPropert9","_meeting$mediaPropert10","applyClientStateLocally","getClientLocalMuteState","_this","localMuteState","localMuteRequiresSync","remoteMuteRequiresSync","localMuteSyncPromise","sendLocalMuteRequestToServer","_promise","resolve","then","sendRemoteMuteRequestToServer","catch","e","warn","_this2","audioMuted","videoMuted","MeetingUtil","remoteUpdateAudioVideo","locus","locusInfo","handleLocusDelta","remoteUpdateError","reject","_this3","members","muteMember","selfId","_meeting$mediaPropert11","setUnmuteAllowed","_meeting$mediaPropert12","handleServerRemoteMuteUpdate","handleServerLocalUnmuteRequired","_meeting$mediaPropert13","_meeting$mediaPropert14","isMuted","isRemotelyMuted","isUnmuteAllowed","isLocallyMuted"],"sources":["muteState.ts"],"sourcesContent":["import {ServerMuteReason} from '@webex/media-helpers';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\nimport MeetingUtil from './util';\nimport {AUDIO, VIDEO} from '../constants';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const createMuteState = (type, meeting, enabled: boolean) => {\n // todo: remove the meeting argument (SPARK-399695)\n\n LoggerProxy.logger.info(\n `Meeting:muteState#createMuteState --> ${type}: creating MuteState for meeting id ${meeting?.id}`\n );\n\n const muteState = new MuteState(type, meeting, enabled);\n\n return muteState;\n};\n\n/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches\n the last requested state by the client.\n\n More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#\n\n This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called\n*/\nexport class MuteState {\n state: {\n client: {\n enabled: boolean; // indicates if audio/video is enabled at all or not\n localMute: boolean;\n };\n server: {localMute: boolean; remoteMute: boolean; unmuteAllowed: boolean};\n syncToServerInProgress: boolean;\n };\n\n type: any;\n ignoreMuteStateChange: boolean;\n\n /**\n * Constructor\n *\n * @param {String} type - audio or video\n * @param {Object} meeting - the meeting object (used for reading current remote mute status)\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(type: string, meeting: any, enabled: boolean) {\n if (type !== AUDIO && type !== VIDEO) {\n throw new ParameterError('Mute state is designed for handling audio or video only');\n }\n this.type = type;\n this.ignoreMuteStateChange = false;\n this.state = {\n client: {\n enabled,\n localMute: true,\n },\n server: {\n localMute: true,\n // because remoteVideoMuted and unmuteVideoAllowed are updated seperately, they might be undefined\n remoteMute: type === AUDIO ? meeting.remoteMuted : meeting.remoteVideoMuted ?? false,\n unmuteAllowed: type === AUDIO ? meeting.unmuteAllowed : meeting.unmuteVideoAllowed ?? true,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Starts the mute state machine. Needs to be called after a new MuteState instance is created.\n *\n * @param {Object} meeting - the meeting object\n * @returns {void}\n */\n public init(meeting: any) {\n this.applyUnmuteAllowedToStream(meeting);\n\n // if we are remotely muted, we need to apply that to the local stream now (mute on-entry)\n if (this.state.server.remoteMute) {\n this.muteLocalStream(meeting, this.state.server.remoteMute, 'remotelyMuted');\n }\n\n const initialMute =\n this.type === AUDIO\n ? meeting.mediaProperties.audioStream?.muted\n : meeting.mediaProperties.videoStream?.muted;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#init --> ${this.type}: local stream initial mute state: ${initialMute}`\n );\n\n if (initialMute !== undefined) {\n this.state.client.localMute = initialMute;\n } else {\n // there is no stream, so it's like we are locally muted\n // (this is important especially for transcoded meetings, in which the SDP m-line direction always stays \"sendrecv\")\n this.state.client.localMute = true;\n }\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * This method needs to be called whenever the local audio/video stream has changed.\n * It reapplies the remote mute state onto the new stream and also reads the current\n * local mute state from the stream and updates the internal state machine and sends\n * any required requests to the server.\n *\n * @param {Object} meeting - the meeting object\n * @returns {void}\n */\n public handleLocalStreamChange(meeting: any) {\n return this.init(meeting);\n }\n\n /**\n * Enables/disables audio/video\n *\n * @param {Object} meeting - the meeting object\n * @param {boolean} enable\n * @returns {void}\n */\n public enable(meeting: any, enable: boolean) {\n this.state.client.enabled = enable;\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Mutes/unmutes local stream\n *\n * @param {Object} meeting - the meeting object\n * @param {Boolean} mute - true to mute the stream, false to unmute it\n * @param {ServerMuteReason} reason - reason for muting/unmuting\n * @returns {void}\n */\n private muteLocalStream(meeting: any, mute: boolean, reason: ServerMuteReason) {\n this.ignoreMuteStateChange = true;\n if (this.type === AUDIO) {\n meeting.mediaProperties.audioStream?.setServerMuted(mute, reason);\n } else {\n meeting.mediaProperties.videoStream?.setServerMuted(mute, reason);\n }\n this.ignoreMuteStateChange = false;\n }\n\n /**\n * This method should be called when the local stream mute state is changed\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [mute] true for muting, false for unmuting request\n * @returns {void}\n */\n public handleLocalStreamMuteStateChange(meeting?: any) {\n if (this.ignoreMuteStateChange) {\n return;\n }\n\n // either user or system may have triggered a mute state change, but localMute should reflect both\n let newMuteState: boolean;\n let userMuteState: boolean;\n let systemMuteState: boolean;\n if (this.type === AUDIO) {\n newMuteState = meeting.mediaProperties.audioStream?.muted;\n userMuteState = meeting.mediaProperties.audioStream?.userMuted;\n systemMuteState = meeting.mediaProperties.audioStream?.systemMuted;\n } else {\n newMuteState = meeting.mediaProperties.videoStream?.muted;\n userMuteState = meeting.mediaProperties.videoStream?.userMuted;\n systemMuteState = meeting.mediaProperties.videoStream?.systemMuted;\n }\n\n LoggerProxy.logger.info(\n `Meeting:muteState#handleLocalStreamMuteStateChange --> ${this.type}: local stream new mute state: ${newMuteState} (user mute: ${userMuteState}, system mute: ${systemMuteState})`\n );\n\n this.state.client.localMute = newMuteState;\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Applies the current mute state to the local stream (by enabling or disabling it accordingly)\n *\n * @public\n * @param {Object} [meeting] the meeting object\n * @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream\n * @memberof MuteState\n * @returns {void}\n */\n public applyClientStateLocally(meeting?: any, reason?: ServerMuteReason) {\n this.muteLocalStream(meeting, this.state.client.localMute, reason);\n }\n\n /** Returns true if client is locally muted - it takes into account not just the client local mute state,\n * but also whether audio/video is enabled at all\n *\n * @returns {boolean}\n */\n private getClientLocalMuteState() {\n return this.state.client.enabled ? this.state.client.localMute : true;\n }\n\n /**\n * Updates the server local and remote mute values so that they match the current client desired state.\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n private applyClientStateToServer(meeting?: any) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: request to server in progress, we need to wait for it to complete`\n );\n\n return;\n }\n\n const localMuteState = this.getClientLocalMuteState();\n const localMuteRequiresSync = localMuteState !== this.state.server.localMute;\n const remoteMuteRequiresSync = !localMuteState && this.state.server.remoteMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: localMuteRequiresSync: ${localMuteRequiresSync} (${localMuteState} ?= ${this.state.server.localMute})`\n );\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: remoteMuteRequiresSync: ${remoteMuteRequiresSync}`\n );\n\n if (!localMuteRequiresSync && !remoteMuteRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: client state already matching server state, nothing to do`\n );\n\n return;\n }\n\n this.state.syncToServerInProgress = true;\n\n // first sync local mute with server\n const localMuteSyncPromise = localMuteRequiresSync\n ? this.sendLocalMuteRequestToServer(meeting)\n : Promise.resolve();\n\n localMuteSyncPromise\n .then(() =>\n // then follow it up with remote mute sync\n remoteMuteRequiresSync ? this.sendRemoteMuteRequestToServer(meeting) : Promise.resolve()\n )\n .then(() => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(meeting);\n })\n .catch((e) => {\n this.state.syncToServerInProgress = false;\n\n LoggerProxy.logger.warn(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: error: ${e}`\n );\n\n // failed to apply client state to server, so revert stream mute state to server state\n this.muteLocalStream(\n meeting,\n this.state.server.localMute || this.state.server.remoteMute,\n 'clientRequestFailed'\n );\n });\n }\n\n /**\n * Sets the local mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendLocalMuteRequestToServer(meeting?: any) {\n const audioMuted = this.type === AUDIO ? this.getClientLocalMuteState() : undefined;\n const videoMuted = this.type === VIDEO ? this.getClientLocalMuteState() : undefined;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: sending local mute (audio=${audioMuted}, video=${videoMuted}) to server`\n );\n\n return MeetingUtil.remoteUpdateAudioVideo(meeting, audioMuted, videoMuted)\n .then((locus) => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: local mute (audio=${audioMuted}, video=${videoMuted}) applied to server`\n );\n\n this.state.server.localMute = this.type === AUDIO ? audioMuted : videoMuted;\n\n if (locus) {\n meeting.locusInfo.handleLocusDelta(locus, meeting);\n }\n\n return locus;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: failed to apply local mute (audio=${audioMuted}, video=${videoMuted}) to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /**\n * Sets the remote mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendRemoteMuteRequestToServer(meeting?: any) {\n const remoteMute = this.getClientLocalMuteState();\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: sending remote mute:${remoteMute} to server`\n );\n\n return meeting.members\n .muteMember(meeting.members.selfId, remoteMute, this.type === AUDIO)\n .then(() => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: remote mute:${remoteMute} applied to server`\n );\n\n this.state.server.remoteMute = remoteMute;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: failed to apply remote mute ${remoteMute} to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /** Applies the current value for unmute allowed to the underlying stream\n *\n * @param {Meeting} meeting\n * @returns {void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private applyUnmuteAllowedToStream(meeting: any) {\n if (this.type === AUDIO) {\n meeting.mediaProperties.audioStream?.setUnmuteAllowed(this.state.server.unmuteAllowed);\n } else {\n meeting.mediaProperties.videoStream?.setUnmuteAllowed(this.state.server.unmuteAllowed);\n }\n }\n\n /**\n * This method should be called whenever the server remote mute state is changed\n *\n * @public\n * @memberof MuteState\n * @param {Meeting} meeting\n * @param {Boolean} [muted] true if user is remotely muted, false otherwise\n * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when \"hard mute\" feature is used)\n * @returns {undefined}\n */\n public handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerRemoteMuteUpdate --> ${this.type}: updating server remoteMute to (${muted})`\n );\n if (unmuteAllowed !== undefined) {\n this.state.server.unmuteAllowed = unmuteAllowed;\n this.applyUnmuteAllowedToStream(meeting);\n }\n if (muted !== undefined) {\n this.state.server.remoteMute = muted;\n\n // We never want to unmute the local stream from a server remote mute update.\n // Moderated unmute is handled by a different function.\n if (muted) {\n this.muteLocalStream(meeting, muted, 'remotelyMuted');\n }\n }\n }\n\n /**\n * This method should be called whenever we receive from the server a requirement to locally unmute\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [unmuteAllowed] whether the user is allowed to unmute self\n * @returns {undefined}\n */\n public handleServerLocalUnmuteRequired(meeting: any, unmuteAllowed: boolean) {\n if (!this.state.client.enabled) {\n LoggerProxy.logger.warn(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received while ${this.type} is disabled -> local unmute will not result in ${this.type} being sent`\n );\n } else {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received -> doing local unmute (unmuteAllowed=${unmuteAllowed})`\n );\n }\n\n // todo: I'm seeing \"you can now unmute yourself \" popup when this happens - but same thing happens on web.w.c so we can ignore for now\n this.state.server.remoteMute = false;\n this.state.server.unmuteAllowed = unmuteAllowed;\n\n this.applyUnmuteAllowedToStream(meeting);\n\n // change user mute state to false, but keep localMute true if overall mute state is still true\n this.muteLocalStream(meeting, false, 'localUnmuteRequired');\n if (this.type === AUDIO) {\n this.state.client.localMute = meeting.mediaProperties.audioStream?.muted;\n } else {\n this.state.client.localMute = meeting.mediaProperties.videoStream?.muted;\n }\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Returns true if the user is locally or remotely muted.\n * It only checks the mute status, ignoring the fact whether audio/video is enabled.\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isMuted() {\n return (\n this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute\n );\n }\n\n /**\n * Returns true if the user is remotely muted\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isRemotelyMuted() {\n return this.state.server.remoteMute;\n }\n\n /**\n * Returns true if unmute is allowed\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isUnmuteAllowed() {\n return this.state.server.unmuteAllowed;\n }\n\n /**\n * Returns true if the user is locally muted or audio/video is disabled\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isLocallyMuted() {\n return this.getClientLocalMuteState();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_parameter","_util","_constants","createMuteState","exports","type","meeting","enabled","LoggerProxy","logger","info","concat","id","muteState","MuteState","_meeting$remoteVideoM","_meeting$unmuteVideoA","_classCallCheck2","default","_defineProperty2","AUDIO","VIDEO","ParameterError","ignoreMuteStateChange","state","client","localMute","server","remoteMute","remoteMuted","remoteVideoMuted","unmuteAllowed","unmuteVideoAllowed","syncToServerInProgress","_createClass2","key","value","init","_meeting$mediaPropert","_meeting$mediaPropert2","applyUnmuteAllowedToStream","muteLocalStream","initialMute","mediaProperties","audioStream","muted","videoStream","undefined","applyClientStateToServer","handleLocalStreamChange","enable","mute","reason","_meeting$mediaPropert3","setServerMuted","_meeting$mediaPropert4","handleLocalStreamMuteStateChange","newMuteState","userMuteState","systemMuteState","_meeting$mediaPropert5","_meeting$mediaPropert6","_meeting$mediaPropert7","userMuted","systemMuted","_meeting$mediaPropert8","_meeting$mediaPropert9","_meeting$mediaPropert10","applyClientStateLocally","getClientLocalMuteState","_this","localMuteState","localMuteRequiresSync","remoteMuteRequiresSync","localMuteSyncPromise","sendLocalMuteRequestToServer","_promise","resolve","then","sendRemoteMuteRequestToServer","catch","e","warn","_this2","audioMuted","videoMuted","MeetingUtil","remoteUpdateAudioVideo","locus","locusInfo","handleLocusDelta","remoteUpdateError","reject","_this3","members","muteMember","selfId","_meeting$mediaPropert11","setUnmuteAllowed","_meeting$mediaPropert12","handleServerRemoteMuteUpdate","handleServerLocalUnmuteRequired","_meeting$mediaPropert13","_meeting$mediaPropert14","isMuted","isRemotelyMuted","isUnmuteAllowed","isLocallyMuted"],"sources":["muteState.ts"],"sourcesContent":["import {ServerMuteReason} from '@webex/media-helpers';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\nimport MeetingUtil from './util';\nimport {AUDIO, VIDEO} from '../constants';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const createMuteState = (type, meeting, enabled: boolean) => {\n // todo: remove the meeting argument (SPARK-399695)\n\n LoggerProxy.logger.info(\n `Meeting:muteState#createMuteState --> ${type}: creating MuteState for meeting id ${meeting?.id}`\n );\n\n const muteState = new MuteState(type, meeting, enabled);\n\n return muteState;\n};\n\n/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches\n the last requested state by the client.\n\n More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#\n\n This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called\n*/\nexport class MuteState {\n state: {\n client: {\n enabled: boolean; // indicates if audio/video is enabled at all or not\n localMute: boolean;\n };\n server: {localMute: boolean; remoteMute: boolean; unmuteAllowed: boolean};\n syncToServerInProgress: boolean;\n };\n\n type: any;\n ignoreMuteStateChange: boolean;\n\n /**\n * Constructor\n *\n * @param {String} type - audio or video\n * @param {Object} meeting - the meeting object (used for reading current remote mute status)\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(type: string, meeting: any, enabled: boolean) {\n if (type !== AUDIO && type !== VIDEO) {\n throw new ParameterError('Mute state is designed for handling audio or video only');\n }\n this.type = type;\n this.ignoreMuteStateChange = false;\n this.state = {\n client: {\n enabled,\n localMute: true,\n },\n server: {\n localMute: true,\n // because remoteVideoMuted and unmuteVideoAllowed are updated seperately, they might be undefined\n remoteMute: type === AUDIO ? meeting.remoteMuted : meeting.remoteVideoMuted ?? false,\n unmuteAllowed: type === AUDIO ? meeting.unmuteAllowed : meeting.unmuteVideoAllowed ?? true,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Starts the mute state machine. Needs to be called after a new MuteState instance is created.\n *\n * @param {Object} meeting - the meeting object\n * @returns {void}\n */\n public init(meeting: any) {\n this.applyUnmuteAllowedToStream(meeting);\n\n // if we are remotely muted, we need to apply that to the local stream now (mute on-entry)\n if (this.state.server.remoteMute) {\n this.muteLocalStream(meeting, this.state.server.remoteMute, 'remotelyMuted');\n }\n\n const initialMute =\n this.type === AUDIO\n ? meeting.mediaProperties.audioStream?.muted\n : meeting.mediaProperties.videoStream?.muted;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#init --> ${this.type}: local stream initial mute state: ${initialMute}`\n );\n\n if (initialMute !== undefined) {\n this.state.client.localMute = initialMute;\n } else {\n // there is no stream, so it's like we are locally muted\n // (this is important especially for transcoded meetings, in which the SDP m-line direction always stays \"sendrecv\")\n this.state.client.localMute = true;\n }\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * This method needs to be called whenever the local audio/video stream has changed.\n * It reapplies the remote mute state onto the new stream and also reads the current\n * local mute state from the stream and updates the internal state machine and sends\n * any required requests to the server.\n *\n * @param {Object} meeting - the meeting object\n * @returns {void}\n */\n public handleLocalStreamChange(meeting: any) {\n return this.init(meeting);\n }\n\n /**\n * Enables/disables audio/video\n *\n * @param {Object} meeting - the meeting object\n * @param {boolean} enable\n * @returns {void}\n */\n public enable(meeting: any, enable: boolean) {\n this.state.client.enabled = enable;\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Mutes/unmutes local stream\n *\n * @param {Object} meeting - the meeting object\n * @param {Boolean} mute - true to mute the stream, false to unmute it\n * @param {ServerMuteReason} reason - reason for muting/unmuting\n * @returns {void}\n */\n private muteLocalStream(meeting: any, mute: boolean, reason: ServerMuteReason) {\n this.ignoreMuteStateChange = true;\n if (this.type === AUDIO) {\n meeting.mediaProperties.audioStream?.setServerMuted(mute, reason);\n } else {\n meeting.mediaProperties.videoStream?.setServerMuted(mute, reason);\n }\n this.ignoreMuteStateChange = false;\n }\n\n /**\n * This method should be called when the local stream mute state is changed\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [mute] true for muting, false for unmuting request\n * @returns {void}\n */\n public handleLocalStreamMuteStateChange(meeting?: any) {\n if (this.ignoreMuteStateChange) {\n return;\n }\n\n // either user or system may have triggered a mute state change, but localMute should reflect both\n let newMuteState: boolean;\n let userMuteState: boolean;\n let systemMuteState: boolean;\n if (this.type === AUDIO) {\n newMuteState = meeting.mediaProperties.audioStream?.muted;\n userMuteState = meeting.mediaProperties.audioStream?.userMuted;\n systemMuteState = meeting.mediaProperties.audioStream?.systemMuted;\n } else {\n newMuteState = meeting.mediaProperties.videoStream?.muted;\n userMuteState = meeting.mediaProperties.videoStream?.userMuted;\n systemMuteState = meeting.mediaProperties.videoStream?.systemMuted;\n }\n\n LoggerProxy.logger.info(\n `Meeting:muteState#handleLocalStreamMuteStateChange --> ${this.type}: local stream new mute state: ${newMuteState} (user mute: ${userMuteState}, system mute: ${systemMuteState})`\n );\n\n this.state.client.localMute = newMuteState;\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Applies the current mute state to the local stream (by enabling or disabling it accordingly)\n *\n * @public\n * @param {Object} [meeting] the meeting object\n * @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream\n * @memberof MuteState\n * @returns {void}\n */\n public applyClientStateLocally(meeting?: any, reason?: ServerMuteReason) {\n this.muteLocalStream(meeting, this.state.client.localMute, reason);\n }\n\n /** Returns true if client is locally muted - it takes into account not just the client local mute state,\n * but also whether audio/video is enabled at all\n *\n * @returns {boolean}\n */\n private getClientLocalMuteState() {\n return this.state.client.enabled ? this.state.client.localMute : true;\n }\n\n /**\n * Updates the server local and remote mute values so that they match the current client desired state.\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n private applyClientStateToServer(meeting?: any) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: request to server in progress, we need to wait for it to complete`\n );\n\n return;\n }\n\n const localMuteState = this.getClientLocalMuteState();\n const localMuteRequiresSync = localMuteState !== this.state.server.localMute;\n const remoteMuteRequiresSync = !localMuteState && this.state.server.remoteMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: localMuteRequiresSync: ${localMuteRequiresSync} (${localMuteState} ?= ${this.state.server.localMute})`\n );\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: remoteMuteRequiresSync: ${remoteMuteRequiresSync}`\n );\n\n if (!localMuteRequiresSync && !remoteMuteRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: client state already matching server state, nothing to do`\n );\n\n return;\n }\n\n this.state.syncToServerInProgress = true;\n\n // first sync local mute with server\n const localMuteSyncPromise = localMuteRequiresSync\n ? this.sendLocalMuteRequestToServer(meeting)\n : Promise.resolve();\n\n localMuteSyncPromise\n .then(() =>\n // then follow it up with remote mute sync\n remoteMuteRequiresSync ? this.sendRemoteMuteRequestToServer(meeting) : Promise.resolve()\n )\n .then(() => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(meeting);\n })\n .catch((e) => {\n this.state.syncToServerInProgress = false;\n\n LoggerProxy.logger.warn(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: error: ${e}`\n );\n\n // failed to apply client state to server, so revert stream mute state to server state\n this.muteLocalStream(\n meeting,\n this.state.server.localMute || this.state.server.remoteMute,\n 'clientRequestFailed'\n );\n });\n }\n\n /**\n * Sets the local mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendLocalMuteRequestToServer(meeting?: any) {\n const audioMuted = this.type === AUDIO ? this.getClientLocalMuteState() : undefined;\n const videoMuted = this.type === VIDEO ? this.getClientLocalMuteState() : undefined;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: sending local mute (audio=${audioMuted}, video=${videoMuted}) to server`\n );\n\n return MeetingUtil.remoteUpdateAudioVideo(meeting, audioMuted, videoMuted)\n .then((locus) => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: local mute (audio=${audioMuted}, video=${videoMuted}) applied to server`\n );\n\n this.state.server.localMute = this.type === AUDIO ? audioMuted : videoMuted;\n\n if (locus) {\n meeting.locusInfo.handleLocusDelta(locus, meeting);\n }\n\n return locus;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: failed to apply local mute (audio=${audioMuted}, video=${videoMuted}) to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /**\n * Sets the remote mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendRemoteMuteRequestToServer(meeting?: any) {\n const remoteMute = this.getClientLocalMuteState();\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: sending remote mute:${remoteMute} to server`\n );\n\n return meeting.members\n .muteMember(meeting.members.selfId, remoteMute, this.type === AUDIO)\n .then(() => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: remote mute:${remoteMute} applied to server`\n );\n\n this.state.server.remoteMute = remoteMute;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: failed to apply remote mute ${remoteMute} to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /** Applies the current value for unmute allowed to the underlying stream\n *\n * @param {Meeting} meeting\n * @returns {void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private applyUnmuteAllowedToStream(meeting: any) {\n if (this.type === AUDIO) {\n meeting.mediaProperties.audioStream?.setUnmuteAllowed(this.state.server.unmuteAllowed);\n } else {\n meeting.mediaProperties.videoStream?.setUnmuteAllowed(this.state.server.unmuteAllowed);\n }\n }\n\n /**\n * This method should be called whenever the server remote mute state is changed\n *\n * @public\n * @memberof MuteState\n * @param {Meeting} meeting\n * @param {Boolean} [muted] true if user is remotely muted, false otherwise\n * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when \"hard mute\" feature is used)\n * @returns {undefined}\n */\n public handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerRemoteMuteUpdate --> ${this.type}: updating server remoteMute to (${muted})`\n );\n if (unmuteAllowed !== undefined) {\n this.state.server.unmuteAllowed = unmuteAllowed;\n this.applyUnmuteAllowedToStream(meeting);\n }\n if (muted !== undefined) {\n this.state.server.remoteMute = muted;\n this.muteLocalStream(meeting, muted, 'remotelyMuted');\n }\n }\n\n /**\n * This method should be called whenever we receive from the server a requirement to locally unmute\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [unmuteAllowed] whether the user is allowed to unmute self\n * @returns {undefined}\n */\n public handleServerLocalUnmuteRequired(meeting: any, unmuteAllowed: boolean) {\n if (!this.state.client.enabled) {\n LoggerProxy.logger.warn(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received while ${this.type} is disabled -> local unmute will not result in ${this.type} being sent`\n );\n } else {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received -> doing local unmute (unmuteAllowed=${unmuteAllowed})`\n );\n }\n\n // todo: I'm seeing \"you can now unmute yourself \" popup when this happens - but same thing happens on web.w.c so we can ignore for now\n this.state.server.remoteMute = false;\n this.state.server.unmuteAllowed = unmuteAllowed;\n\n this.applyUnmuteAllowedToStream(meeting);\n\n // change user mute state to false, but keep localMute true if overall mute state is still true\n this.muteLocalStream(meeting, false, 'localUnmuteRequired');\n if (this.type === AUDIO) {\n this.state.client.localMute = meeting.mediaProperties.audioStream?.muted;\n } else {\n this.state.client.localMute = meeting.mediaProperties.videoStream?.muted;\n }\n\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Returns true if the user is locally or remotely muted.\n * It only checks the mute status, ignoring the fact whether audio/video is enabled.\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isMuted() {\n return (\n this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute\n );\n }\n\n /**\n * Returns true if the user is remotely muted\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isRemotelyMuted() {\n return this.state.server.remoteMute;\n }\n\n /**\n * Returns true if unmute is allowed\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isUnmuteAllowed() {\n return this.state.server.unmuteAllowed;\n }\n\n /**\n * Returns true if the user is locally muted or audio/video is disabled\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isLocallyMuted() {\n return this.getClientLocalMuteState();\n }\n}\n"],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ var PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo()
|
|
|
36
36
|
var CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';
|
|
37
37
|
var ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';
|
|
38
38
|
var CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];
|
|
39
|
+
var CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];
|
|
39
40
|
var POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];
|
|
40
41
|
var JOIN_FORBIDDEN_CODES = [403003];
|
|
41
42
|
/**
|
|
@@ -158,6 +159,7 @@ var MeetingInfoV2CaptchaError = exports.MeetingInfoV2CaptchaError = /*#__PURE__*
|
|
|
158
159
|
_this4 = _super4.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
|
|
159
160
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "captchaInfo", void 0);
|
|
160
161
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "isPasswordRequired", void 0);
|
|
162
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "isRegistrationIdRequired", void 0);
|
|
161
163
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "sdkMessage", void 0);
|
|
162
164
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "wbxAppApiCode", void 0);
|
|
163
165
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "body", void 0);
|
|
@@ -166,6 +168,7 @@ var MeetingInfoV2CaptchaError = exports.MeetingInfoV2CaptchaError = /*#__PURE__*
|
|
|
166
168
|
_this4.stack = new Error().stack;
|
|
167
169
|
_this4.wbxAppApiCode = wbxAppApiErrorCode;
|
|
168
170
|
_this4.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);
|
|
171
|
+
_this4.isRegistrationIdRequired = CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);
|
|
169
172
|
_this4.captchaInfo = captchaInfo;
|
|
170
173
|
return _this4;
|
|
171
174
|
}
|
|
@@ -417,6 +420,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
417
420
|
* @param {String} locusId
|
|
418
421
|
* @param {Object} extraParams
|
|
419
422
|
* @param {Object} options
|
|
423
|
+
* @param {String} registrationId
|
|
420
424
|
* @returns {Promise} returns a meeting info object
|
|
421
425
|
* @public
|
|
422
426
|
* @memberof MeetingInfo
|
|
@@ -434,6 +438,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
434
438
|
locusId,
|
|
435
439
|
extraParams,
|
|
436
440
|
options,
|
|
441
|
+
registrationId,
|
|
437
442
|
meetingId,
|
|
438
443
|
sendCAevents,
|
|
439
444
|
destinationType,
|
|
@@ -454,33 +459,35 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
454
459
|
locusId = _args2.length > 5 && _args2[5] !== undefined ? _args2[5] : null;
|
|
455
460
|
extraParams = _args2.length > 6 && _args2[6] !== undefined ? _args2[6] : {};
|
|
456
461
|
options = _args2.length > 7 && _args2[7] !== undefined ? _args2[7] : {};
|
|
462
|
+
registrationId = _args2.length > 8 && _args2[8] !== undefined ? _args2[8] : null;
|
|
457
463
|
meetingId = options.meetingId, sendCAevents = options.sendCAevents;
|
|
458
|
-
_context2.next =
|
|
464
|
+
_context2.next = 11;
|
|
459
465
|
return _utilv.default.getDestinationType({
|
|
460
466
|
destination: destination,
|
|
461
467
|
type: type,
|
|
462
468
|
webex: this.webex
|
|
463
469
|
});
|
|
464
|
-
case
|
|
470
|
+
case 11:
|
|
465
471
|
destinationType = _context2.sent;
|
|
466
472
|
if (!(destinationType.type === _constants.DESTINATION_TYPE.CONVERSATION_URL && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
|
|
467
|
-
_context2.next =
|
|
473
|
+
_context2.next = 14;
|
|
468
474
|
break;
|
|
469
475
|
}
|
|
470
476
|
return _context2.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
|
|
471
|
-
case
|
|
472
|
-
_context2.next =
|
|
477
|
+
case 14:
|
|
478
|
+
_context2.next = 16;
|
|
473
479
|
return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
|
|
474
480
|
password: password,
|
|
475
481
|
captchaInfo: captchaInfo,
|
|
476
482
|
installedOrgID: installedOrgID,
|
|
477
483
|
locusId: locusId,
|
|
478
|
-
extraParams: extraParams
|
|
484
|
+
extraParams: extraParams,
|
|
485
|
+
registrationId: registrationId
|
|
479
486
|
}));
|
|
480
|
-
case
|
|
487
|
+
case 16:
|
|
481
488
|
body = _context2.sent;
|
|
482
489
|
if (_lodash.default.difference((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
|
|
483
|
-
_context2.next =
|
|
490
|
+
_context2.next = 21;
|
|
484
491
|
break;
|
|
485
492
|
}
|
|
486
493
|
err = new Error('Not enough information to fetch meeting info');
|
|
@@ -491,14 +498,14 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
491
498
|
sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
|
|
492
499
|
});
|
|
493
500
|
throw err;
|
|
494
|
-
case
|
|
501
|
+
case 21:
|
|
495
502
|
requestOptions = {
|
|
496
503
|
method: _constants.HTTP_VERBS.POST,
|
|
497
504
|
body: body
|
|
498
505
|
};
|
|
499
|
-
_context2.next =
|
|
506
|
+
_context2.next = 24;
|
|
500
507
|
return _utilv.default.getDirectMeetingInfoURI(destinationType);
|
|
501
|
-
case
|
|
508
|
+
case 24:
|
|
502
509
|
directURI = _context2.sent;
|
|
503
510
|
if (directURI) {
|
|
504
511
|
requestOptions.uri = directURI;
|
|
@@ -587,7 +594,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
587
594
|
});
|
|
588
595
|
throw err;
|
|
589
596
|
}));
|
|
590
|
-
case
|
|
597
|
+
case 28:
|
|
591
598
|
case "end":
|
|
592
599
|
return _context2.stop();
|
|
593
600
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeeting","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this7","getInvitees","wrap","_callee$","_context","prev","next","meetings","preferredWebexSite","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","stop","createAdhocSpaceMeeting","_x","_x2","_fetchMeetingInfo","_callee2","_this8","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args2","_callee2$","_context2","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","_err$body18","_err$body19","_err$body19$data","VERIFY_PASSWORD_ERROR","_err$body20","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x3"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","isRegistrationIdRequired","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeeting","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this7","getInvitees","wrap","_callee$","_context","prev","next","meetings","preferredWebexSite","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","stop","createAdhocSpaceMeeting","_x","_x2","_fetchMeetingInfo","_callee2","_this8","password","locusId","extraParams","options","registrationId","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args2","_callee2$","_context2","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","_err$body18","_err$body19","_err$body19$data","VERIFY_PASSWORD_ERROR","_err$body20","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x3"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];\n\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n isRegistrationIdRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.isRegistrationIdRequired =\n CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @param {String} registrationId\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {},\n registrationId: string = null\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -281,7 +281,8 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
|
|
|
281
281
|
captchaInfo = options.captchaInfo,
|
|
282
282
|
installedOrgID = options.installedOrgID,
|
|
283
283
|
locusId = options.locusId,
|
|
284
|
-
extraParams = options.extraParams
|
|
284
|
+
extraParams = options.extraParams,
|
|
285
|
+
registrationId = options.registrationId;
|
|
285
286
|
var body = _objectSpread(_objectSpread({}, _constants.DEFAULT_MEETING_INFO_REQUEST_BODY), extraParams);
|
|
286
287
|
switch (type) {
|
|
287
288
|
case _constants.DESTINATION_TYPE.SIP_URI:
|
|
@@ -318,6 +319,9 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
|
|
|
318
319
|
if (password) {
|
|
319
320
|
body.password = password;
|
|
320
321
|
}
|
|
322
|
+
if (registrationId) {
|
|
323
|
+
body.registrationId = registrationId;
|
|
324
|
+
}
|
|
321
325
|
if (captchaInfo) {
|
|
322
326
|
body.captchaID = captchaInfo.id;
|
|
323
327
|
body.captchaVerifyCode = captchaInfo.code;
|