@webex/plugin-meetings 3.8.0-web-workers-keepalive.1 → 3.8.1-next.1
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 +70 -6
- package/dist/breakouts/index.js.map +1 -1
- package/dist/common/errors/webex-errors.js +12 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +22 -123
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +2 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +52 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +30 -10
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +83 -12
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +432 -418
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +17 -17
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +94 -6
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/brbState.js +9 -2
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +17 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +568 -328
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +0 -17
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +4 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +9 -1
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +19 -13
- 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/meetings/index.js +76 -0
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +14 -0
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +45 -9
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +3 -0
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +335 -356
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +137 -29
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +38 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +36 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/reachability/clusterReachability.js +23 -31
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +42 -2
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -2
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/turnDiscovery.js +45 -27
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js +17 -0
- package/dist/roap/types.js.map +1 -0
- package/dist/types/common/errors/webex-errors.d.ts +7 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/constants.d.ts +15 -85
- package/dist/types/controls-options-manager/enums.d.ts +3 -1
- package/dist/types/controls-options-manager/types.d.ts +7 -1
- package/dist/types/locus-info/index.d.ts +3 -3
- package/dist/types/locus-info/selfUtils.d.ts +216 -1
- package/dist/types/media/properties.d.ts +15 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +16 -0
- package/dist/types/meeting/index.d.ts +35 -1
- package/dist/types/meeting/muteState.d.ts +0 -1
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +3 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +2 -1
- package/dist/types/meetings/index.d.ts +28 -0
- package/dist/types/member/index.d.ts +20 -6
- package/dist/types/member/types.d.ts +73 -14
- package/dist/types/member/util.d.ts +156 -1
- package/dist/types/members/collection.d.ts +6 -5
- package/dist/types/members/index.d.ts +32 -43
- package/dist/types/members/request.d.ts +26 -0
- package/dist/types/members/util.d.ts +27 -0
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/reachability/clusterReachability.d.ts +2 -6
- package/dist/types/reachability/index.d.ts +8 -0
- package/dist/types/roap/index.d.ts +3 -2
- package/dist/types/roap/turnDiscovery.d.ts +5 -17
- package/dist/types/roap/types.d.ts +16 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +24 -23
- package/src/breakouts/index.ts +69 -0
- package/src/common/errors/webex-errors.ts +8 -1
- package/src/config.ts +2 -0
- package/src/constants.ts +23 -90
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/controls-options-manager/types.ts +11 -1
- package/src/controls-options-manager/util.ts +62 -0
- package/src/locus-info/controlsUtils.ts +48 -12
- package/src/locus-info/index.ts +88 -13
- package/src/locus-info/selfUtils.ts +496 -442
- package/src/media/index.ts +23 -21
- package/src/media/properties.ts +96 -0
- package/src/meeting/brbState.ts +11 -2
- package/src/meeting/in-meeting-actions.ts +32 -0
- package/src/meeting/index.ts +356 -87
- package/src/meeting/locusMediaRequest.ts +0 -18
- package/src/meeting/muteState.ts +4 -4
- package/src/meeting/request.ts +36 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +9 -1
- package/src/meeting-info/meeting-info-v2.ts +7 -2
- package/src/meeting-info/utilv2.ts +5 -0
- package/src/meetings/index.ts +76 -0
- package/src/meetings/util.ts +18 -0
- package/src/member/index.ts +57 -22
- package/src/member/types.ts +82 -16
- package/src/member/util.ts +357 -353
- package/src/members/collection.ts +4 -3
- package/src/members/index.ts +137 -18
- package/src/members/request.ts +44 -0
- package/src/members/util.ts +43 -1
- package/src/metrics/constants.ts +1 -0
- package/src/reachability/clusterReachability.ts +26 -25
- package/src/reachability/index.ts +55 -1
- package/src/reconnection-manager/index.ts +2 -2
- package/src/roap/index.ts +3 -7
- package/src/roap/turnDiscovery.ts +34 -39
- package/src/roap/types.ts +23 -0
- package/test/unit/spec/breakouts/index.ts +167 -95
- package/test/unit/spec/controls-options-manager/util.js +120 -0
- package/test/unit/spec/locus-info/controlsUtils.js +131 -9
- package/test/unit/spec/locus-info/index.js +195 -73
- package/test/unit/spec/locus-info/selfUtils.js +98 -24
- package/test/unit/spec/media/index.ts +150 -18
- package/test/unit/spec/media/properties.ts +130 -0
- package/test/unit/spec/meeting/brbState.ts +40 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +19 -4
- package/test/unit/spec/meeting/index.js +553 -36
- package/test/unit/spec/meeting/locusMediaRequest.ts +0 -30
- package/test/unit/spec/meeting/muteState.js +73 -2
- package/test/unit/spec/meeting/request.js +32 -1
- package/test/unit/spec/meeting/utils.js +79 -33
- package/test/unit/spec/meeting-info/meetinginfov2.js +41 -0
- package/test/unit/spec/meeting-info/utilv2.js +19 -0
- package/test/unit/spec/meetings/index.js +68 -1
- package/test/unit/spec/members/index.js +304 -78
- package/test/unit/spec/members/request.js +68 -22
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/reachability/clusterReachability.ts +41 -55
- package/test/unit/spec/reachability/index.ts +89 -0
- package/test/unit/spec/reconnection-manager/index.js +4 -4
- package/test/unit/spec/roap/turnDiscovery.ts +110 -28
@@ -1,12 +1,14 @@
|
|
1
1
|
import sinon from 'sinon';
|
2
|
-
import {assert} from '@webex/test-helper-chai';
|
2
|
+
import {assert, expect} from '@webex/test-helper-chai';
|
3
3
|
|
4
4
|
import testUtils from '../../../utils/testUtils';
|
5
5
|
import {BrbState, createBrbState} from '@webex/plugin-meetings/src/meeting/brbState';
|
6
|
+
import LoggerProxy from '@webex/plugin-meetings/src/common/logs/logger-proxy';
|
6
7
|
|
7
8
|
describe('plugin-meetings', () => {
|
8
9
|
let meeting: any;
|
9
10
|
let brbState: BrbState;
|
11
|
+
let setBrbStub: sinon.SinonStub;
|
10
12
|
|
11
13
|
beforeEach(async () => {
|
12
14
|
meeting = {
|
@@ -21,14 +23,20 @@ describe('plugin-meetings', () => {
|
|
21
23
|
setSourceStateOverride: sinon.stub(),
|
22
24
|
},
|
23
25
|
meetingRequest: {
|
24
|
-
setBrb:
|
26
|
+
setBrb: () => {}
|
25
27
|
},
|
26
28
|
};
|
27
29
|
|
30
|
+
setBrbStub = sinon.stub(meeting.meetingRequest, 'setBrb').resolves();
|
31
|
+
|
28
32
|
brbState = new BrbState(meeting, false);
|
29
33
|
await testUtils.flushPromises();
|
30
34
|
});
|
31
35
|
|
36
|
+
afterEach(() => {
|
37
|
+
sinon.restore();
|
38
|
+
});
|
39
|
+
|
32
40
|
describe('brbState library', () => {
|
33
41
|
it('takes into account current status when instantiated', async () => {
|
34
42
|
// create a new BrbState instance
|
@@ -110,5 +118,35 @@ describe('plugin-meetings', () => {
|
|
110
118
|
|
111
119
|
assert.isTrue(brbState.state.server.enabled);
|
112
120
|
});
|
121
|
+
|
122
|
+
it('invokes handleServerBrbUpdate with correct client state after syncing with server', async () => {
|
123
|
+
const sendLocalBrbStateToServerStub = sinon
|
124
|
+
.stub(brbState, 'sendLocalBrbStateToServer')
|
125
|
+
.resolves();
|
126
|
+
|
127
|
+
const handleServerBrbUpdateSpy = sinon.spy(brbState, 'handleServerBrbUpdate');
|
128
|
+
|
129
|
+
await brbState.enable(true, meeting.sendSlotManager);
|
130
|
+
|
131
|
+
assert.isTrue(sendLocalBrbStateToServerStub.calledOnce);
|
132
|
+
|
133
|
+
assert.isTrue(handleServerBrbUpdateSpy.calledOnceWith(brbState.state.client.enabled));
|
134
|
+
|
135
|
+
assert.isFalse(brbState.state.syncToServerInProgress);
|
136
|
+
|
137
|
+
sendLocalBrbStateToServerStub.restore();
|
138
|
+
handleServerBrbUpdateSpy.restore();
|
139
|
+
});
|
140
|
+
|
141
|
+
it('should reject when sendLocalBrbStateToServer fails', async () => {
|
142
|
+
const error = new Error('send failed');
|
143
|
+
setBrbStub.rejects(error);
|
144
|
+
|
145
|
+
await expect(
|
146
|
+
brbState.enable(true, meeting.sendSlotManager)
|
147
|
+
).to.be.rejectedWith(error);
|
148
|
+
|
149
|
+
assert.isFalse(brbState.state.syncToServerInProgress);
|
150
|
+
});
|
113
151
|
});
|
114
152
|
});
|
@@ -76,6 +76,8 @@ describe('plugin-meetings', () => {
|
|
76
76
|
canShareDesktop: null,
|
77
77
|
canShareContent: null,
|
78
78
|
canTransferFile: null,
|
79
|
+
canRealtimeCloseCaption: null,
|
80
|
+
canRealtimeCloseCaptionManual: null,
|
79
81
|
canChat: null,
|
80
82
|
canDoVideo: null,
|
81
83
|
canAnnotate: null,
|
@@ -90,10 +92,16 @@ describe('plugin-meetings', () => {
|
|
90
92
|
canShowStageView: null,
|
91
93
|
canEnableStageView: null,
|
92
94
|
canDisableStageView: null,
|
93
|
-
isPracticeSessionOn
|
94
|
-
isPracticeSessionOff
|
95
|
+
isPracticeSessionOn: null,
|
96
|
+
isPracticeSessionOff: null,
|
95
97
|
canStartPracticeSession: null,
|
96
98
|
canStopPracticeSession: null,
|
99
|
+
requiresPostMeetingDataConsentPrompt: null,
|
100
|
+
canEnableAnnotation: null,
|
101
|
+
canDisableAnnotation: null,
|
102
|
+
canEnableRemoteDesktopControl: null,
|
103
|
+
canDisableRemoteDesktopControl: null,
|
104
|
+
canMoveToLobby: null,
|
97
105
|
|
98
106
|
...expected,
|
99
107
|
};
|
@@ -176,6 +184,8 @@ describe('plugin-meetings', () => {
|
|
176
184
|
'canShareDesktop',
|
177
185
|
'canShareContent',
|
178
186
|
'canTransferFile',
|
187
|
+
'canRealtimeCloseCaption',
|
188
|
+
'canRealtimeCloseCaptionManual',
|
179
189
|
'canChat',
|
180
190
|
'canDoVideo',
|
181
191
|
'canAnnotate',
|
@@ -194,8 +204,13 @@ describe('plugin-meetings', () => {
|
|
194
204
|
'isPracticeSessionOff',
|
195
205
|
'canStartPracticeSession',
|
196
206
|
'canStopPracticeSession',
|
197
|
-
|
198
|
-
|
207
|
+
'requiresPostMeetingDataConsentPrompt',
|
208
|
+
'canEnableAnnotation',
|
209
|
+
'canDisableAnnotation',
|
210
|
+
'canEnableRemoteDesktopControl',
|
211
|
+
'canDisableRemoteDesktopControl',
|
212
|
+
'canMoveToLobby',
|
213
|
+
].forEach((key) => {
|
199
214
|
it(`get and set for ${key} work as expected`, () => {
|
200
215
|
const inMeetingActions = new InMeetingActions();
|
201
216
|
|