@webex/plugin-meetings 3.0.0-beta.55 → 3.0.0-beta.57

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.
@@ -130,7 +130,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
130
130
  sessionId: this.sessionId
131
131
  });
132
132
  },
133
- version: "3.0.0-beta.55"
133
+ version: "3.0.0-beta.57"
134
134
  });
135
135
  var _default = Breakout;
136
136
  exports.default = _default;
@@ -718,7 +718,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
718
718
  }
719
719
  });
720
720
  },
721
- version: "3.0.0-beta.55"
721
+ version: "3.0.0-beta.57"
722
722
  });
723
723
  var _default = Breakouts;
724
724
  exports.default = _default;
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
3
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
10
  _Object$defineProperty(exports, "__esModule", {
6
11
  value: true
7
12
  });
8
13
  exports.default = void 0;
9
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
14
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
10
15
  var _entries = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/entries"));
16
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
11
17
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
12
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
13
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
@@ -20,6 +26,8 @@ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy")
20
26
  var _enums = _interopRequireDefault(require("./enums"));
21
27
  var _util = _interopRequireDefault(require("./util"));
22
28
  var _constants2 = require("./constants");
29
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
23
31
  /**
24
32
  * docs
25
33
  * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html
@@ -163,28 +171,39 @@ var ControlsOptionsManager = /*#__PURE__*/function () {
163
171
  }, {
164
172
  key: "setControls",
165
173
  value: function setControls(setting) {
166
- var muteUnmuteAll = (0, _keys.default)(setting).includes(_enums.default.muted);
167
- var body = muteUnmuteAll ? {
168
- audio: {}
169
- } : {};
170
- for (var _i = 0, _Object$entries = (0, _entries.default)(setting); _i < _Object$entries.length; _i++) {
171
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
172
- key = _Object$entries$_i[0],
173
- value = _Object$entries$_i[1];
174
- _loggerProxy.default.logger.log("ControlsOptionsManager:index#setControls --> ".concat(key, " [").concat(value, "]"));
175
- // mute unmute all has different body structure than toggling disable hard mute
176
- // or mute on entry by themselves
177
- if (muteUnmuteAll) {
178
- if (_util.default !== null && _util.default !== void 0 && _util.default["".concat(value ? _constants2.CAN_SET : _constants2.CAN_UNSET).concat(_enums.default.muted)](this.displayHints)) {
179
- body.audio[(0, _camelCase2.default)(key)] = value;
180
- } else {
181
- return _promise.default.reject(new _permission.default("".concat(_enums.default.muted, " [").concat(value, "] not allowed, due to moderator property.")));
182
- }
183
- } else if (_util.default !== null && _util.default !== void 0 && _util.default["".concat(value ? _constants2.CAN_SET : _constants2.CAN_UNSET).concat(key)](this.displayHints)) {
184
- body[(0, _camelCase2.default)(key)] = (0, _defineProperty2.default)({}, _constants2.ENABLED, value);
185
- } else {
186
- return _promise.default.reject(new _permission.default("".concat(key, " [").concat(value, "] not allowed, due to moderator property.")));
174
+ var _this = this;
175
+ _loggerProxy.default.logger.log("ControlsOptionsManager:index#setControls --> ".concat((0, _stringify.default)(setting)));
176
+ var body = {};
177
+ var error;
178
+ (0, _entries.default)(setting).forEach(function (_ref) {
179
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
180
+ key = _ref2[0],
181
+ value = _ref2[1];
182
+ if (!(_util.default !== null && _util.default !== void 0 && _util.default["".concat(value ? _constants2.CAN_SET : _constants2.CAN_UNSET).concat(key)](_this.displayHints))) {
183
+ error = new _permission.default("".concat(key, " [").concat(value, "] not allowed, due to moderator property."));
184
+ }
185
+ if (error) {
186
+ return;
187
187
  }
188
+ switch (key) {
189
+ case _enums.default.muted:
190
+ body.audio = body.audio ? _objectSpread(_objectSpread({}, body.audio), {}, (0, _defineProperty2.default)({}, (0, _camelCase2.default)(key), value)) : (0, _defineProperty2.default)({}, (0, _camelCase2.default)(key), value);
191
+ break;
192
+ case _enums.default.disallowUnmute:
193
+ case _enums.default.muteOnEntry:
194
+ if ((0, _keys.default)(setting).includes(_enums.default.muted)) {
195
+ body.audio = body.audio ? _objectSpread(_objectSpread({}, body.audio), {}, (0, _defineProperty2.default)({}, (0, _camelCase2.default)(key), value)) : (0, _defineProperty2.default)({}, (0, _camelCase2.default)(key), value);
196
+ body.audio[(0, _camelCase2.default)(key)] = value;
197
+ } else {
198
+ body[(0, _camelCase2.default)(key)] = (0, _defineProperty2.default)({}, _constants2.ENABLED, value);
199
+ }
200
+ break;
201
+ default:
202
+ error = new _permission.default("".concat(key, " [").concat(value, "] not allowed, due to moderator property."));
203
+ }
204
+ });
205
+ if (error) {
206
+ return _promise.default.reject(error);
188
207
  }
189
208
 
190
209
  // @ts-ignore
@@ -1 +1 @@
1
- {"version":3,"names":["ControlsOptionsManager","request","options","initialize","set","extract","url","locusUrl","hints","displayHints","setDisplayHints","setLocusUrl","setting","muteUnmuteAll","includes","Setting","muted","body","audio","key","value","LoggerProxy","logger","log","Util","CAN_SET","CAN_UNSET","reject","PermissionError","ENABLED","uri","CONTROLS","method","HTTP_VERBS","PATCH","enabled","setControls","muteOnEntry","disallowUnmute","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 Setting from './enums';\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 * @param {Setting} setting\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: {[key in Setting]?: boolean}): Promise<any> {\n const muteUnmuteAll = Object.keys(setting).includes(Setting.muted);\n\n const body = muteUnmuteAll ? {audio: {}} : {};\n for (const [key, value] of Object.entries(setting)) {\n LoggerProxy.logger.log(`ControlsOptionsManager:index#setControls --> ${key} [${value}]`);\n // mute unmute all has different body structure than toggling disable hard mute\n // or mute on entry by themselves\n if (muteUnmuteAll) {\n if (Util?.[`${value ? CAN_SET : CAN_UNSET}${Setting.muted}`](this.displayHints)) {\n body.audio[camelCase(key)] = value;\n } else {\n return Promise.reject(\n new PermissionError(\n `${Setting.muted} [${value}] not allowed, due to moderator property.`\n )\n );\n }\n } else if (Util?.[`${value ? CAN_SET : CAN_UNSET}${key}`](this.displayHints)) {\n body[camelCase(key)] = {\n [ENABLED]: value,\n };\n } else {\n return Promise.reject(\n new PermissionError(`${key} [${value}] not allowed, due to moderator property.`)\n );\n }\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 * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteAll(\n mutedEnabled: boolean,\n disallowUnmuteEnabled: boolean,\n muteOnEntryEnabled: boolean\n ): Promise<any> {\n return this.setControls({\n [Setting.muted]: mutedEnabled,\n [Setting.disallowUnmute]: disallowUnmuteEnabled,\n [Setting.muteOnEntry]: muteOnEntryEnabled,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ControlsOptionsManager","request","options","initialize","set","extract","url","locusUrl","hints","displayHints","setDisplayHints","setLocusUrl","setting","LoggerProxy","logger","log","body","error","forEach","key","value","Util","CAN_SET","CAN_UNSET","PermissionError","Setting","muted","audio","disallowUnmute","muteOnEntry","includes","ENABLED","reject","uri","CONTROLS","method","HTTP_VERBS","PATCH","enabled","setControls","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 Setting from './enums';\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 * @param {Setting} setting\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: {[key in Setting]?: boolean}): 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 Object.entries(setting).forEach(([key, value]) => {\n if (!Util?.[`${value ? CAN_SET : CAN_UNSET}${key}`](this.displayHints)) {\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 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 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 * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteAll(\n mutedEnabled: boolean,\n disallowUnmuteEnabled: boolean,\n muteOnEntryEnabled: boolean\n ): Promise<any> {\n return this.setControls({\n [Setting.muted]: mutedEnabled,\n [Setting.disallowUnmute]: disallowUnmuteEnabled,\n [Setting.muteOnEntry]: muteOnEntryEnabled,\n });\n }\n}\n"],"mappings":"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"}
@@ -90,18 +90,14 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
90
90
  var _BrowserDetection = (0, _browserDetection.default)(),
91
91
  isBrowser = _BrowserDetection.isBrowser;
92
92
  var logRequest = function logRequest(request, _ref) {
93
- var _ref$header = _ref.header,
94
- header = _ref$header === void 0 ? '' : _ref$header,
95
- _ref$success = _ref.success,
96
- success = _ref$success === void 0 ? '' : _ref$success,
97
- _ref$failure = _ref.failure,
98
- failure = _ref$failure === void 0 ? '' : _ref$failure;
99
- _loggerProxy.default.logger.info(header);
93
+ var _ref$logText = _ref.logText,
94
+ logText = _ref$logText === void 0 ? '' : _ref$logText;
95
+ _loggerProxy.default.logger.info("".concat(logText, " - sending request"));
100
96
  return request.then(function (arg) {
101
- _loggerProxy.default.logger.info(success);
97
+ _loggerProxy.default.logger.info("".concat(logText, " - has been successfully sent"));
102
98
  return arg;
103
99
  }).catch(function (error) {
104
- _loggerProxy.default.logger.error(failure, error);
100
+ _loggerProxy.default.logger.error("".concat(logText, " - has failed: "), error);
105
101
  throw error;
106
102
  });
107
103
  };
@@ -682,7 +678,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
682
678
  });
683
679
  _this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.ROAP_FAILURE, _this.handleRoapFailure);
684
680
  _this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.ROAP_MESSAGE_TO_SEND, function (event) {
685
- var LOG_HEADER = 'Meeting:index#setupMediaConnectionListeners.ROAP_MESSAGE_TO_SEND -->';
681
+ var LOG_HEADER = "Meeting:index#setupMediaConnectionListeners.ROAP_MESSAGE_TO_SEND --> correlationId=".concat(_this.correlationId);
686
682
  switch (event.roapMessage.messageType) {
687
683
  case 'OK':
688
684
  _metrics.default.postEvent({
@@ -694,9 +690,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
694
690
  mediaId: _this.mediaId,
695
691
  correlationId: _this.correlationId
696
692
  }), {
697
- header: "".concat(LOG_HEADER, " Send Roap OK"),
698
- success: "".concat(LOG_HEADER, " Successfully send roap OK"),
699
- failure: "".concat(LOG_HEADER, " Error joining the call on send roap OK, ")
693
+ logText: "".concat(LOG_HEADER, " Roap OK")
700
694
  });
701
695
  break;
702
696
  case 'OFFER':
@@ -712,9 +706,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
712
706
  // or can pass meeting ID
713
707
  reconnect: _this.reconnectionManager.isReconnectInProgress()
714
708
  }), {
715
- header: "".concat(LOG_HEADER, " Send Roap Offer"),
716
- success: "".concat(LOG_HEADER, " Successfully send roap offer"),
717
- failure: "".concat(LOG_HEADER, " Error joining the call on send roap offer, ")
709
+ logText: "".concat(LOG_HEADER, " Roap Offer")
718
710
  });
