@webex/plugin-meetings 3.0.0-beta.126 → 3.0.0-beta.129

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.
@@ -1 +1 @@
1
- {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","raiseHand","getControls","oldControls","newControls","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasVideoEnabledChanged","undefined","isNeedReplaceMembers","groupId","sessionId","getSessionSwitchStatus","status","isReturnToMain","isJoinToBreakout","sessionType","BREAKOUTS","SESSION_TYPES","BREAKOUT","MAIN","isMainSessionDTO","locus"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {enabled: controls.viewTheParticipantList.enabled};\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged:\n current?.muteOnEntry?.enabled &&\n current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged:\n current?.shareControl?.control &&\n current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled &&\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged:\n current?.reactions?.enabled && current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions &&\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled &&\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled,\n\n hasRaiseHandChanged:\n current?.raiseHand?.enabled && current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged:\n current?.video?.enabled && current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls.breakout.groupId !== controls.breakout.groupId ||\n oldControls.breakout.sessionId !== controls.breakout.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldControls: any, controls: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return status;\n }\n\n status.isReturnToMain =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n status.isJoinToBreakout =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
1
+ {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","raiseHand","getControls","oldControls","newControls","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasVideoEnabledChanged","undefined","isNeedReplaceMembers","groupId","sessionId","getSessionSwitchStatus","status","isReturnToMain","isJoinToBreakout","sessionType","BREAKOUTS","SESSION_TYPES","BREAKOUT","MAIN","isMainSessionDTO","locus"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {enabled: controls.viewTheParticipantList.enabled};\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n if (controls?.video) {\n parsedControls.video = {enabled: controls.video.enabled};\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged: current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged: current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged: current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled,\n\n hasRaiseHandChanged: current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged: current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls.breakout.groupId !== controls.breakout.groupId ||\n oldControls.breakout.sessionId !== controls.breakout.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldControls: any, controls: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return status;\n }\n\n status.isReturnToMain =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n status.isJoinToBreakout =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
@@ -5303,6 +5303,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5303
5303
  isMultistream: _this40.isMultistream
5304
5304
  });
5305
5305
  }).catch(function (error) {
5306
+ var _this40$mediaProperti, _this40$mediaProperti2, _this40$mediaProperti3, _this40$mediaProperti4, _this40$mediaProperti5, _this40$mediaProperti6, _this40$mediaProperti7, _this40$mediaProperti8, _this40$mediaProperti9, _this40$mediaProperti10, _this40$mediaProperti11, _this40$mediaProperti12, _this40$mediaProperti13, _this40$mediaProperti14, _this40$mediaProperti15, _this40$mediaProperti16, _this40$mediaProperti17, _this40$mediaProperti18, _this40$mediaProperti19, _this40$mediaProperti20, _this40$mediaProperti21;
5307
+ _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, {
5308
+ correlation_id: _this40.correlationId,
5309
+ locus_id: _this40.locusUrl.split('/').pop(),
5310
+ reason: error.message,
5311
+ stack: error.stack,
5312
+ code: error.code,
5313
+ turnDiscoverySkippedReason: turnDiscoverySkippedReason,
5314
+ turnServerUsed: turnServerUsed,
5315
+ isMultistream: _this40.isMultistream,
5316
+ signalingState: ((_this40$mediaProperti = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti === void 0 ? void 0 : (_this40$mediaProperti2 = _this40$mediaProperti.multistreamConnection) === null || _this40$mediaProperti2 === void 0 ? void 0 : (_this40$mediaProperti3 = _this40$mediaProperti2.pc) === null || _this40$mediaProperti3 === void 0 ? void 0 : (_this40$mediaProperti4 = _this40$mediaProperti3.pc) === null || _this40$mediaProperti4 === void 0 ? void 0 : _this40$mediaProperti4.signalingState) || ((_this40$mediaProperti5 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti5 === void 0 ? void 0 : (_this40$mediaProperti6 = _this40$mediaProperti5.mediaConnection) === null || _this40$mediaProperti6 === void 0 ? void 0 : (_this40$mediaProperti7 = _this40$mediaProperti6.pc) === null || _this40$mediaProperti7 === void 0 ? void 0 : _this40$mediaProperti7.signalingState) || 'unknown',
5317
+ connectionState: ((_this40$mediaProperti8 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti8 === void 0 ? void 0 : (_this40$mediaProperti9 = _this40$mediaProperti8.multistreamConnection) === null || _this40$mediaProperti9 === void 0 ? void 0 : (_this40$mediaProperti10 = _this40$mediaProperti9.pc) === null || _this40$mediaProperti10 === void 0 ? void 0 : (_this40$mediaProperti11 = _this40$mediaProperti10.pc) === null || _this40$mediaProperti11 === void 0 ? void 0 : _this40$mediaProperti11.connectionState) || ((_this40$mediaProperti12 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti12 === void 0 ? void 0 : (_this40$mediaProperti13 = _this40$mediaProperti12.mediaConnection) === null || _this40$mediaProperti13 === void 0 ? void 0 : (_this40$mediaProperti14 = _this40$mediaProperti13.pc) === null || _this40$mediaProperti14 === void 0 ? void 0 : _this40$mediaProperti14.connectionState) || 'unknown',
5318
+ iceConnectionState: ((_this40$mediaProperti15 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti15 === void 0 ? void 0 : (_this40$mediaProperti16 = _this40$mediaProperti15.multistreamConnection) === null || _this40$mediaProperti16 === void 0 ? void 0 : (_this40$mediaProperti17 = _this40$mediaProperti16.pc) === null || _this40$mediaProperti17 === void 0 ? void 0 : (_this40$mediaProperti18 = _this40$mediaProperti17.pc) === null || _this40$mediaProperti18 === void 0 ? void 0 : _this40$mediaProperti18.iceConnectionState) || ((_this40$mediaProperti19 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti19 === void 0 ? void 0 : (_this40$mediaProperti20 = _this40$mediaProperti19.mediaConnection) === null || _this40$mediaProperti20 === void 0 ? void 0 : (_this40$mediaProperti21 = _this40$mediaProperti20.pc) === null || _this40$mediaProperti21 === void 0 ? void 0 : _this40$mediaProperti21.iceConnectionState) || 'unknown'
5319
+ });
5320
+
5306
5321
  // Clean up stats analyzer, peer connection, and turn off listeners
5307
5322
  var stopStatsAnalyzer = _this40.statsAnalyzer ? _this40.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
5308
5323
  return stopStatsAnalyzer.then(function () {
@@ -5312,16 +5327,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5312
5327
  _this40.unsetPeerConnections();
5313
5328
  }
5314
5329
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media failed to initiate PC and send request, "), error);
5315
- _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, {
5316
- correlation_id: _this40.correlationId,
5317
- locus_id: _this40.locusUrl.split('/').pop(),
5318
- reason: error.message,
5319
- stack: error.stack,
5320
- code: error.code,
5321
- turnDiscoverySkippedReason: turnDiscoverySkippedReason,
5322
- turnServerUsed: turnServerUsed,
5323
- isMultistream: _this40.isMultistream
5324
- });
5325
5330
 
5326
5331
  // Upload logs on error while adding media
5327
5332
  _triggerProxy.default.trigger(_this40, {