@webex/plugin-meetings 3.9.0-next.23 → 3.9.0-next.25

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.
Files changed (52) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +4 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/controls-options-manager/index.js +22 -5
  6. package/dist/controls-options-manager/index.js.map +1 -1
  7. package/dist/interpretation/index.js +1 -1
  8. package/dist/interpretation/siLanguage.js +1 -1
  9. package/dist/locus-info/controlsUtils.js +11 -2
  10. package/dist/locus-info/controlsUtils.js.map +1 -1
  11. package/dist/locus-info/index.js +17 -3
  12. package/dist/locus-info/index.js.map +1 -1
  13. package/dist/meeting/in-meeting-actions.js +2 -0
  14. package/dist/meeting/in-meeting-actions.js.map +1 -1
  15. package/dist/meeting/index.js +74 -32
  16. package/dist/meeting/index.js.map +1 -1
  17. package/dist/meeting/request.js +48 -14
  18. package/dist/meeting/request.js.map +1 -1
  19. package/dist/meeting/util.js +3 -0
  20. package/dist/meeting/util.js.map +1 -1
  21. package/dist/member/index.js +9 -0
  22. package/dist/member/index.js.map +1 -1
  23. package/dist/member/util.js +10 -0
  24. package/dist/member/util.js.map +1 -1
  25. package/dist/types/constants.d.ts +3 -0
  26. package/dist/types/controls-options-manager/index.d.ts +9 -1
  27. package/dist/types/locus-info/index.d.ts +2 -1
  28. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  29. package/dist/types/meeting/index.d.ts +14 -0
  30. package/dist/types/meeting/request.d.ts +16 -0
  31. package/dist/types/meeting/util.d.ts +1 -0
  32. package/dist/types/member/index.d.ts +1 -0
  33. package/dist/types/member/util.d.ts +5 -0
  34. package/dist/webinar/index.js +1 -1
  35. package/package.json +1 -1
  36. package/src/constants.ts +6 -0
  37. package/src/controls-options-manager/index.ts +26 -5
  38. package/src/locus-info/controlsUtils.ts +18 -0
  39. package/src/locus-info/index.ts +14 -4
  40. package/src/meeting/in-meeting-actions.ts +4 -0
  41. package/src/meeting/index.ts +67 -20
  42. package/src/meeting/request.ts +38 -0
  43. package/src/meeting/util.ts +3 -0
  44. package/src/member/index.ts +10 -0
  45. package/src/member/util.ts +14 -0
  46. package/test/unit/spec/controls-options-manager/index.js +47 -0
  47. package/test/unit/spec/fixture/locus.js +1 -0
  48. package/test/unit/spec/locus-info/index.js +39 -0
  49. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
  50. package/test/unit/spec/meeting/index.js +41 -2
  51. package/test/unit/spec/meeting/utils.js +1 -0
  52. package/test/unit/spec/member/util.js +24 -0
@@ -73,6 +73,13 @@ var ControlsOptionsManager = exports.default = /*#__PURE__*/function () {
73
73
  * @memberof ControlsOptionsManager
74
74
  */
75
75
  (0, _defineProperty2.default)(this, "locusUrl", void 0);
76
+ /**
77
+ * @instance
78
+ * @type {string}
79
+ * @private
80
+ * @memberof ControlsOptionsManager
81
+ */
82
+ (0, _defineProperty2.default)(this, "mainLocusUrl", void 0);
76
83
  this.initialize(request);
77
84
  this.set(options);
78
85
  }