719
711
  break;
720
712
  case 'ANSWER':
@@ -728,9 +720,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
728
720
  mediaId: _this.mediaId,
729
721
  correlationId: _this.correlationId
730
722
  }), {
731
- header: "".concat(LOG_HEADER, " Send Roap Answer."),
732
- success: "".concat(LOG_HEADER, " Successfully send roap answer"),
733
- failure: "".concat(LOG_HEADER, " Error joining the call on send roap answer, ")
723
+ logText: "".concat(LOG_HEADER, " Roap Answer")
734
724
  }).catch(function (error) {
735
725
  var metricName = _constants2.default.ROAP_ANSWER_FAILURE;
736
726
  var data = {
@@ -759,9 +749,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
759
749
  mediaId: _this.mediaId,
760
750
  correlationId: _this.correlationId
761
751
  }), {
762
- header: "".concat(LOG_HEADER, " Send Roap Error."),
763
- success: "".concat(LOG_HEADER, " Successfully send roap error"),
764
- failure: "".concat(LOG_HEADER, " Failed to send roap error, ")
752
+ logText: "".concat(LOG_HEADER, " Roap Error (").concat(event.roapMessage.errorType, ")")
765
753
  });
766
754
  break;
767
755
  default:
@@ -832,7 +820,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
832
820
  locus_id: _this.locusId
