@webex/plugin-meetings 3.0.0-beta.71 → 3.0.0-beta.73
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/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.js +6 -2
- package/dist/constants.js.map +1 -1
- package/dist/locus-info/index.js +5 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +17 -12
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +5 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +6 -2
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +6 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +14 -10
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/members/index.js +23 -0
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +19 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +33 -0
- package/dist/members/util.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +12 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -4
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/constants.d.ts +3 -0
- package/dist/types/locus-info/index.d.ts +1 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +2 -1
- package/dist/types/members/index.d.ts +10 -0
- package/dist/types/members/request.d.ts +11 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +6 -0
- package/package.json +18 -18
- package/src/config.ts +1 -0
- package/src/constants.ts +3 -0
- package/src/locus-info/index.ts +7 -2
- package/src/locus-info/selfUtils.ts +6 -4
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +7 -1
- package/src/meeting/util.ts +5 -0
- package/src/meeting-info/meeting-info-v2.ts +9 -2
- package/src/meeting-info/utilv2.ts +5 -1
- package/src/members/index.ts +35 -0
- package/src/members/request.ts +20 -0
- package/src/members/util.ts +38 -0
- package/src/multistream/mediaRequestManager.ts +10 -1
- package/src/reconnection-manager/index.ts +6 -3
- package/test/unit/spec/locus-info/index.js +31 -2
- package/test/unit/spec/locus-info/selfUtils.js +28 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +6 -2
- package/test/unit/spec/meeting/index.js +15 -3
- package/test/unit/spec/meeting/utils.js +41 -9
- package/test/unit/spec/meeting-info/meetinginfov2.js +27 -0
- package/test/unit/spec/members/index.js +123 -15
- package/test/unit/spec/members/request.js +27 -1
- package/test/unit/spec/members/utils.js +54 -10
- package/test/unit/spec/multistream/mediaRequestManager.ts +36 -11
- package/test/unit/spec/reconnection-manager/index.js +8 -4
|
@@ -15,27 +15,48 @@ describe('plugin-meetings', () => {
|
|
|
15
15
|
describe('#generateRoleAssignmentMemberOptions', () => {
|
|
16
16
|
it('returns the correct options', () => {
|
|
17
17
|
const memberId = 'test';
|
|
18
|
-
const roles = [
|
|
18
|
+
const roles = [
|
|
19
|
+
{type: 'PRESENTER', hasRole: true},
|
|
20
|
+
{type: 'MODERATOR', hasRole: true},
|
|
21
|
+
{type: 'COHOST', hasRole: true},
|
|
22
|
+
];
|
|
19
23
|
const locusUrl = 'urlTest1';
|
|
20
24
|
|
|
21
|
-
assert.deepEqual(
|
|
22
|
-
memberId,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
assert.deepEqual(
|
|
26
|
+
MembersUtil.generateRoleAssignmentMemberOptions(memberId, roles, locusUrl),
|
|
27
|
+
{
|
|
28
|
+
memberId,
|
|
29
|
+
roles,
|
|
30
|
+
locusUrl,
|
|
31
|
+
}
|
|
32
|
+
);
|
|
26
33
|
});
|
|
27
34
|
});
|
|
28
35
|
|
|
29
36
|
describe('#getRoleAssignmentMemberRequestParams', () => {
|
|
30
37
|
it('returns the correct request params', () => {
|
|
31
|
-
const format = {
|
|
38
|
+
const format = {
|
|
39
|
+
locusUrl: 'locusUrl',
|
|
40
|
+
memberId: 'test',
|
|
41
|
+
roles: [
|
|
42
|
+
{type: 'PRESENTER', hasRole: true},
|
|
43
|
+
{type: 'MODERATOR', hasRole: false},
|
|
44
|
+
{type: 'COHOST', hasRole: true},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
32
47
|
|
|
33
48
|
assert.deepEqual(MembersUtil.getRoleAssignmentMemberRequestParams(format), {
|
|
34
49
|
method: 'PATCH',
|
|
35
50
|
uri: `locusUrl/${PARTICIPANT}/test/${CONTROLS}`,
|
|
36
|
-
body: {
|
|
37
|
-
|
|
38
|
-
|
|
51
|
+
body: {
|
|
52
|
+
role: {
|
|
53
|
+
roles: [
|
|
54
|
+
{type: 'PRESENTER', hasRole: true},
|
|
55
|
+
{type: 'MODERATOR', hasRole: false},
|
|
56
|
+
{type: 'COHOST', hasRole: true},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
39
60
|
});
|
|
40
61
|
});
|
|
41
62
|
});
|
|
@@ -67,6 +88,29 @@ describe('plugin-meetings', () => {
|
|
|
67
88
|
);
|
|
68
89
|
});
|
|
69
90
|
});
|
|
91
|
+
describe('#generateEditDisplayNameMemberOptions', () => {
|
|
92
|
+
it('returns the correct options', () => {
|
|
93
|
+
const locusUrl = 'urlTest1';
|
|
94
|
+
const memberId = 'test1';
|
|
95
|
+
const requestingParticipantId = 'test2';
|
|
96
|
+
const alias = 'alias';
|
|
97
|
+
|
|
98
|
+
assert.deepEqual(
|
|
99
|
+
MembersUtil.generateEditDisplayNameMemberOptions(
|
|
100
|
+
memberId,
|
|
101
|
+
requestingParticipantId,
|
|
102
|
+
alias,
|
|
103
|
+
locusUrl
|
|
104
|
+
),
|
|
105
|
+
{
|
|
106
|
+
memberId,
|
|
107
|
+
requestingParticipantId,
|
|
108
|
+
alias,
|
|
109
|
+
locusUrl,
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
70
114
|
describe('#getAdmitMemberRequestBody', () => {
|
|
71
115
|
it('returns the correct request body', () => {
|
|
72
116
|
const option1 = {memberIds: ['uuid']};
|
|
@@ -572,7 +572,6 @@ describe('MediaRequestManager', () => {
|
|
|
572
572
|
// nothing should be sent out as we didn't commit the requests
|
|
573
573
|
assert.notCalled(sendMediaRequestsCallback);
|
|
574
574
|
|
|
575
|
-
|
|
576
575
|
mediaRequestManager.commit();
|
|
577
576
|
checkMediaRequestsSent([
|
|
578
577
|
{
|
|
@@ -601,7 +600,6 @@ describe('MediaRequestManager', () => {
|
|
|
601
600
|
},
|
|
602
601
|
]);
|
|
603
602
|
|
|
604
|
-
|
|
605
603
|
// check that when calling commit()
|
|
606
604
|
// all requests are not re-sent again (avoid duplicate requests)
|
|
607
605
|
mediaRequestManager.commit();
|
|
@@ -621,7 +619,6 @@ describe('MediaRequestManager', () => {
|
|
|
621
619
|
|
|
622
620
|
assert.notCalled(sendMediaRequestsCallback);
|
|
623
621
|
|
|
624
|
-
|
|
625
622
|
mediaRequestManager.commit();
|
|
626
623
|
checkMediaRequestsSent([
|
|
627
624
|
{
|
|
@@ -635,11 +632,11 @@ describe('MediaRequestManager', () => {
|
|
|
635
632
|
// now reset everything
|
|
636
633
|
mediaRequestManager.reset();
|
|
637
634
|
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
635
|
+
// calling commit now should not cause any requests to be sent out
|
|
636
|
+
mediaRequestManager.commit();
|
|
637
|
+
checkMediaRequestsSent([]);
|
|
641
638
|
|
|
642
|
-
|
|
639
|
+
//add new request
|
|
643
640
|
addReceiverSelectedRequest(1501, fakeReceiveSlots[1], RECEIVER_SELECTED_MAX_FS, false);
|
|
644
641
|
|
|
645
642
|
// commit
|
|
@@ -653,8 +650,38 @@ describe('MediaRequestManager', () => {
|
|
|
653
650
|
receiveSlot: fakeWcmeSlots[1],
|
|
654
651
|
maxFs: RECEIVER_SELECTED_MAX_FS,
|
|
655
652
|
},
|
|
656
|
-
])
|
|
657
|
-
})
|
|
653
|
+
]);
|
|
654
|
+
});
|
|
655
|
+
|
|
656
|
+
it('can send same media request after previous requests have been cleared', () => {
|
|
657
|
+
// add a request and commit
|
|
658
|
+
addReceiverSelectedRequest(1500, fakeReceiveSlots[0], RECEIVER_SELECTED_MAX_FS, false);
|
|
659
|
+
mediaRequestManager.commit();
|
|
660
|
+
checkMediaRequestsSent([
|
|
661
|
+
{
|
|
662
|
+
policy: 'receiver-selected',
|
|
663
|
+
csi: 1500,
|
|
664
|
+
receiveSlot: fakeWcmeSlots[0],
|
|
665
|
+
maxFs: RECEIVER_SELECTED_MAX_FS,
|
|
666
|
+
},
|
|
667
|
+
]);
|
|
668
|
+
|
|
669
|
+
// clear previous requests
|
|
670
|
+
mediaRequestManager.clearPreviousRequests();
|
|
671
|
+
|
|
672
|
+
// commit same request
|
|
673
|
+
mediaRequestManager.commit();
|
|
674
|
+
|
|
675
|
+
// check the request was sent
|
|
676
|
+
checkMediaRequestsSent([
|
|
677
|
+
{
|
|
678
|
+
policy: 'receiver-selected',
|
|
679
|
+
csi: 1500,
|
|
680
|
+
receiveSlot: fakeWcmeSlots[0],
|
|
681
|
+
maxFs: RECEIVER_SELECTED_MAX_FS,
|
|
682
|
+
},
|
|
683
|
+
]);
|
|
684
|
+
});
|
|
658
685
|
|
|
659
686
|
it('re-sends media requests after degradation preferences are set', () => {
|
|
660
687
|
// set max macroblocks limit
|
|
@@ -785,7 +812,6 @@ describe('MediaRequestManager', () => {
|
|
|
785
812
|
|
|
786
813
|
sendMediaRequestsCallback.resetHistory();
|
|
787
814
|
|
|
788
|
-
|
|
789
815
|
const maxFsHandlerCall = fakeReceiveSlots[0].on.getCall(1);
|
|
790
816
|
|
|
791
817
|
const maxFsHandler = maxFsHandlerCall.args[1];
|
|
@@ -812,5 +838,4 @@ describe('MediaRequestManager', () => {
|
|
|
812
838
|
},
|
|
813
839
|
]);
|
|
814
840
|
});
|
|
815
|
-
|
|
816
841
|
});
|
|
@@ -43,8 +43,8 @@ describe('plugin-meetings', () => {
|
|
|
43
43
|
webrtcMediaConnection: fakeMediaConnection,
|
|
44
44
|
},
|
|
45
45
|
mediaRequestManagers: {
|
|
46
|
-
audio: {commit: sinon.stub()},
|
|
47
|
-
video: {commit: sinon.stub()},
|
|
46
|
+
audio: {commit: sinon.stub(), clearPreviousRequests: sinon.stub()},
|
|
47
|
+
video: {commit: sinon.stub(), clearPreviousRequests: sinon.stub()},
|
|
48
48
|
},
|
|
49
49
|
roap: {
|
|
50
50
|
doTurnDiscovery: sinon.stub().resolves({
|
|
@@ -84,22 +84,26 @@ describe('plugin-meetings', () => {
|
|
|
84
84
|
]);
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
it('does not re-request media for non-multistream meetings', async () => {
|
|
87
|
+
it('does not clear previous requests and re-request media for non-multistream meetings', async () => {
|
|
88
88
|
fakeMeeting.isMultistream = false;
|
|
89
89
|
const rm = new ReconnectionManager(fakeMeeting);
|
|
90
90
|
|
|
91
91
|
await rm.reconnect();
|
|
92
92
|
|
|
93
|
+
assert.notCalled(fakeMeeting.mediaRequestManagers.audio.clearPreviousRequests);
|
|
94
|
+
assert.notCalled(fakeMeeting.mediaRequestManagers.video.clearPreviousRequests);
|
|
93
95
|
assert.notCalled(fakeMeeting.mediaRequestManagers.audio.commit);
|
|
94
96
|
assert.notCalled(fakeMeeting.mediaRequestManagers.video.commit);
|
|
95
97
|
});
|
|
96
98
|
|
|
97
|
-
it('does re-request media for multistream meetings', async () => {
|
|
99
|
+
it('does clear previous requests and re-request media for multistream meetings', async () => {
|
|
98
100
|
fakeMeeting.isMultistream = true;
|
|
99
101
|
const rm = new ReconnectionManager(fakeMeeting);
|
|
100
102
|
|
|
101
103
|
await rm.reconnect();
|
|
102
104
|
|
|
105
|
+
assert.calledOnce(fakeMeeting.mediaRequestManagers.audio.clearPreviousRequests);
|
|
106
|
+
assert.calledOnce(fakeMeeting.mediaRequestManagers.video.clearPreviousRequests);
|
|
103
107
|
assert.calledOnce(fakeMeeting.mediaRequestManagers.audio.commit);
|
|
104
108
|
assert.calledOnce(fakeMeeting.mediaRequestManagers.video.commit);
|
|
105
109
|
});
|