@webex/plugin-meetings 3.6.0-next.1 → 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.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +125 -90
- package/dist/meeting/index.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/index.ts +28 -9
- package/test/unit/spec/meeting/index.js +4 -0
package/dist/webinar/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
94
|
+
"version": "3.6.0-next.3"
|
|
95
95
|
}
|
package/src/meeting/index.ts
CHANGED
|
@@ -2739,6 +2739,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
2739
2739
|
newShareStatus = SHARE_STATUS.NO_SHARE;
|
|
2740
2740
|
}
|
|
2741
2741
|
|
|
2742
|
+
LoggerProxy.logger.info(
|
|
2743
|
+
`Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=${this.shareStatus} newShareStatus=${newShareStatus}`
|
|
2744
|
+
);
|
|
2742
2745
|
if (newShareStatus !== this.shareStatus) {
|
|
2743
2746
|
const oldShareStatus = this.shareStatus;
|
|
2744
2747
|
|
|
@@ -8182,6 +8185,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
8182
8185
|
* @returns {undefined}
|
|
8183
8186
|
*/
|
|
8184
8187
|
private handleShareAudioStreamEnded = async () => {
|
|
8188
|
+
LoggerProxy.logger.info(
|
|
8189
|
+
`Meeting:index#handleShareAudioStreamEnded --> audio share stream ended`
|
|
8190
|
+
);
|
|
8185
8191
|
// current share audio stream has ended, but there might be an active
|
|
8186
8192
|
// share video stream. we only leave from wireless share if share has
|
|
8187
8193
|
// completely ended, which means no share audio or video streams active
|
|
@@ -8224,6 +8230,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
8224
8230
|
* @returns {undefined}
|
|
8225
8231
|
*/
|
|
8226
8232
|
private handleShareVideoStreamEnded = async () => {
|
|
8233
|
+
LoggerProxy.logger.info(
|
|
8234
|
+
`Meeting:index#handleShareVideoStreamEnded --> video share stream ended`
|
|
8235
|
+
);
|
|
8227
8236
|
// current share video stream has ended, but there might be an active
|
|
8228
8237
|
// share audio stream. we only leave from wireless share if share has
|
|
8229
8238
|
// completely ended, which means no share audio or video streams active
|
|
@@ -8712,6 +8721,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
8712
8721
|
* @returns {Promise}
|
|
8713
8722
|
*/
|
|
8714
8723
|
async publishStreams(streams: LocalStreams): Promise<void> {
|
|
8724
|
+
LoggerProxy.logger.info(
|
|
8725
|
+
`Meeting:index#publishStreams --> called with: ${JSON.stringify(streams)}`
|
|
8726
|
+
);
|
|
8715
8727
|
this.checkMediaConnection();
|
|
8716
8728
|
if (
|
|
8717
8729
|
!streams.microphone &&
|
|
@@ -8723,15 +8735,19 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
8723
8735
|
return;
|
|
8724
8736
|
}
|
|
8725
8737
|
|
|
8726
|
-
|
|
8727
|
-
streams?.microphone
|
|
8728
|
-
streams?.camera
|
|
8729
|
-
streams?.screenShare?.audio
|
|
8730
|
-
streams?.screenShare?.video
|
|
8731
|
-
|
|
8732
|
-
|
|
8733
|
-
|
|
8734
|
-
)
|
|
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
|
+
}
|
|
8735
8751
|
}
|
|
8736
8752
|
|
|
8737
8753
|
let floorRequestNeeded = false;
|
|
@@ -8793,6 +8809,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
8793
8809
|
* @returns {Promise}
|
|
8794
8810
|
*/
|
|
8795
8811
|
async unpublishStreams(streams: LocalStream[]): Promise<void> {
|
|
8812
|
+
LoggerProxy.logger.info(
|
|
8813
|
+
`Meeting:index#unpublishStreams --> called with: ${JSON.stringify(streams)}`
|
|
8814
|
+
);
|
|
8796
8815
|
this.checkMediaConnection();
|
|
8797
8816
|
|
|
8798
8817
|
const promises = [];
|
|
@@ -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,
|