@webex/plugin-meetings 2.2.2 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -6
- package/dist/constants.js +12 -10
- package/dist/constants.js.map +1 -1
- package/dist/locus-info/index.js +6 -2
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +54 -19
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/selfUtils.js +18 -5
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +32 -26
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +18 -39
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +24 -26
- package/dist/meeting/util.js.map +1 -1
- package/dist/metrics/index.js +3 -2
- package/dist/metrics/index.js.map +1 -1
- package/package.json +6 -6
- package/src/constants.js +9 -7
- package/src/locus-info/index.js +4 -4
- package/src/locus-info/infoUtils.js +30 -22
- package/src/locus-info/selfUtils.js +10 -1
- package/src/meeting/in-meeting-actions.js +25 -16
- package/src/meeting/index.js +25 -48
- package/src/meeting/util.js +18 -29
- package/src/metrics/index.js +3 -2
- package/test/unit/spec/locus-info/index.js +87 -1
- package/test/unit/spec/locus-info/infoUtils.js +122 -0
- package/test/unit/spec/locus-info/selfUtils.js +43 -0
- package/test/unit/spec/meeting/in-meeting-actions.js +55 -0
- package/test/unit/spec/meeting/index.js +120 -0
- package/test/unit/spec/meeting/utils.js +187 -0
- package/test/unit/spec/metrics/index.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelfUtils","PSTN_DEVICE_TYPE","parse","self","deviceId","joinedWith","devices","find","device","url","pstnDevices","filter","deviceType","remoteMuted","getRemoteMuted","unmuteAllowed","getUnmuteAllowed","localAudioUnmuteRequested","getLocalAudioUnmuteRequested","localAudioUnmuteRequired","getLocalAudioUnmuteRequired","lastModified","getLastModified","modifiedBy","getModifiedBy","guest","moderator","mediaStatus","getStatus","status","state","currentMediaStatus","getMediaStatus","mediaSessions","creator","isCreator","selfId","id","selfIdentity","getSelfIdentity","selfUrl","removed","getSelves","oldSelf","newSelf","previous","current","updates","isUnadmittedGuest","isAdmittedGuest","isMutedByOthersChanged","mutedByOthersChanged","localAudioUnmuteRequestedByServer","localAudioUnmuteRequiredByServer","moderatorChanged","isMediaInactiveOrReleased","wasMediaInactiveOrReleased","isMediaInactive","audioStateChange","audio","videoStateChange","video","shareStateChange","share","previousMediaStatus","MEDIA_STATE","inactive","direction","controls","meta","person","muted","requestedToUnmute","disallowUnmute","audioStatus","videoStatus","slides","videoSlidesStatus","changedSelf","_JOINED_","_LEFT_","reason","MEETING_END_REASON","INACTIVE","MEDIA_RELEASED","isLocusGuestUnadmitted","check","intent","type","_WAIT_","_IDLE_","isLocusGuestAdmitted","ParameterError","getSipUrl","partner","sipUri","_CALL_","sipUrl","media","mediaType","AUDIO","mediaContent","MediaContent","main","VIDEO"],"sources":["selfUtils.js"],"sourcesContent":["\nimport {\n _IDLE_,\n _JOINED_,\n _CALL_,\n _WAIT_,\n _LEFT_,\n MEETING_END_REASON,\n MEDIA_STATE,\n AUDIO,\n VIDEO,\n MediaContent\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst SelfUtils = {};\nconst PSTN_DEVICE_TYPE = 'PROVISIONAL';\n\n/**\n * parses the relevant values for self: muted, guest, moderator, mediaStatus, state, joinedWith, pstnDevices, creator, id\n * @param {Object} self\n * @param {String} deviceId\n * @returns {undefined}\n */\nSelfUtils.parse = (self, deviceId) => {\n if (self) {\n const joinedWith = self.devices.find((device) => deviceId === device.url);\n const pstnDevices = self.devices.filter((device) => PSTN_DEVICE_TYPE === device.deviceType);\n\n return {\n remoteMuted: SelfUtils.getRemoteMuted(self),\n unmuteAllowed: SelfUtils.getUnmuteAllowed(self),\n localAudioUnmuteRequested: SelfUtils.getLocalAudioUnmuteRequested(self),\n localAudioUnmuteRequired: SelfUtils.getLocalAudioUnmuteRequired(self),\n lastModified: SelfUtils.getLastModified(self),\n modifiedBy: SelfUtils.getModifiedBy(self),\n guest: self.guest,\n moderator: self.moderator,\n // cumulative media stats\n mediaStatus: SelfUtils.getStatus(self.status),\n // TODO: what should be the status if user has refreshed the page,\n // check the joinedWith parameter and communicate to the user\n state: self.state,\n // TODO: give a proper name . With same device as login or different login`\n // Some times we might have joined with both mobile and web\n joinedWith,\n pstnDevices,\n // current media stats is for the current device who has joined\n currentMediaStatus: SelfUtils.getMediaStatus(\n joinedWith?.mediaSessions\n ),\n creator: self.isCreator, // check if its used,\n selfId: self.id,\n selfIdentity: SelfUtils.getSelfIdentity(self),\n selfUrl: self.url,\n removed: self.removed\n };\n }\n\n return null;\n};\n\nSelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {\n const previous = oldSelf && SelfUtils.parse(oldSelf, deviceId);\n const current = newSelf && SelfUtils.parse(newSelf, deviceId);\n const updates = {};\n\n updates.isUnadmittedGuest = SelfUtils.isUnadmittedGuest(current);\n updates.isAdmittedGuest = SelfUtils.isAdmittedGuest(previous, current);\n updates.isMutedByOthersChanged = SelfUtils.mutedByOthersChanged(previous, current);\n updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(previous, current);\n updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(previous, current);\n updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);\n updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);\n\n updates.isMediaInactive = SelfUtils.isMediaInactive(previous, current);\n updates.audioStateChange = previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;\n updates.videoStateChange = previous?.currentMediaStatus.video !== current.currentMediaStatus.video;\n updates.shareStateChange = previous?.currentMediaStatus.share !== current.currentMediaStatus.share;\n\n return {\n previous,\n current,\n updates\n };\n};\n\nSelfUtils.isMediaInactive = (previous, current) => {\n if (\n previous &&\n previous.joinedWith &&\n previous.joinedWith.mediaSessions &&\n current &&\n current.joinedWith &&\n current.joinedWith.mediaSessions\n ) {\n const previousMediaStatus = SelfUtils.getMediaStatus(\n previous.joinedWith.mediaSessions\n );\n const currentMediaStatus = SelfUtils.getMediaStatus(\n current.joinedWith.mediaSessions\n );\n\n if (\n previousMediaStatus.audio && currentMediaStatus.audio &&\n previousMediaStatus.audio.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.audio.state === MEDIA_STATE.inactive &&\n currentMediaStatus.audio.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.video && currentMediaStatus.video &&\n previousMediaStatus.video.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.video.state === MEDIA_STATE.inactive &&\n currentMediaStatus.video.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.share && currentMediaStatus.share &&\n previousMediaStatus.share.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.share.state === MEDIA_STATE.inactive &&\n currentMediaStatus.share.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n return false;\n }\n\n return false;\n};\n\nSelfUtils.getLastModified = (self) => {\n if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.lastModified) {\n return null;\n }\n\n return self.controls.audio.meta.lastModified;\n};\n\nSelfUtils.getModifiedBy = (self) => {\n if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.modifiedBy) {\n return null;\n }\n\n return self.controls.audio.meta.modifiedBy;\n};\n\n/**\n * get the id from the self object\n * @param {Object} self\n * @returns {String}\n */\nSelfUtils.getSelfIdentity = (self) => {\n if (!self && !self.person) {\n return null;\n }\n\n return self.person.id;\n};\n\n/**\n * get the \"remote mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteMuted = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return self.controls.audio.muted;\n};\n\nSelfUtils.getLocalAudioUnmuteRequested = (self) => !!self?.controls?.audio?.requestedToUnmute;\n\nSelfUtils.getUnmuteAllowed = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return !self.controls.audio.disallowUnmute;\n};\n\n\nSelfUtils.getLocalAudioUnmuteRequired = (self) => !!self?.controls?.audio?.localAudioUnmuteRequired;\n\nSelfUtils.getStatus = (status) => ({\n audio: status.audioStatus,\n video: status.videoStatus,\n slides: status.videoSlidesStatus\n});\n\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n */\nSelfUtils.wasMediaInactiveOrReleased = (oldSelf = {}, changedSelf) => oldSelf.joinedWith && oldSelf.joinedWith.state === _JOINED_ && changedSelf.joinedWith.state === _LEFT_ &&\n (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE || changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);\n\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusGuestUnadmitted = (check) => check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusGuestAdmitted = (check) => check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;\n\n/**\n * @param {Object} self\n * @returns {Boolean}\n * @throws {Error} when self is undefined\n */\nSelfUtils.isUnadmittedGuest = (self) => {\n if (!self) {\n throw new ParameterError('self must be defined to determine if self is unadmitted as guest.');\n }\n\n return SelfUtils.isLocusGuestUnadmitted(self);\n};\n\nSelfUtils.moderatorChanged = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n return true;\n }\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self transitioned moderator status.');\n }\n\n return oldSelf.moderator !== changedSelf.moderator;\n};\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isAdmittedGuest = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n // if there was no previous locus, it couldn't have been admitted yet\n return false;\n }\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self transitioned to admitted as guest.');\n }\n\n return SelfUtils.isLocusGuestUnadmitted(oldSelf) && SelfUtils.isLocusGuestAdmitted(changedSelf);\n};\n\nSelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self was muted by others.');\n }\n\n if (!oldSelf || (oldSelf.remoteMuted === null)) {\n if (changedSelf.remoteMuted) {\n return true; // this happens when mute on-entry is enabled\n }\n\n // we don't want to be sending the 'meeting:self:unmutedByOthers' notification on meeting join\n return false;\n }\n\n return (changedSelf.remoteMuted !== null) &&\n ((oldSelf.remoteMuted !== changedSelf.remoteMuted) || (changedSelf.remoteMuted && (oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed)));\n};\n\nSelfUtils.localAudioUnmuteRequestedByServer = (oldSelf = {}, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self received request to unmute.');\n }\n\n return changedSelf.localAudioUnmuteRequested && !oldSelf.localAudioUnmuteRequested;\n};\n\n\nSelfUtils.localAudioUnmuteRequiredByServer = (oldSelf = {}, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if localAudioUnmuteRequired changed.');\n }\n\n return !changedSelf.remoteMuted && changedSelf.localAudioUnmuteRequired && (oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired);\n};\n\n/**\n * extract the sipUrl from the partner\n * @param {Object} partner\n * @param {Object} info\n * @returns {Object}\n */\n\nSelfUtils.getSipUrl = (partner, type, sipUri) => {\n // For webex meeting the sipUrl gets updated in info parser\n if (partner && type === _CALL_) {\n return {sipUri: partner.person.sipUrl || partner.person.id};\n }\n\n return {sipUri};\n};\n\nSelfUtils.getMediaStatus = (mediaSessions = []) => {\n const mediaStatus = {\n audio: {},\n video: {},\n share: {}\n };\n\n mediaStatus.audio = mediaSessions.find((media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main);\n mediaStatus.video = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main);\n mediaStatus.share = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides);\n\n return mediaStatus;\n};\n\n\nexport default SelfUtils;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["SelfUtils","PSTN_DEVICE_TYPE","parse","self","deviceId","joinedWith","devices","find","device","url","pstnDevices","filter","deviceType","remoteMuted","getRemoteMuted","unmuteAllowed","getUnmuteAllowed","localAudioUnmuteRequested","getLocalAudioUnmuteRequested","localAudioUnmuteRequired","getLocalAudioUnmuteRequired","lastModified","getLastModified","modifiedBy","getModifiedBy","guest","moderator","mediaStatus","getStatus","status","state","currentMediaStatus","getMediaStatus","mediaSessions","creator","isCreator","selfId","id","selfIdentity","getSelfIdentity","selfUrl","removed","roles","getRoles","controls","role","reduce","hasRole","push","type","getSelves","oldSelf","newSelf","previous","current","updates","isUnadmittedGuest","isAdmittedGuest","isMutedByOthersChanged","mutedByOthersChanged","localAudioUnmuteRequestedByServer","localAudioUnmuteRequiredByServer","moderatorChanged","isMediaInactiveOrReleased","wasMediaInactiveOrReleased","isMediaInactive","audioStateChange","audio","videoStateChange","video","shareStateChange","share","previousMediaStatus","MEDIA_STATE","inactive","direction","meta","person","muted","requestedToUnmute","disallowUnmute","audioStatus","videoStatus","slides","videoSlidesStatus","changedSelf","_JOINED_","_LEFT_","reason","MEETING_END_REASON","INACTIVE","MEDIA_RELEASED","isLocusGuestUnadmitted","check","intent","_WAIT_","_IDLE_","isLocusGuestAdmitted","ParameterError","getSipUrl","partner","sipUri","_CALL_","sipUrl","media","mediaType","AUDIO","mediaContent","MediaContent","main","VIDEO"],"sources":["selfUtils.js"],"sourcesContent":["\nimport {\n _IDLE_,\n _JOINED_,\n _CALL_,\n _WAIT_,\n _LEFT_,\n MEETING_END_REASON,\n MEDIA_STATE,\n AUDIO,\n VIDEO,\n MediaContent\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst SelfUtils = {};\nconst PSTN_DEVICE_TYPE = 'PROVISIONAL';\n\n/**\n * parses the relevant values for self: muted, guest, moderator, mediaStatus, state, joinedWith, pstnDevices, creator, id\n * @param {Object} self\n * @param {String} deviceId\n * @returns {undefined}\n */\nSelfUtils.parse = (self, deviceId) => {\n if (self) {\n const joinedWith = self.devices.find((device) => deviceId === device.url);\n const pstnDevices = self.devices.filter((device) => PSTN_DEVICE_TYPE === device.deviceType);\n\n return {\n remoteMuted: SelfUtils.getRemoteMuted(self),\n unmuteAllowed: SelfUtils.getUnmuteAllowed(self),\n localAudioUnmuteRequested: SelfUtils.getLocalAudioUnmuteRequested(self),\n localAudioUnmuteRequired: SelfUtils.getLocalAudioUnmuteRequired(self),\n lastModified: SelfUtils.getLastModified(self),\n modifiedBy: SelfUtils.getModifiedBy(self),\n guest: self.guest,\n moderator: self.moderator,\n // cumulative media stats\n mediaStatus: SelfUtils.getStatus(self.status),\n // TODO: what should be the status if user has refreshed the page,\n // check the joinedWith parameter and communicate to the user\n state: self.state,\n // TODO: give a proper name . With same device as login or different login`\n // Some times we might have joined with both mobile and web\n joinedWith,\n pstnDevices,\n // current media stats is for the current device who has joined\n currentMediaStatus: SelfUtils.getMediaStatus(\n joinedWith?.mediaSessions\n ),\n creator: self.isCreator, // check if its used,\n selfId: self.id,\n selfIdentity: SelfUtils.getSelfIdentity(self),\n selfUrl: self.url,\n removed: self.removed,\n roles: SelfUtils.getRoles(self)\n };\n }\n\n return null;\n};\n\nSelfUtils.getRoles = (self) => (self?.controls?.role?.roles || []).reduce((roles, role) => {\n if (role.hasRole) {\n roles.push(role.type);\n }\n\n return roles;\n}, []);\n\nSelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {\n const previous = oldSelf && SelfUtils.parse(oldSelf, deviceId);\n const current = newSelf && SelfUtils.parse(newSelf, deviceId);\n const updates = {};\n\n updates.isUnadmittedGuest = SelfUtils.isUnadmittedGuest(current);\n updates.isAdmittedGuest = SelfUtils.isAdmittedGuest(previous, current);\n updates.isMutedByOthersChanged = SelfUtils.mutedByOthersChanged(previous, current);\n updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(previous, current);\n updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(previous, current);\n updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);\n updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);\n\n updates.isMediaInactive = SelfUtils.isMediaInactive(previous, current);\n updates.audioStateChange = previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;\n updates.videoStateChange = previous?.currentMediaStatus.video !== current.currentMediaStatus.video;\n updates.shareStateChange = previous?.currentMediaStatus.share !== current.currentMediaStatus.share;\n\n return {\n previous,\n current,\n updates\n };\n};\n\nSelfUtils.isMediaInactive = (previous, current) => {\n if (\n previous &&\n previous.joinedWith &&\n previous.joinedWith.mediaSessions &&\n current &&\n current.joinedWith &&\n current.joinedWith.mediaSessions\n ) {\n const previousMediaStatus = SelfUtils.getMediaStatus(\n previous.joinedWith.mediaSessions\n );\n const currentMediaStatus = SelfUtils.getMediaStatus(\n current.joinedWith.mediaSessions\n );\n\n if (\n previousMediaStatus.audio && currentMediaStatus.audio &&\n previousMediaStatus.audio.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.audio.state === MEDIA_STATE.inactive &&\n currentMediaStatus.audio.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.video && currentMediaStatus.video &&\n previousMediaStatus.video.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.video.state === MEDIA_STATE.inactive &&\n currentMediaStatus.video.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.share && currentMediaStatus.share &&\n previousMediaStatus.share.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.share.state === MEDIA_STATE.inactive &&\n currentMediaStatus.share.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n return false;\n }\n\n return false;\n};\n\nSelfUtils.getLastModified = (self) => {\n if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.lastModified) {\n return null;\n }\n\n return self.controls.audio.meta.lastModified;\n};\n\nSelfUtils.getModifiedBy = (self) => {\n if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.modifiedBy) {\n return null;\n }\n\n return self.controls.audio.meta.modifiedBy;\n};\n\n/**\n * get the id from the self object\n * @param {Object} self\n * @returns {String}\n */\nSelfUtils.getSelfIdentity = (self) => {\n if (!self && !self.person) {\n return null;\n }\n\n return self.person.id;\n};\n\n/**\n * get the \"remote mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteMuted = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return self.controls.audio.muted;\n};\n\nSelfUtils.getLocalAudioUnmuteRequested = (self) => !!self?.controls?.audio?.requestedToUnmute;\n\nSelfUtils.getUnmuteAllowed = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return !self.controls.audio.disallowUnmute;\n};\n\n\nSelfUtils.getLocalAudioUnmuteRequired = (self) => !!self?.controls?.audio?.localAudioUnmuteRequired;\n\nSelfUtils.getStatus = (status) => ({\n audio: status.audioStatus,\n video: status.videoStatus,\n slides: status.videoSlidesStatus\n});\n\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n */\nSelfUtils.wasMediaInactiveOrReleased = (oldSelf = {}, changedSelf) => oldSelf.joinedWith && oldSelf.joinedWith.state === _JOINED_ && changedSelf.joinedWith.state === _LEFT_ &&\n (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE || changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);\n\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusGuestUnadmitted = (check) => check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusGuestAdmitted = (check) => check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;\n\n/**\n * @param {Object} self\n * @returns {Boolean}\n * @throws {Error} when self is undefined\n */\nSelfUtils.isUnadmittedGuest = (self) => {\n if (!self) {\n throw new ParameterError('self must be defined to determine if self is unadmitted as guest.');\n }\n\n return SelfUtils.isLocusGuestUnadmitted(self);\n};\n\nSelfUtils.moderatorChanged = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n return true;\n }\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self transitioned moderator status.');\n }\n\n return oldSelf.moderator !== changedSelf.moderator;\n};\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isAdmittedGuest = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n // if there was no previous locus, it couldn't have been admitted yet\n return false;\n }\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self transitioned to admitted as guest.');\n }\n\n return SelfUtils.isLocusGuestUnadmitted(oldSelf) && SelfUtils.isLocusGuestAdmitted(changedSelf);\n};\n\nSelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self was muted by others.');\n }\n\n if (!oldSelf || (oldSelf.remoteMuted === null)) {\n if (changedSelf.remoteMuted) {\n return true; // this happens when mute on-entry is enabled\n }\n\n // we don't want to be sending the 'meeting:self:unmutedByOthers' notification on meeting join\n return false;\n }\n\n return (changedSelf.remoteMuted !== null) &&\n ((oldSelf.remoteMuted !== changedSelf.remoteMuted) || (changedSelf.remoteMuted && (oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed)));\n};\n\nSelfUtils.localAudioUnmuteRequestedByServer = (oldSelf = {}, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self received request to unmute.');\n }\n\n return changedSelf.localAudioUnmuteRequested && !oldSelf.localAudioUnmuteRequested;\n};\n\n\nSelfUtils.localAudioUnmuteRequiredByServer = (oldSelf = {}, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if localAudioUnmuteRequired changed.');\n }\n\n return !changedSelf.remoteMuted && changedSelf.localAudioUnmuteRequired && (oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired);\n};\n\n/**\n * extract the sipUrl from the partner\n * @param {Object} partner\n * @param {Object} info\n * @returns {Object}\n */\n\nSelfUtils.getSipUrl = (partner, type, sipUri) => {\n // For webex meeting the sipUrl gets updated in info parser\n if (partner && type === _CALL_) {\n return {sipUri: partner.person.sipUrl || partner.person.id};\n }\n\n return {sipUri};\n};\n\nSelfUtils.getMediaStatus = (mediaSessions = []) => {\n const mediaStatus = {\n audio: {},\n video: {},\n share: {}\n };\n\n mediaStatus.audio = mediaSessions.find((media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main);\n mediaStatus.video = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main);\n mediaStatus.share = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides);\n\n return mediaStatus;\n};\n\n\nexport default SelfUtils;\n"],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
10
10
|
|
|
11
11
|
exports.default = void 0;
|
|
12
12
|
|
|
13
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
14
|
+
|
|
13
15
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
14
16
|
|
|
15
17
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
@@ -32,37 +34,41 @@ var InMeetingActions = /*#__PURE__*/function () {
|
|
|
32
34
|
this.canLock = null;
|
|
33
35
|
this.canUnlock = null;
|
|
34
36
|
this.canAssignHost = null;
|
|
37
|
+
this.canStartRecording = null;
|
|
38
|
+
this.canPauseRecording = null;
|
|
39
|
+
this.canResumeRecording = null;
|
|
40
|
+
this.canStopRecording = null;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
(0, _createClass2.default)(InMeetingActions, [{
|
|
38
|
-
key: "
|
|
39
|
-
value: function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
key: "get",
|
|
45
|
+
value: function get() {
|
|
46
|
+
return {
|
|
47
|
+
canLock: this.canLock,
|
|
48
|
+
canUnlock: this.canUnlock,
|
|
49
|
+
canAssignHost: this.canAssignHost,
|
|
50
|
+
canStartRecording: this.canStartRecording,
|
|
51
|
+
canPauseRecording: this.canPauseRecording,
|
|
52
|
+
canResumeRecording: this.canResumeRecording,
|
|
53
|
+
canStopRecording: this.canStopRecording
|
|
54
|
+
};
|
|
46
55
|
}
|
|
47
56
|
}, {
|
|
48
|
-
key: "
|
|
49
|
-
value: function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
key: "getCanAssignHost",
|
|
64
|
-
value: function getCanAssignHost() {
|
|
65
|
-
return this.canAssignHost;
|
|
57
|
+
key: "set",
|
|
58
|
+
value: function set(actions) {
|
|
59
|
+
var _this = this;
|
|
60
|
+
|
|
61
|
+
var old = this.get();
|
|
62
|
+
var changed = false;
|
|
63
|
+
(0, _keys.default)(old).forEach(function (actionKey) {
|
|
64
|
+
var actionValue = actions[actionKey];
|
|
65
|
+
|
|
66
|
+
if (actionValue !== undefined && actionValue !== old[actionKey]) {
|
|
67
|
+
changed = true;
|
|
68
|
+
_this[actionKey] = actionValue;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return changed;
|
|
66
72
|
}
|
|
67
73
|
}]);
|
|
68
74
|
return InMeetingActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InMeetingActions","MEETINGS","canLock","canUnlock","canAssignHost","
|
|
1
|
+
{"version":3,"names":["InMeetingActions","MEETINGS","canLock","canUnlock","canAssignHost","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","actions","old","get","changed","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {\n MEETINGS\n} from '../constants';\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions {\n namespace = MEETINGS;\n\n constructor() {\n this.canLock = null;\n this.canUnlock = null;\n this.canAssignHost = null;\n this.canStartRecording = null;\n this.canPauseRecording = null;\n this.canResumeRecording = null;\n this.canStopRecording = null;\n }\n\n get() {\n return {\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording\n };\n }\n\n set(actions) {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n }\n}\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;;AAMA;AACA;AACA;IACqBA,gB;EAGnB,4BAAc;IAAA;IAAA,iDAFFC,mBAEE;IACZ,KAAKC,OAAL,GAAe,IAAf;IACA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,iBAAL,GAAyB,IAAzB;IACA,KAAKC,iBAAL,GAAyB,IAAzB;IACA,KAAKC,kBAAL,GAA0B,IAA1B;IACA,KAAKC,gBAAL,GAAwB,IAAxB;EACD;;;;WAED,eAAM;MACJ,OAAO;QACLN,OAAO,EAAE,KAAKA,OADT;QAELC,SAAS,EAAE,KAAKA,SAFX;QAGLC,aAAa,EAAE,KAAKA,aAHf;QAILC,iBAAiB,EAAE,KAAKA,iBAJnB;QAKLC,iBAAiB,EAAE,KAAKA,iBALnB;QAMLC,kBAAkB,EAAE,KAAKA,kBANpB;QAOLC,gBAAgB,EAAE,KAAKA;MAPlB,CAAP;IASD;;;WAED,aAAIC,OAAJ,EAAa;MAAA;;MACX,IAAMC,GAAG,GAAG,KAAKC,GAAL,EAAZ;MAEA,IAAIC,OAAO,GAAG,KAAd;MAEA,mBAAYF,GAAZ,EAAiBG,OAAjB,CAAyB,UAACC,SAAD,EAAe;QACtC,IAAMC,WAAW,GAAGN,OAAO,CAACK,SAAD,CAA3B;;QAEA,IAAIC,WAAW,KAAKC,SAAhB,IAA6BD,WAAW,KAAKL,GAAG,CAACI,SAAD,CAApD,EAAiE;UAC/DF,OAAO,GAAG,IAAV;UACA,KAAI,CAACE,SAAD,CAAJ,GAAkBC,WAAlB;QACD;MACF,CAPD;MASA,OAAOH,OAAP;IACD"}
|
package/dist/meeting/index.js
CHANGED
|
@@ -1494,16 +1494,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1494
1494
|
var _this5 = this;
|
|
1495
1495
|
|
|
1496
1496
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_CAN_ASSIGN_HOST, function (payload) {
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
function: 'setUpLocusInfoAssignHostListener'
|
|
1500
|
-
}, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, {
|
|
1501
|
-
canAssignHost: payload.canAssignHost,
|
|
1502
|
-
canLock: _this5.inMeetingActions.getCanLock(),
|
|
1503
|
-
canUnlock: _this5.inMeetingActions.getCanUnlock()
|
|
1497
|
+
var changed = _this5.inMeetingActions.set({
|
|
1498
|
+
canAssignHost: payload.canAssignHost
|
|
1504
1499
|
});
|
|
1505
1500
|
|
|
1506
|
-
|
|
1501
|
+
if (changed) {
|
|
1502
|
+
_triggerProxy.default.trigger(_this5, {
|
|
1503
|
+
file: 'meeting/index',
|
|
1504
|
+
function: 'setUpLocusInfoAssignHostListener'
|
|
1505
|
+
}, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this5.inMeetingActions.get());
|
|
1506
|
+
}
|
|
1507
1507
|
});
|
|
1508
1508
|
}
|
|
1509
1509
|
/**
|
|
@@ -2181,42 +2181,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2181
2181
|
});
|
|
2182
2182
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (payload) {
|
|
2183
2183
|
if (payload && payload.info) {
|
|
2184
|
-
var
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
newCanUnlock = _util.default.canUserUnlock(payload.info.moderator, payload.info.policy);
|
|
2193
|
-
}
|
|
2194
|
-
|
|
2195
|
-
if (newCanLock && !_this14.inMeetingActions.canLock) {
|
|
2196
|
-
_triggerProxy.default.trigger(_this14, {
|
|
2197
|
-
file: 'meeting/index',
|
|
2198
|
-
function: 'setUpLocusInfoMeetingInfoListener'
|
|
2199
|
-
}, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, {
|
|
2200
|
-
canLock: true,
|
|
2201
|
-
canUnlock: false,
|
|
2202
|
-
canAssignHost: _this14.inMeetingActions.getCanAssignHost()
|
|
2203
|
-
});
|
|
2204
|
-
}
|
|
2184
|
+
var changed = _this14.inMeetingActions.set({
|
|
2185
|
+
canLock: _util.default.canUserLock(payload.info.userDisplayHints),
|
|
2186
|
+
canUnlock: _util.default.canUserUnlock(payload.info.userDisplayHints),
|
|
2187
|
+
canStartRecording: _util.default.canUserRecord(payload.info.userDisplayHints),
|
|
2188
|
+
canStopRecording: _util.default.canUserStop(payload.info.userDisplayHints),
|
|
2189
|
+
canPauseRecording: _util.default.canUserPause(payload.info.userDisplayHints),
|
|
2190
|
+
canResumeRecording: _util.default.canUserResume(payload.info.userDisplayHints)
|
|
2191
|
+
});
|
|
2205
2192
|
|
|
2206
|
-
if (
|
|
2193
|
+
if (changed) {
|
|
2207
2194
|
_triggerProxy.default.trigger(_this14, {
|
|
2208
2195
|
file: 'meeting/index',
|
|
2209
2196
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
2210
|
-
}, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE,
|
|
2211
|
-
canLock: false,
|
|
2212
|
-
canUnlock: true,
|
|
2213
|
-
canAssignHost: _this14.inMeetingActions.getCanAssignHost()
|
|
2214
|
-
});
|
|
2197
|
+
}, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this14.inMeetingActions.get());
|
|
2215
2198
|
}
|
|
2216
|
-
|
|
2217
|
-
_this14.inMeetingActions.setCanLock(newCanLock || false);
|
|
2218
|
-
|
|
2219
|
-
_this14.inMeetingActions.setCanUnlock(newCanUnlock || false);
|
|
2220
2199
|
}
|
|
2221
2200
|
});
|
|
2222
2201
|
}
|