@@ -103,14 +110,18 @@ var ControlsOptionsManager = exports.default = /*#__PURE__*/function () {
103
110
 
104
111
  /**
105
112
  * @param {string} url
113
+ * @param {boolean} isMainLocus
106
114
  * @returns {void}
107
115
  * @public
108
116
  * @memberof ControlsOptionsManager
109
117
  */
110
118
  }, {
111
119
  key: "setLocusUrl",
112
- value: function setLocusUrl(url) {
120
+ value: function setLocusUrl(url, isMainLocus) {
113
121
  this.locusUrl = url;
122
+ if (isMainLocus) {
123
+ this.mainLocusUrl = url;
124
+ }
114
125
  }
115
126
 
116
127
  /**
@@ -183,12 +194,15 @@ var ControlsOptionsManager = exports.default = /*#__PURE__*/function () {
183
194
  return (0, _defineProperty2.default)({}, control.scope, control.properties);
184
195
  });
185
196
  return payloads.reduce(function (previous, payload) {
197
+ var extraBody = _this.mainLocusUrl && _this.mainLocusUrl !== _this.locusUrl ? {
198
+ authorizingLocusUrl: _this.locusUrl
199
+ } : {};
186
200
  return previous.then(function () {
187
201
  return (
188
202
  // @ts-ignore
189
203
  _this.request.request({
190
- uri: "".concat(_this.locusUrl, "/").concat(_constants.CONTROLS),
191
- body: payload,
204
+ uri: "".concat(_this.mainLocusUrl || _this.locusUrl, "/").concat(_constants.CONTROLS),
205
+ body: _objectSpread(_objectSpread({}, payload), extraBody),
192
206
  method: _constants.HTTP_VERBS.PATCH
193
207
  })
194
208
  );
@@ -246,11 +260,14 @@ var ControlsOptionsManager = exports.default = /*#__PURE__*/function () {
246
260
  if (error) {
247
261
  return _promise.default.reject(error);
248
262
  }
263
+ var extraBody = this.mainLocusUrl && this.mainLocusUrl !== this.locusUrl ? {
264
+ authorizingLocusUrl: this.locusUrl
265
+ } : {};
249
266
 
250
267
  // @ts-ignore
251
268
  return this.request.request({
252
- uri: "".concat(this.locusUrl, "/").concat(_constants.CONTROLS),
253
- body: body,
269
+ uri: "".concat(this.mainLocusUrl || this.locusUrl, "/").concat(_constants.CONTROLS),
270
+ body: _objectSpread(_objectSpread({}, body), extraBody),
254
271
  method: _constants.HTTP_VERBS.PATCH
255
272
  });
256
273
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_permission","_interopRequireDefault","_constants","_loggerProxy","_enums","_util","_constants2","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","ControlsOptionsManager","exports","request","options","_classCallCheck2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","locusUrl","setDisplayHints","hints","displayHints","getLocusUrl","getDisplayHints","update","_this","_len","controls","Array","_key","payloads","map","control","_keys","Control","includes","scope","Error","concat","Util","canUpdate","PermissionError","properties","reduce","previous","payload","then","uri","CONTROLS","body","method","HTTP_VERBS","PATCH","_promise","resolve","setControls","setting","_this2","LoggerProxy","logger","log","_stringify","error","shouldSkipCheckToMergeBody","_entries","_ref2","_ref3","_slicedToArray2","undefined","CAN_SET","CAN_UNSET","Setting","muted","audio","camelCase","disallowUnmute","muteOnEntry","ENABLED","roles","_isArray","reject","setMuteOnEntry","enabled","setDisallowUnmute","setMuteAll","mutedEnabled","disallowUnmuteEnabled","muteOnEntryEnabled"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {Control, Setting} from './enums';\nimport {ControlConfig} from './types';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * Set controls for this meeting.\n *\n * @param {Array<ControlConfig>} controls - Spread Array of ControlConfigs\n * @returns {Promise<Array<any>>}- Promise resolving if the request was successful.\n */\n public update(...controls: Array<ControlConfig>) {\n const payloads = controls.map((control) => {\n if (!Object.keys(Control).includes(control.scope)) {\n throw new Error(\n `updating meeting control scope \"${control.scope}\" is not a supported scope`\n );\n }\n\n if (!Util.canUpdate(control, this.displayHints)) {\n throw new PermissionError(\n `updating meeting control scope \"${control.scope}\" not allowed, due to moderator property.`\n );\n }\n\n return {\n [control.scope]: control.properties,\n };\n });\n\n return payloads.reduce((previous, payload) => {\n return previous.then(() =>\n // @ts-ignore\n this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: payload,\n method: HTTP_VERBS.PATCH,\n })\n );\n }, Promise.resolve());\n }\n\n /**\n * @param {Setting} setting\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: {\n [Setting.muted]?: boolean;\n [Setting.disallowUnmute]?: boolean;\n [Setting.muteOnEntry]?: boolean;\n [Setting.roles]?: Array<string>;\n }): Promise<any> {\n LoggerProxy.logger.log(\n `ControlsOptionsManager:index#setControls --> ${JSON.stringify(setting)}`\n );\n\n const body: Record<string, any> = {};\n let error: PermissionError;\n\n let shouldSkipCheckToMergeBody = false;\n\n Object.entries(setting).forEach(([key, value]) => {\n if (\n !shouldSkipCheckToMergeBody &&\n value !== undefined &&\n !Util?.[`${value ? CAN_SET : CAN_UNSET}${key}`](this.displayHints)\n ) {\n error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);\n }\n\n if (error) {\n return;\n }\n\n switch (key) {\n case Setting.muted:\n shouldSkipCheckToMergeBody = true;\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n break;\n\n case Setting.disallowUnmute:\n case Setting.muteOnEntry:\n if (Object.keys(setting).includes(Setting.muted)) {\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n body.audio[camelCase(key)] = value;\n } else {\n body[camelCase(key)] = {[ENABLED]: value};\n }\n break;\n\n case Setting.roles:\n if (Array.isArray(value)) {\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n }\n break;\n\n default:\n error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);\n }\n });\n\n if (error) {\n return Promise.reject(error);\n }\n\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body,\n method: HTTP_VERBS.PATCH,\n });\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls({[Setting.muteOnEntry]: enabled});\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls({[Setting.disallowUnmute]: enabled});\n }\n\n /**\n * @public\n * @param {boolean} mutedEnabled\n * @param {boolean} disallowUnmuteEnabled\n * @param {boolean} muteOnEntryEnabled\n * @param {array} roles which should be muted\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteAll(\n mutedEnabled: boolean,\n disallowUnmuteEnabled: boolean,\n muteOnEntryEnabled: boolean,\n roles: Array<string>\n ): Promise<any> {\n return this.setControls({\n [Setting.muted]: mutedEnabled,\n [Setting.disallowUnmute]: disallowUnmuteEnabled,\n [Setting.muteOnEntry]: muteOnEntryEnabled,\n [Setting.roles]: roles,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_permission","_interopRequireDefault","_constants","_loggerProxy","_enums","_util","_constants2","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","ControlsOptionsManager","exports","request","options","_classCallCheck2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","isMainLocus","locusUrl","mainLocusUrl","setDisplayHints","hints","displayHints","getLocusUrl","getDisplayHints","update","_this","_len","controls","Array","_key","payloads","map","control","_keys","Control","includes","scope","Error","concat","Util","canUpdate","PermissionError","properties","reduce","previous","payload","extraBody","authorizingLocusUrl","then","uri","CONTROLS","body","method","HTTP_VERBS","PATCH","_promise","resolve","setControls","setting","_this2","LoggerProxy","logger","log","_stringify","error","shouldSkipCheckToMergeBody","_entries","_ref2","_ref3","_slicedToArray2","undefined","CAN_SET","CAN_UNSET","Setting","muted","audio","camelCase","disallowUnmute","muteOnEntry","ENABLED","roles","_isArray","reject","setMuteOnEntry","enabled","setDisallowUnmute","setMuteAll","mutedEnabled","disallowUnmuteEnabled","muteOnEntryEnabled"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {Control, Setting} from './enums';\nimport {ControlConfig} from './types';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private mainLocusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @param {boolean} isMainLocus\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string, isMainLocus?: boolean) {\n this.locusUrl = url;\n if (isMainLocus) {\n this.mainLocusUrl = url;\n }\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * Set controls for this meeting.\n *\n * @param {Array<ControlConfig>} controls - Spread Array of ControlConfigs\n * @returns {Promise<Array<any>>}- Promise resolving if the request was successful.\n */\n public update(...controls: Array<ControlConfig>) {\n const payloads = controls.map((control) => {\n if (!Object.keys(Control).includes(control.scope)) {\n throw new Error(\n `updating meeting control scope \"${control.scope}\" is not a supported scope`\n );\n }\n\n if (!Util.canUpdate(control, this.displayHints)) {\n throw new PermissionError(\n `updating meeting control scope \"${control.scope}\" not allowed, due to moderator property.`\n );\n }\n\n return {\n [control.scope]: control.properties,\n };\n });\n\n return payloads.reduce((previous, payload) => {\n const extraBody =\n this.mainLocusUrl && this.mainLocusUrl !== this.locusUrl\n ? {authorizingLocusUrl: this.locusUrl}\n : {};\n\n return previous.then(() =>\n // @ts-ignore\n this.request.request({\n uri: `${this.mainLocusUrl || this.locusUrl}/${CONTROLS}`,\n body: {...payload, ...extraBody},\n method: HTTP_VERBS.PATCH,\n })\n );\n }, Promise.resolve());\n }\n\n /**\n * @param {Setting} setting\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: {\n [Setting.muted]?: boolean;\n [Setting.disallowUnmute]?: boolean;\n [Setting.muteOnEntry]?: boolean;\n [Setting.roles]?: Array<string>;\n }): Promise<any> {\n LoggerProxy.logger.log(\n `ControlsOptionsManager:index#setControls --> ${JSON.stringify(setting)}`\n );\n\n const body: Record<string, any> = {};\n let error: PermissionError;\n\n let shouldSkipCheckToMergeBody = false;\n\n Object.entries(setting).forEach(([key, value]) => {\n if (\n !shouldSkipCheckToMergeBody &&\n value !== undefined &&\n !Util?.[`${value ? CAN_SET : CAN_UNSET}${key}`](this.displayHints)\n ) {\n error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);\n }\n\n if (error) {\n return;\n }\n\n switch (key) {\n case Setting.muted:\n shouldSkipCheckToMergeBody = true;\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n break;\n\n case Setting.disallowUnmute:\n case Setting.muteOnEntry:\n if (Object.keys(setting).includes(Setting.muted)) {\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n body.audio[camelCase(key)] = value;\n } else {\n body[camelCase(key)] = {[ENABLED]: value};\n }\n break;\n\n case Setting.roles:\n if (Array.isArray(value)) {\n body.audio = body.audio\n ? {...body.audio, [camelCase(key)]: value}\n : {[camelCase(key)]: value};\n }\n break;\n\n default:\n error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);\n }\n });\n\n if (error) {\n return Promise.reject(error);\n }\n const extraBody =\n this.mainLocusUrl && this.mainLocusUrl !== this.locusUrl\n ? {authorizingLocusUrl: this.locusUrl}\n : {};\n\n // @ts-ignore\n return this.request.request({\n uri: `${this.mainLocusUrl || this.locusUrl}/${CONTROLS}`,\n body: {...body, ...extraBody},\n method: HTTP_VERBS.PATCH,\n });\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls({[Setting.muteOnEntry]: enabled});\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls({[Setting.disallowUnmute]: enabled});\n }\n\n /**\n * @public\n * @param {boolean} mutedEnabled\n * @param {boolean} disallowUnmuteEnabled\n * @param {boolean} muteOnEntryEnabled\n * @param {array} roles which should be muted\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteAll(\n mutedEnabled: boolean,\n disallowUnmuteEnabled: boolean,\n muteOnEntryEnabled: boolean,\n roles: Array<string>\n ): Promise<any> {\n return this.setControls({\n [Setting.muted]: mutedEnabled,\n [Setting.disallowUnmute]: disallowUnmuteEnabled,\n [Setting.muteOnEntry]: muteOnEntryEnabled,\n [Setting.roles]: roles,\n });\n }\n}\n"],"mappings":"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"}
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
373
373
  throw error;
374
374
  });
375
375
  },
376
- version: "3.9.0-next.23"
376
+ version: "3.9.0-next.25"
377
377
  });
378
378
  var _default = exports.default = SimultaneousInterpretation;
379
379
  //# sourceMappingURL=index.js.map
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.9.0-next.23"
21
+ version: "3.9.0-next.25"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -137,6 +137,14 @@ ControlsUtils.parse = function (controls) {
137
137
  enabled: controls.pollingQAControl.enabled
138
138
  };
139
139
  }
140
+ if (controls !== null && controls !== void 0 && controls.autoEndMeetingWarning) {
141
+ parsedControls.autoEndMeetingWarning = {
142
+ enabled: controls.autoEndMeetingWarning.enabled,
143
+ extensionDurationMinutes: controls.autoEndMeetingWarning.extensionDurationMinutes,
144
+ countdownDurationMinutes: controls.autoEndMeetingWarning.countdownDurationMinutes,
145
+ countdownStartedAt: controls.autoEndMeetingWarning.countdownStartedAt
146
+ };
147
+ }
140
148
  return parsedControls;
141
149
  };
142
150
 
@@ -147,7 +155,7 @@ ControlsUtils.parse = function (controls) {
147
155
  * @returns {Object} combination of state plus the changes
148
156
  */
149
157
  ControlsUtils.getControls = function (oldControls, newControls) {
150
- var _current$muteOnEntry, _previous$muteOnEntry, _current$shareControl, _previous$shareContro, _current$disallowUnmu, _previous$disallowUnm, _current$reactions, _previous$reactions, _current$reactions2, _previous$reactions2, _current$viewTheParti, _previous$viewThePart, _current$viewTheParti2, _previous$viewThePart2, _current$viewTheParti3, _previous$viewThePart3, _current$raiseHand, _previous$raiseHand, _current$video, _previous$video, _previous$record, _previous$record2, _current$record, _previous$record3, _current$record2, _previous$record4, _current$record3, _previous$meetingCont, _current$meetingConta, _previous$transcribe, _current$transcribe, _previous$transcribe2, _current$transcribe2, _previous$transcribe3, _current$transcribe3, _previous$transcribe4, _current$transcribe4, _previous$manualCapti, _current$manualCaptio, _previous$manualCapti2, _current$manualCaptio2, _newControls$video, _previous$webcastCont, _current$webcastContr, _previous$meetingFull, _current$meetingFull, _previous$meetingFull2, _current$meetingFull2, _previous$practiceSes, _current$practiceSess, _current$annotationCo, _previous$annotationC, _current$rdcControl, _previous$rdcControl, _current$pollingQACon, _previous$pollingQACo;
158
+ var _current$muteOnEntry, _previous$muteOnEntry, _current$shareControl, _previous$shareContro, _current$disallowUnmu, _previous$disallowUnm, _current$reactions, _previous$reactions, _current$reactions2, _previous$reactions2, _current$viewTheParti, _previous$viewThePart, _current$viewTheParti2, _previous$viewThePart2, _current$viewTheParti3, _previous$viewThePart3, _current$raiseHand, _previous$raiseHand, _current$video, _previous$video, _previous$record, _previous$record2, _current$record, _previous$record3, _current$record2, _previous$record4, _current$record3, _previous$meetingCont, _current$meetingConta, _previous$transcribe, _current$transcribe, _previous$transcribe2, _current$transcribe2, _previous$transcribe3, _current$transcribe3, _previous$transcribe4, _current$transcribe4, _previous$manualCapti, _current$manualCaptio, _previous$manualCapti2, _current$manualCaptio2, _newControls$video, _previous$webcastCont, _current$webcastContr, _previous$meetingFull, _current$meetingFull, _previous$meetingFull2, _current$meetingFull2, _previous$practiceSes, _current$practiceSess, _current$annotationCo, _previous$annotationC, _current$rdcControl, _previous$rdcControl, _current$pollingQACon, _previous$pollingQACo, _current$autoEndMeeti, _previous$autoEndMeet, _current$autoEndMeeti2, _previous$autoEndMeet2, _current$autoEndMeeti3, _previous$autoEndMeet3, _current$autoEndMeeti4, _previous$autoEndMeet4;
151
159
  var previous = ControlsUtils.parse(oldControls);
152
160
  var current = ControlsUtils.parse(newControls);
153
161
  return {
@@ -188,7 +196,8 @@ ControlsUtils.getControls = function (oldControls, newControls) {
188
196
  hasStageViewChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.videoLayout, current === null || current === void 0 ? void 0 : current.videoLayout),
189
197
  hasAnnotationControlChanged: (current === null || current === void 0 ? void 0 : (_current$annotationCo = current.annotationControl) === null || _current$annotationCo === void 0 ? void 0 : _current$annotationCo.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$annotationC = previous.annotationControl) === null || _previous$annotationC === void 0 ? void 0 : _previous$annotationC.enabled),
190
198
  hasRemoteDesktopControlChanged: (current === null || current === void 0 ? void 0 : (_current$rdcControl = current.rdcControl) === null || _current$rdcControl === void 0 ? void 0 : _current$rdcControl.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$rdcControl = previous.rdcControl) === null || _previous$rdcControl === void 0 ? void 0 : _previous$rdcControl.enabled),
191
- hasPollingQAControlChanged: (current === null || current === void 0 ? void 0 : (_current$pollingQACon = current.pollingQAControl) === null || _current$pollingQACon === void 0 ? void 0 : _current$pollingQACon.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$pollingQACo = previous.pollingQAControl) === null || _previous$pollingQACo === void 0 ? void 0 : _previous$pollingQACo.enabled)
199
+ hasPollingQAControlChanged: (current === null || current === void 0 ? void 0 : (_current$pollingQACon = current.pollingQAControl) === null || _current$pollingQACon === void 0 ? void 0 : _current$pollingQACon.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$pollingQACo = previous.pollingQAControl) === null || _previous$pollingQACo === void 0 ? void 0 : _previous$pollingQACo.enabled),
200
+ hasAutoEndMeetingChanged: (current === null || current === void 0 ? void 0 : (_current$autoEndMeeti = current.autoEndMeetingWarning) === null || _current$autoEndMeeti === void 0 ? void 0 : _current$autoEndMeeti.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$autoEndMeet = previous.autoEndMeetingWarning) === null || _previous$autoEndMeet === void 0 ? void 0 : _previous$autoEndMeet.enabled) || (current === null || current === void 0 ? void 0 : (_current$autoEndMeeti2 = current.autoEndMeetingWarning) === null || _current$autoEndMeeti2 === void 0 ? void 0 : _current$autoEndMeeti2.extensionDurationMinutes) !== (previous === null || previous === void 0 ? void 0 : (_previous$autoEndMeet2 = previous.autoEndMeetingWarning) === null || _previous$autoEndMeet2 === void 0 ? void 0 : _previous$autoEndMeet2.extensionDurationMinutes) || (current === null || current === void 0 ? void 0 : (_current$autoEndMeeti3 = current.autoEndMeetingWarning) === null || _current$autoEndMeeti3 === void 0 ? void 0 : _current$autoEndMeeti3.countdownDurationMinutes) !== (previous === null || previous === void 0 ? void 0 : (_previous$autoEndMeet3 = previous.autoEndMeetingWarning) === null || _previous$autoEndMeet3 === void 0 ? void 0 : _previous$autoEndMeet3.countdownDurationMinutes) || (current === null || current === void 0 ? void 0 : (_current$autoEndMeeti4 = current.autoEndMeetingWarning) === null || _current$autoEndMeeti4 === void 0 ? void 0 : _current$autoEndMeeti4.countdownStartedAt) !== (previous === null || previous === void 0 ? void 0 : (_previous$autoEndMeet4 = previous.autoEndMeetingWarning) === null || _previous$autoEndMeet4 === void 0 ? void 0 : _previous$autoEndMeet4.countdownStartedAt)
192
201
  }