833
821
  });
834
822
  };
835
- _loggerProxy.default.logger.info("Meeting:index#setupMediaConnectionListeners --> connection state changed to ".concat(event.state));
823
+ _loggerProxy.default.logger.info("Meeting:index#setupMediaConnectionListeners --> correlationId=".concat(_this.correlationId, " connection state changed to ").concat(event.state));
836
824
  switch (event.state) {
837
825
  case _internalMediaCore.ConnectionState.Connecting:
838
826
  _metrics.default.postEvent({
@@ -3816,7 +3804,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3816
3804
  if (!this.audio) {
3817
3805
  return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
3818
3806
  }
3819
- var LOG_HEADER = 'Meeting:index#muteAudio -->';
3820
3807
 
3821
3808
  // First, stop sending the local audio media
3822
3809
  return logRequest(this.audio.handleClientRequest(this, true).then(function () {
@@ -3838,9 +3825,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3838
3825
  });
3839
3826
  throw error;
3840
3827
  }), {
3841
- header: "".concat(LOG_HEADER, " muting audio"),
3842
- success: "".concat(LOG_HEADER, " muted audio successfully"),
3843
- failure: "".concat(LOG_HEADER, " muting audio failed, ")
3828
+ logText: "Meeting:index#muteAudio --> correlationId=".concat(this.correlationId, " muting audio")
3844
3829
  });
3845
3830
  }
