@webex/plugin-meetings 3.8.1-next.23 → 3.8.1-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.
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "3.8.1-next.23"
212
+ version: "3.8.1-next.25"
213
213
  });
214
214
  var _default = exports.default = Breakout;
215
215
  //# sourceMappingURL=breakout.js.map
@@ -1110,7 +1110,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1110
1110
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1111
1111
  }
1112
1112
  },
1113
- version: "3.8.1-next.23"
1113
+ version: "3.8.1-next.25"
1114
1114
  });
1115
1115
  var _default = exports.default = Breakouts;
1116
1116
  //# sourceMappingURL=index.js.map
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
373
373
  throw error;
374
374
  });
375
375
  },
376
- version: "3.8.1-next.23"
376
+ version: "3.8.1-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.8.1-next.23"
21
+ version: "3.8.1-next.25"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -58,7 +58,9 @@ var BrbState = exports.BrbState = /*#__PURE__*/function () {
58
58
  value: function enable(enabled, sendSlotManager) {
59
59
  var _this = this;
60
60
  this.state.client.enabled = enabled;
61
- return this.applyClientStateToServer(sendSlotManager).finally(function () {
61
+
62
+ // Don't set the source state override if enabling brb fails
63
+ return this.applyClientStateToServer(sendSlotManager).then(function () {
62
64
  sendSlotManager.setSourceStateOverride(_internalMediaCore.MediaType.VideoMain, _this.state.client.enabled ? 'away' : null);
63
65
  });
64
66
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","createBrbState","exports","meeting","enabled","LoggerProxy","logger","info","concat","id","brbState","BrbState","_classCallCheck2","default","_defineProperty2","state","client","server","syncToServerInProgress","_createClass2","key","value","enable","sendSlotManager","_this","applyClientStateToServer","finally","setSourceStateOverride","MediaType","VideoMain","_this2","_promise","resolve","remoteBrbRequiresSync","sendLocalBrbStateToServer","then","handleServerBrbUpdate","catch","error","warn","reject","_sendLocalBrbStateToServer","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","_errorMessage","_error","wrap","_callee$","_context","prev","next","isMultistream","Error","abrupt","mediaProperties","webrtcMediaConnection","meetingRequest","setBrb","locusUrl","deviceUrl","selfId","stop","apply","arguments"],"sources":["brbState.ts"],"sourcesContent":["import {MediaType} from '@webex/internal-media-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport type Meeting from '.';\nimport SendSlotManager from '../multistream/sendSlotManager';\n\nexport const createBrbState = (meeting: Meeting, enabled: boolean) => {\n LoggerProxy.logger.info(\n `Meeting:brbState#createBrbState: creating BrbState for meeting id ${meeting?.id}`\n );\n\n const brbState = new BrbState(meeting, enabled);\n\n return brbState;\n};\n\n/** The purpose of this class is to manage the local and remote brb state\n * and make sure that the server state always matches the last requested state by the client.\n */\nexport class BrbState {\n state: {\n client: {\n enabled: boolean;\n };\n server: {\n enabled: boolean;\n };\n syncToServerInProgress: boolean;\n };\n\n meeting: Meeting;\n\n /**\n * Constructor\n *\n * @param {Meeting} meeting - the meeting object\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(meeting: Meeting, enabled: boolean) {\n this.meeting = meeting;\n this.state = {\n client: {\n enabled,\n },\n server: {\n enabled: false,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Enables/disables brb\n *\n * @param {boolean} enabled\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n public enable(enabled: boolean, sendSlotManager: SendSlotManager) {\n this.state.client.enabled = enabled;\n\n return this.applyClientStateToServer(sendSlotManager).finally(() => {\n sendSlotManager.setSourceStateOverride(\n MediaType.VideoMain,\n this.state.client.enabled ? 'away' : null\n );\n });\n }\n\n /**\n * Updates the server local and remote brb values so that they match the current client desired state.\n *\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n private applyClientStateToServer(sendSlotManager: SendSlotManager) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: request to server in progress, we need to wait for it to complete`\n );\n\n return Promise.resolve();\n }\n\n const remoteBrbRequiresSync = this.state.client.enabled !== this.state.server.enabled;\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: remoteBrbRequiresSync: ${remoteBrbRequiresSync}`\n );\n\n if (!remoteBrbRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: client state already matching server state, nothing to do`\n );\n\n return Promise.resolve();\n }\n\n this.state.syncToServerInProgress = true;\n\n return this.sendLocalBrbStateToServer()\n .then(() => {\n this.state.syncToServerInProgress = false;\n\n // This is a workaround for the fact that the server does not send the brb state\n // in the locus update when a user joins from multiple devices but not all devices are requested brb.\n // In the future, this could be improved with a new brb locus update handler\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-655626\n this.handleServerBrbUpdate(this.state.client.enabled);\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(sendSlotManager);\n })\n .catch((error) => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: Error: ${error}`);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Send the local brb state to the server\n *\n * @returns {Promise}\n */\n private async sendLocalBrbStateToServer() {\n const {enabled} = this.state.client;\n\n if (!this.meeting.isMultistream) {\n const errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: Not a multistream meeting';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n if (!this.meeting.mediaProperties.webrtcMediaConnection) {\n const errorMessage =\n 'Meeting:brbState#sendLocalBrbStateToServer: WebRTC media connection is not defined';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n // this logic should be applied only to multistream meetings\n return this.meeting.meetingRequest\n .setBrb({\n enabled,\n locusUrl: this.meeting.locusUrl,\n deviceUrl: this.meeting.deviceUrl,\n selfId: this.meeting.selfId,\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:brbState#sendLocalBrbStateToServer: Error ', error);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * This method should be called whenever the server brb state is changed\n *\n * @param {Boolean} [enabled] true if user has brb enabled, false otherwise\n * @returns {undefined}\n */\n public handleServerBrbUpdate(enabled?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:brbState#handleServerBrbUpdate: updating server brb to (${enabled})`\n );\n this.state.server.enabled = !!enabled;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","createBrbState","exports","meeting","enabled","LoggerProxy","logger","info","concat","id","brbState","BrbState","_classCallCheck2","default","_defineProperty2","state","client","server","syncToServerInProgress","_createClass2","key","value","enable","sendSlotManager","_this","applyClientStateToServer","then","setSourceStateOverride","MediaType","VideoMain","_this2","_promise","resolve","remoteBrbRequiresSync","sendLocalBrbStateToServer","handleServerBrbUpdate","catch","error","warn","reject","_sendLocalBrbStateToServer","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","_errorMessage","_error","wrap","_callee$","_context","prev","next","isMultistream","Error","abrupt","mediaProperties","webrtcMediaConnection","meetingRequest","setBrb","locusUrl","deviceUrl","selfId","stop","apply","arguments"],"sources":["brbState.ts"],"sourcesContent":["import {MediaType} from '@webex/internal-media-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport type Meeting from '.';\nimport SendSlotManager from '../multistream/sendSlotManager';\n\nexport const createBrbState = (meeting: Meeting, enabled: boolean) => {\n LoggerProxy.logger.info(\n `Meeting:brbState#createBrbState: creating BrbState for meeting id ${meeting?.id}`\n );\n\n const brbState = new BrbState(meeting, enabled);\n\n return brbState;\n};\n\n/** The purpose of this class is to manage the local and remote brb state\n * and make sure that the server state always matches the last requested state by the client.\n */\nexport class BrbState {\n state: {\n client: {\n enabled: boolean;\n };\n server: {\n enabled: boolean;\n };\n syncToServerInProgress: boolean;\n };\n\n meeting: Meeting;\n\n /**\n * Constructor\n *\n * @param {Meeting} meeting - the meeting object\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(meeting: Meeting, enabled: boolean) {\n this.meeting = meeting;\n this.state = {\n client: {\n enabled,\n },\n server: {\n enabled: false,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Enables/disables brb\n *\n * @param {boolean} enabled\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n public enable(enabled: boolean, sendSlotManager: SendSlotManager) {\n this.state.client.enabled = enabled;\n\n // Don't set the source state override if enabling brb fails\n return this.applyClientStateToServer(sendSlotManager).then(() => {\n sendSlotManager.setSourceStateOverride(\n MediaType.VideoMain,\n this.state.client.enabled ? 'away' : null\n );\n });\n }\n\n /**\n * Updates the server local and remote brb values so that they match the current client desired state.\n *\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n private applyClientStateToServer(sendSlotManager: SendSlotManager) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: request to server in progress, we need to wait for it to complete`\n );\n\n return Promise.resolve();\n }\n\n const remoteBrbRequiresSync = this.state.client.enabled !== this.state.server.enabled;\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: remoteBrbRequiresSync: ${remoteBrbRequiresSync}`\n );\n\n if (!remoteBrbRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: client state already matching server state, nothing to do`\n );\n\n return Promise.resolve();\n }\n\n this.state.syncToServerInProgress = true;\n\n return this.sendLocalBrbStateToServer()\n .then(() => {\n this.state.syncToServerInProgress = false;\n\n // This is a workaround for the fact that the server does not send the brb state\n // in the locus update when a user joins from multiple devices but not all devices are requested brb.\n // In the future, this could be improved with a new brb locus update handler\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-655626\n this.handleServerBrbUpdate(this.state.client.enabled);\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(sendSlotManager);\n })\n .catch((error) => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: Error: ${error}`);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Send the local brb state to the server\n *\n * @returns {Promise}\n */\n private async sendLocalBrbStateToServer() {\n const {enabled} = this.state.client;\n\n if (!this.meeting.isMultistream) {\n const errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: Not a multistream meeting';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n if (!this.meeting.mediaProperties.webrtcMediaConnection) {\n const errorMessage =\n 'Meeting:brbState#sendLocalBrbStateToServer: WebRTC media connection is not defined';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n // this logic should be applied only to multistream meetings\n return this.meeting.meetingRequest\n .setBrb({\n enabled,\n locusUrl: this.meeting.locusUrl,\n deviceUrl: this.meeting.deviceUrl,\n selfId: this.meeting.selfId,\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:brbState#sendLocalBrbStateToServer: Error ', error);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * This method should be called whenever the server brb state is changed\n *\n * @param {Boolean} [enabled] true if user has brb enabled, false otherwise\n * @returns {undefined}\n */\n public handleServerBrbUpdate(enabled?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:brbState#handleServerBrbUpdate: updating server brb to (${enabled})`\n );\n this.state.server.enabled = !!enabled;\n }\n}\n"],"mappings":"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"}
@@ -458,7 +458,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
458
458
  }, _callee7);
459
459
  }))();