193
202
  };
194
203
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","spokenLanguage","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","annotationControl","rdcControl","pollingQAControl","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$transcribe3","_current$transcribe3","_previous$transcribe4","_current$transcribe4","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","_current$annotationCo","_previous$annotationC","_current$rdcControl","_previous$rdcControl","_current$pollingQACon","_previous$pollingQACo","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasTranscribeSpokenLanguageChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","hasAnnotationControlChanged","hasRemoteDesktopControlChanged","hasPollingQAControlChanged","isNeedReplaceMembers","_oldControls$breakout","_controls$breakout","_oldControls$breakout2","_controls$breakout2","groupId","sessionId","getSessionSwitchStatus","oldLocus","newLocus","_oldLocus$controls","_newLocus$controls","_oldLocus$self","_newLocus$participant","_newLocus$participant2","_newLocus$participant3","_newLocus$controls2","_newLocus$controls2$b","_newLocus$controls3","_newLocus$controls3$b","_newLocus$controls3$b2","status","isReturnToMain","isJoinToBreakout","needUseCache","self","isCreator","participants","state","MEETING_STATE","STATES","JOINED","sessionType","BREAKOUTS","SESSION_TYPES","MAIN","groups","BREAKOUT","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS, MEETING_STATE} 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 spokenLanguage: controls.transcribe.spokenLanguage,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\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 = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\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 if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n if (controls?.annotationControl) {\n parsedControls.annotationControl = {\n enabled: controls.annotationControl.enabled,\n };\n }\n\n if (controls?.rdcControl) {\n parsedControls.rdcControl = {\n enabled: controls.rdcControl.enabled,\n };\n }\n\n if (controls?.pollingQAControl) {\n parsedControls.pollingQAControl = {\n enabled: controls.pollingQAControl.enabled,\n };\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 current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\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 hasTranscribeSpokenLanguageChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&\n !!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\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 hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n !!previous?.practiceSession?.enabled,\n !!current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n\n hasAnnotationControlChanged:\n current?.annotationControl?.enabled !== previous?.annotationControl?.enabled,\n\n hasRemoteDesktopControlChanged:\n current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,\n\n hasPollingQAControlChanged:\n current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,\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 {LocusInfo} oldLocus\n * @param {LocusInfo} newLocus\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldLocus: any, newLocus: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldLocus.controls?.breakout || !newLocus.controls?.breakout) {\n return status;\n }\n\n // It is used to fix the timing issue triggered when the creator leaves session to ensure that the member list is complete\n const needUseCache = !!(\n oldLocus.self?.isCreator &&\n newLocus.participants?.length === 1 &&\n newLocus.participants?.[0].isCreator &&\n newLocus.participants?.[0].state === MEETING_STATE.STATES.JOINED &&\n newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls?.breakout?.groups?.length\n );\n\n const isReturnToMain =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n\n status.isReturnToMain = needUseCache || isReturnToMain;\n status.isJoinToBreakout =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.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":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","spokenLanguage","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","annotationControl","rdcControl","pollingQAControl","autoEndMeetingWarning","extensionDurationMinutes","countdownDurationMinutes","countdownStartedAt","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$transcribe3","_current$transcribe3","_previous$transcribe4","_current$transcribe4","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","_current$annotationCo","_previous$annotationC","_current$rdcControl","_previous$rdcControl","_current$pollingQACon","_previous$pollingQACo","_current$autoEndMeeti","_previous$autoEndMeet","_current$autoEndMeeti2","_previous$autoEndMeet2","_current$autoEndMeeti3","_previous$autoEndMeet3","_current$autoEndMeeti4","_previous$autoEndMeet4","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasTranscribeSpokenLanguageChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","hasAnnotationControlChanged","hasRemoteDesktopControlChanged","hasPollingQAControlChanged","hasAutoEndMeetingChanged","isNeedReplaceMembers","_oldControls$breakout","_controls$breakout","_oldControls$breakout2","_controls$breakout2","groupId","sessionId","getSessionSwitchStatus","oldLocus","newLocus","_oldLocus$controls","_newLocus$controls","_oldLocus$self","_newLocus$participant","_newLocus$participant2","_newLocus$participant3","_newLocus$controls2","_newLocus$controls2$b","_newLocus$controls3","_newLocus$controls3$b","_newLocus$controls3$b2","status","isReturnToMain","isJoinToBreakout","needUseCache","self","isCreator","participants","state","MEETING_STATE","STATES","JOINED","sessionType","BREAKOUTS","SESSION_TYPES","MAIN","groups","BREAKOUT","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS, MEETING_STATE} 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 spokenLanguage: controls.transcribe.spokenLanguage,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\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 = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\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 if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n if (controls?.annotationControl) {\n parsedControls.annotationControl = {\n enabled: controls.annotationControl.enabled,\n };\n }\n\n if (controls?.rdcControl) {\n parsedControls.rdcControl = {\n enabled: controls.rdcControl.enabled,\n };\n }\n\n if (controls?.pollingQAControl) {\n parsedControls.pollingQAControl = {\n enabled: controls.pollingQAControl.enabled,\n };\n }\n\n if (controls?.autoEndMeetingWarning) {\n parsedControls.autoEndMeetingWarning = {\n enabled: controls.autoEndMeetingWarning.enabled,\n extensionDurationMinutes: controls.autoEndMeetingWarning.extensionDurationMinutes,\n countdownDurationMinutes: controls.autoEndMeetingWarning.countdownDurationMinutes,\n countdownStartedAt: controls.autoEndMeetingWarning.countdownStartedAt,\n };\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 current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\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 hasTranscribeSpokenLanguageChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&\n !!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\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 hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n !!previous?.practiceSession?.enabled,\n !!current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n\n hasAnnotationControlChanged:\n current?.annotationControl?.enabled !== previous?.annotationControl?.enabled,\n\n hasRemoteDesktopControlChanged:\n current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,\n\n hasPollingQAControlChanged:\n current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,\n\n hasAutoEndMeetingChanged:\n current?.autoEndMeetingWarning?.enabled !== previous?.autoEndMeetingWarning?.enabled ||\n current?.autoEndMeetingWarning?.extensionDurationMinutes !==\n previous?.autoEndMeetingWarning?.extensionDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownDurationMinutes !==\n previous?.autoEndMeetingWarning?.countdownDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownStartedAt !==\n previous?.autoEndMeetingWarning?.countdownStartedAt,\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 {LocusInfo} oldLocus\n * @param {LocusInfo} newLocus\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldLocus: any, newLocus: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldLocus.controls?.breakout || !newLocus.controls?.breakout) {\n return status;\n }\n\n // It is used to fix the timing issue triggered when the creator leaves session to ensure that the member list is complete\n const needUseCache = !!(\n oldLocus.self?.isCreator &&\n newLocus.participants?.length === 1 &&\n newLocus.participants?.[0].isCreator &&\n newLocus.participants?.[0].state === MEETING_STATE.STATES.JOINED &&\n newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls?.breakout?.groups?.length\n );\n\n const isReturnToMain =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n\n status.isReturnToMain = needUseCache || isReturnToMain;\n status.isJoinToBreakout =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.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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"}
@@ -296,7 +296,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
296
296
  // For 1:1 space meeting the conversation Url does not exist in locus.conversation