3846
3831
 
@@ -3866,7 +3851,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3866
3851
  if (!this.audio) {
3867
3852
  return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
3868
3853
  }
3869
- var LOG_HEADER = 'Meeting:index#unmuteAudio -->';
3870
3854
 
3871
3855
  // First, send the control to unmute the participant on the server
3872
3856
  return logRequest(this.audio.handleClientRequest(this, false).then(function () {
@@ -3888,9 +3872,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3888
3872
  });
3889
3873
  throw error;
3890
3874
  }), {
3891
- header: "".concat(LOG_HEADER, " unmuting audio"),
3892
- success: "".concat(LOG_HEADER, " unmuted audio successfully"),
3893
- failure: "".concat(LOG_HEADER, " unmuting audio failed, ")
3875
+ logText: "Meeting:index#unmuteAudio --> correlationId=".concat(this.correlationId, " unmuting audio")
3894
3876
  });
3895
3877
  }
3896
3878
 
@@ -3916,7 +3898,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3916
3898
  if (!this.video) {
3917
3899
  return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
3918
3900
  }
3919
- var LOG_HEADER = 'Meeting:index#muteVideo -->';
3920
3901
  return logRequest(this.video.handleClientRequest(this, true).then(function () {
3921
3902
  _util.default.handleVideoLogging(_this28.mediaProperties.videoTrack);
3922
3903
  _metrics.default.postEvent({
@@ -3936,9 +3917,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3936
3917
  });
3937
3918
  throw error;
3938
3919
  }), {
3939
- header: "".concat(LOG_HEADER, " muting video"),
3940
- success: "".concat(LOG_HEADER, " muted video successfully"),
3941
- failure: "".concat(LOG_HEADER, " muting video failed, ")
3920
+ logText: "Meeting:index#muteVideo --> correlationId=".concat(this.correlationId, " muting video")
3942
3921
  });
3943
3922
  }
3944
3923
 
@@ -3964,7 +3943,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3964
3943
  if (!this.video) {
3965
3944
  return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
3966
3945
  }
3967
- var LOG_HEADER = 'Meeting:index#unmuteVideo -->';
3968
3946
  return logRequest(this.video.handleClientRequest(this, false).then(function () {
3969
3947
  _util.default.handleVideoLogging(_this29.mediaProperties.videoTrack);
3970
3948
  _metrics.default.postEvent({
@@ -3984,9 +3962,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3984
3962
  });
3985
3963
  throw error;
3986
3964
  }), {
3987
- header: "".concat(LOG_HEADER, " unmuting video"),
3988
- success: "".concat(LOG_HEADER, " unmuted video successfully"),
3989
- failure: "".concat(LOG_HEADER, " unmuting video failed, ")
3965
+ logText: "Meeting:index#unmuteVideo --> correlationId=".concat(this.correlationId, " unmuting video")
3990
3966
  });
3991
3967
  }
3992
3968