460
460
  },
461
- version: "3.8.1-next.23"
461
+ version: "3.8.1-next.25"
462
462
  });
463
463
  var _default = exports.default = Webinar;
464
464
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -43,13 +43,13 @@
43
43
  "@webex/eslint-config-legacy": "0.0.0",
44
44
  "@webex/jest-config-legacy": "0.0.0",
45
45
  "@webex/legacy-tools": "0.0.0",
46
- "@webex/plugin-meetings": "3.8.1-next.23",
47
- "@webex/plugin-rooms": "3.8.1-next.6",
48
- "@webex/test-helper-chai": "3.8.1-next.9",
49
- "@webex/test-helper-mocha": "3.8.1-next.9",
50
- "@webex/test-helper-mock-webex": "3.8.1-next.9",
51
- "@webex/test-helper-retry": "3.8.1-next.9",
52
- "@webex/test-helper-test-users": "3.8.1-next.9",
46
+ "@webex/plugin-meetings": "3.8.1-next.25",
47
+ "@webex/plugin-rooms": "3.8.1-next.7",
48
+ "@webex/test-helper-chai": "3.8.1-next.10",
49
+ "@webex/test-helper-mocha": "3.8.1-next.10",
50
+ "@webex/test-helper-mock-webex": "3.8.1-next.10",
51
+ "@webex/test-helper-retry": "3.8.1-next.10",
52
+ "@webex/test-helper-test-users": "3.8.1-next.10",
53
53
  "chai": "^4.3.4",