297
297
  this.updateConversationUrl(locus.conversationUrl, locus.info);
298
298
  this.updateControls(locus.controls, locus.self);
299
- this.updateLocusUrl(locus.url);
299
+ this.updateLocusUrl(locus.url, _controlsUtils.default.isMainSessionDTO(locus));
300
300
  this.updateFullState(locus.fullState);
301
301
  this.updateMeetingInfo(locus.info);
302
302
  this.updateEmbeddedApps(locus.embeddedApps);
@@ -493,7 +493,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
493
493
  this.updateCreated(locus.created);
494
494
  this.updateFullState(locus.fullState);
495
495
  this.updateHostInfo(locus.host);
496
- this.updateLocusUrl(locus.url);
496
+ this.updateLocusUrl(locus.url, _controlsUtils.default.isMainSessionDTO(locus));
497
497
  this.updateMeetingInfo(locus.info, locus.self);
498
498
  this.updateMediaShares(locus.mediaShares);
499
499
  this.updateParticipantsUrl(locus.participantsUrl);
@@ -786,6 +786,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
786
786
  hasAnnotationControlChanged = _ControlsUtils$getCon2.hasAnnotationControlChanged,
787
787
  hasRemoteDesktopControlChanged = _ControlsUtils$getCon2.hasRemoteDesktopControlChanged,
