@webex/plugin-meetings 3.6.0-next.2 → 3.6.0-next.3

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.
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
62
62
  updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
63
63
  this.set('canManageWebcast', canManageWebcast);
64
64
  },
65
- version: "3.6.0-next.2"
65
+ version: "3.6.0-next.3"
66
66
  });
67
67
  var _default = exports.default = Webinar;
68
68
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -43,7 +43,7 @@
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.6.0-next.2",
46
+ "@webex/plugin-meetings": "3.6.0-next.3",
47
47
  "@webex/plugin-rooms": "3.5.0-next.23",
48
48
  "@webex/test-helper-chai": "3.5.0-next.21",
49
49
  "@webex/test-helper-mocha": "3.5.0-next.21",
@@ -70,7 +70,7 @@
70
70
  "@webex/internal-plugin-metrics": "3.5.0-next.21",
71
71
  "@webex/internal-plugin-support": "3.5.0-next.23",
72
72
  "@webex/internal-plugin-user": "3.5.0-next.21",
73
- "@webex/internal-plugin-voicea": "3.6.0-next.2",
73
+ "@webex/internal-plugin-voicea": "3.6.0-next.3",
74
74
  "@webex/media-helpers": "3.5.0-next.22",
75
75
  "@webex/plugin-people": "3.5.0-next.21",
76
76
  "@webex/plugin-rooms": "3.5.0-next.23",
@@ -91,5 +91,5 @@
91
91
  "//": [
92
92
  "TODO: upgrade jwt-decode when moving to node 18"
93
93
  ],
94
- "version": "3.6.0-next.2"
94
+ "version": "3.6.0-next.3"
95
95
  }
@@ -8735,15 +8735,19 @@ export default class Meeting extends StatelessWebexPlugin {
8735
8735
  return;
8736
8736
  }
8737
8737
 
8738
- if (
8739
- streams?.microphone?.readyState === 'ended' ||
8740
- streams?.camera?.readyState === 'ended' ||
8741
- streams?.screenShare?.audio?.readyState === 'ended' ||
8742
- streams?.screenShare?.video?.readyState === 'ended'
8743
- ) {
8744
- throw new Error(
8745
- `Attempted to publish stream with ended readyState, correlationId=${this.correlationId}`
8746
- );
8738
+ const streamChecks = [
8739
+ {stream: streams?.microphone, name: 'microphone'},
8740
+ {stream: streams?.camera, name: 'camera'},
8741
+ {stream: streams?.screenShare?.audio, name: 'screenShare audio'},
8742
+ {stream: streams?.screenShare?.video, name: 'screenShare video'},
8743
+ ];
8744
+
8745
+ for (const {stream, name} of streamChecks) {
8746
+ if (stream?.readyState === 'ended') {
8747
+ throw new Error(
8748
+ `Attempted to publish ${name} stream with ended readyState, correlationId=${this.correlationId}`
8749
+ );
8750
+ }
8747
8751
  }
8748
8752
 
8749
8753
  let floorRequestNeeded = false;
@@ -3991,6 +3991,7 @@ describe('plugin-meetings', () => {
3991
3991
  assert.notCalled(
3992
3992
  meeting.sendSlotManager.getSlot(MediaType.AudioMain).publishStream
3993
3993
  );
3994
+ assert.throws(meeting.publishStreams(localStreams), `Attempted to publish microphone stream with ended readyState, correlationId=${meeting.correlationId}`);
3994
3995
  } else {
3995
3996
  assert.calledOnceWithExactly(
3996
3997
  meeting.sendSlotManager.getSlot(MediaType.AudioMain).publishStream,
@@ -4003,6 +4004,7 @@ describe('plugin-meetings', () => {
4003
4004
  assert.notCalled(
4004
4005
  meeting.sendSlotManager.getSlot(MediaType.VideoMain).publishStream
4005
4006
  );
4007
+ assert.throws(meeting.publishStreams(localStreams), `Attempted to publish camera stream with ended readyState, correlationId=${meeting.correlationId}`);
4006
4008
  } else {
4007
4009
  assert.calledOnceWithExactly(
4008
4010
  meeting.sendSlotManager.getSlot(MediaType.VideoMain).publishStream,
@@ -4015,6 +4017,7 @@ describe('plugin-meetings', () => {
4015
4017
  assert.notCalled(
4016
4018
  meeting.sendSlotManager.getSlot(MediaType.AudioSlides).publishStream
4017
4019
  );
4020
+ assert.throws(meeting.publishStreams(localStreams), `Attempted to publish screenShare audio stream with ended readyState, correlationId=${meeting.correlationId}`);
4018
4021
  } else {
4019
4022
  assert.calledOnceWithExactly(
4020
4023
  meeting.sendSlotManager.getSlot(MediaType.AudioSlides).publishStream,
@@ -4027,6 +4030,7 @@ describe('plugin-meetings', () => {
4027
4030
  assert.notCalled(
4028
4031
  meeting.sendSlotManager.getSlot(MediaType.VideoSlides).publishStream
4029
4032
  );
4033
+ assert.throws(meeting.publishStreams(localStreams), `Attempted to publish screenShare video stream with ended readyState, correlationId=${meeting.correlationId}`);
4030
4034
  } else {
4031
4035
  assert.calledOnceWithExactly(
4032
4036
  meeting.sendSlotManager.getSlot(MediaType.VideoSlides).publishStream,