54
54
  "chai-as-promised": "^7.1.1",
55
55
  "eslint": "^8.24.0",
@@ -61,23 +61,23 @@
61
61
  "typescript": "^4.7.4"
62
62
  },
63
63
  "dependencies": {
64
- "@webex/common": "3.8.1-next.9",
64
+ "@webex/common": "3.8.1-next.10",
65
65
  "@webex/event-dictionary-ts": "^1.0.1819",
66
66
  "@webex/internal-media-core": "2.18.4",
67
- "@webex/internal-plugin-conversation": "3.8.1-next.9",
68
- "@webex/internal-plugin-device": "3.8.1-next.9",
69
- "@webex/internal-plugin-llm": "3.8.1-next.9",
70
- "@webex/internal-plugin-mercury": "3.8.1-next.9",
71
- "@webex/internal-plugin-metrics": "3.8.1-next.9",
72
- "@webex/internal-plugin-support": "3.8.1-next.9",
73
- "@webex/internal-plugin-user": "3.8.1-next.9",
74
- "@webex/internal-plugin-voicea": "3.8.1-next.23",
75
- "@webex/media-helpers": "3.8.1-next.12",
76
- "@webex/plugin-people": "3.8.1-next.9",
77
- "@webex/plugin-rooms": "3.8.1-next.6",
67
+ "@webex/internal-plugin-conversation": "3.8.1-next.10",
68
+ "@webex/internal-plugin-device": "3.8.1-next.10",
69
+ "@webex/internal-plugin-llm": "3.8.1-next.10",
70
+ "@webex/internal-plugin-mercury": "3.8.1-next.10",
71
+ "@webex/internal-plugin-metrics": "3.8.1-next.10",
72
+ "@webex/internal-plugin-support": "3.8.1-next.10",
73
+ "@webex/internal-plugin-user": "3.8.1-next.10",
74
+ "@webex/internal-plugin-voicea": "3.8.1-next.25",
75
+ "@webex/media-helpers": "3.8.1-next.13",
76
+ "@webex/plugin-people": "3.8.1-next.10",
77
+ "@webex/plugin-rooms": "3.8.1-next.7",
78
78
  "@webex/ts-sdp": "^1.8.1",
79
79
  "@webex/web-capabilities": "^1.6.0",
80
- "@webex/webex-core": "3.8.1-next.9",
80
+ "@webex/webex-core": "3.8.1-next.10",
81
81
  "ampersand-collection": "^2.0.2",
82
82
  "bowser": "^2.11.0",
83
83
  "btoa": "^1.2.1",
@@ -93,5 +93,5 @@
93
93
  "//": [
94
94
  "TODO: upgrade jwt-decode when moving to node 18"
95
95
  ],
96
- "version": "3.8.1-next.23"
96
+ "version": "3.8.1-next.25"
97
97
  }
@@ -58,7 +58,8 @@ export class BrbState {
58
58
  public enable(enabled: boolean, sendSlotManager: SendSlotManager) {
59
59
  this.state.client.enabled = enabled;
60
60
 
61
- return this.applyClientStateToServer(sendSlotManager).finally(() => {
61
+ // Don't set the source state override if enabling brb fails
62
+ return this.applyClientStateToServer(sendSlotManager).then(() => {
62
63
  sendSlotManager.setSourceStateOverride(
63
64
  MediaType.VideoMain,
64
65
  this.state.client.enabled ? 'away' : null
@@ -146,9 +146,7 @@ describe('plugin-meetings', () => {
146
146
  await expect(enablePromise).to.be.rejectedWith(error);
147
147
 
148
148
  assert.isFalse(brbState.state.syncToServerInProgress);
149
- assert.isTrue(
150
- meeting.sendSlotManager.setSourceStateOverride.calledWith(MediaType.VideoMain, 'away')
151
- );
149
+ expect(meeting.sendSlotManager.setSourceStateOverride.called).to.be.false;
152
150
  });
153
151
  });
154
152
  });