788
788
  hasPollingQAControlChanged = _ControlsUtils$getCon2.hasPollingQAControlChanged,
789
+ hasAutoEndMeetingChanged = _ControlsUtils$getCon2.hasAutoEndMeetingChanged,
789
790
  current = _ControlsUtils$getCon.current;
790
791
  if (hasMuteOnEntryChanged) {
791
792
  this.emitScoped({
@@ -1006,6 +1007,14 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
1006
1007
  state: current.pollingQAControl
1007
1008
  });
1008
1009
  }
1010
+ if (hasAutoEndMeetingChanged) {
1011
+ this.emitScoped({
1012
+ file: 'locus-info',
1013
+ function: 'updateControls'
1014
+ }, _constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, {
1015
+ state: current.autoEndMeetingWarning
1016
+ });
1017
+ }
1009
1018
  this.controls = controls;
1010
1019
  }
1011
1020
  }
@@ -1459,12 +1468,14 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
1459
1468
  /**
1460
1469
  * handles when the locus.url is updated
1461
1470
  * @param {String} url
1471
+ * @param {Boolean} isMainLocus
1462
1472
  * @returns {undefined}
1463
1473
  * emits internal event locus_info_update_url
1464
1474
  */
1465
1475
  }, {
1466
1476
  key: "updateLocusUrl",
1467
1477
  value: function updateLocusUrl(url) {
1478
+ var isMainLocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1468
1479
  if (url && this.url !== url) {
1469
1480
  this.url = url;
1470
1481
  this.updateMeeting({
@@ -1473,7 +1484,10 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
1473
1484
  this.emitScoped({
1474
1485
  file: 'locus-info',
1475
1486
  function: 'updateLocusUrl'
1476
- }, _constants.EVENTS.LOCUS_INFO_UPDATE_URL, url);
1487
+ }, _constants.EVENTS.LOCUS_INFO_UPDATE_URL, {
1488
+ url: url,
1489
+ isMainLocus: isMainLocus
1490
+ });
1477
1491
  }
1478
1492
  }
1479
1493