@webex/plugin-meetings 3.6.0-next.9 → 3.7.0-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.
Files changed (118) hide show
  1. package/README.md +2 -1
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/config.js +2 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/constants.js +24 -2
  7. package/dist/constants.js.map +1 -1
  8. package/dist/controls-options-manager/enums.js +1 -0
  9. package/dist/controls-options-manager/enums.js.map +1 -1
  10. package/dist/controls-options-manager/index.js +10 -3
  11. package/dist/controls-options-manager/index.js.map +1 -1
  12. package/dist/controls-options-manager/types.js.map +1 -1
  13. package/dist/controls-options-manager/util.js +12 -0
  14. package/dist/controls-options-manager/util.js.map +1 -1
  15. package/dist/interpretation/index.js +1 -1
  16. package/dist/interpretation/siLanguage.js +1 -1
  17. package/dist/locus-info/controlsUtils.js +28 -4
  18. package/dist/locus-info/controlsUtils.js.map +1 -1
  19. package/dist/locus-info/fullState.js +2 -1
  20. package/dist/locus-info/fullState.js.map +1 -1
  21. package/dist/locus-info/index.js +61 -3
  22. package/dist/locus-info/index.js.map +1 -1
  23. package/dist/meeting/in-meeting-actions.js +19 -1
  24. package/dist/meeting/in-meeting-actions.js.map +1 -1
  25. package/dist/meeting/index.js +564 -441
  26. package/dist/meeting/index.js.map +1 -1
  27. package/dist/meeting/locusMediaRequest.js +2 -6
  28. package/dist/meeting/locusMediaRequest.js.map +1 -1
  29. package/dist/meeting/request.js +21 -29
  30. package/dist/meeting/request.js.map +1 -1
  31. package/dist/meeting/util.js +94 -59
  32. package/dist/meeting/util.js.map +1 -1
  33. package/dist/meetings/index.js +2 -0
  34. package/dist/meetings/index.js.map +1 -1
  35. package/dist/members/index.js +3 -2
  36. package/dist/members/index.js.map +1 -1
  37. package/dist/members/util.js +9 -5
  38. package/dist/members/util.js.map +1 -1
  39. package/dist/reachability/clusterReachability.js +0 -4
  40. package/dist/reachability/clusterReachability.js.map +1 -1
  41. package/dist/reachability/index.js +433 -136
  42. package/dist/reachability/index.js.map +1 -1
  43. package/dist/reachability/reachability.types.js +7 -0
  44. package/dist/reachability/reachability.types.js.map +1 -0
  45. package/dist/reachability/request.js +23 -9
  46. package/dist/reachability/request.js.map +1 -1
  47. package/dist/roap/index.js +5 -7
  48. package/dist/roap/index.js.map +1 -1
  49. package/dist/roap/request.js +45 -79
  50. package/dist/roap/request.js.map +1 -1
  51. package/dist/roap/turnDiscovery.js +3 -6
  52. package/dist/roap/turnDiscovery.js.map +1 -1
  53. package/dist/types/config.d.ts +1 -0
  54. package/dist/types/constants.d.ts +19 -0
  55. package/dist/types/controls-options-manager/enums.d.ts +2 -1
  56. package/dist/types/controls-options-manager/index.d.ts +2 -1
  57. package/dist/types/controls-options-manager/types.d.ts +2 -0
  58. package/dist/types/locus-info/index.d.ts +9 -0
  59. package/dist/types/meeting/in-meeting-actions.d.ts +18 -0
  60. package/dist/types/meeting/index.d.ts +14 -3
  61. package/dist/types/meeting/locusMediaRequest.d.ts +2 -3
  62. package/dist/types/meeting/request.d.ts +2 -2
  63. package/dist/types/meeting/util.d.ts +2 -2
  64. package/dist/types/meetings/index.d.ts +1 -1
  65. package/dist/types/members/index.d.ts +2 -1
  66. package/dist/types/members/util.d.ts +3 -1
  67. package/dist/types/reachability/clusterReachability.d.ts +1 -10
  68. package/dist/types/reachability/index.d.ts +74 -35
  69. package/dist/types/reachability/reachability.types.d.ts +64 -0
  70. package/dist/types/reachability/request.d.ts +5 -1
  71. package/dist/types/roap/request.d.ts +1 -13
  72. package/dist/webinar/index.js +32 -19
  73. package/dist/webinar/index.js.map +1 -1
  74. package/package.json +22 -22
  75. package/src/config.ts +1 -0
  76. package/src/constants.ts +25 -0
  77. package/src/controls-options-manager/enums.ts +1 -0
  78. package/src/controls-options-manager/index.ts +19 -2
  79. package/src/controls-options-manager/types.ts +2 -0
  80. package/src/controls-options-manager/util.ts +12 -0
  81. package/src/locus-info/controlsUtils.ts +46 -2
  82. package/src/locus-info/fullState.ts +1 -0
  83. package/src/locus-info/index.ts +60 -0
  84. package/src/meeting/in-meeting-actions.ts +37 -0
  85. package/src/meeting/index.ts +114 -11
  86. package/src/meeting/locusMediaRequest.ts +4 -8
  87. package/src/meeting/request.ts +4 -11
  88. package/src/meeting/util.ts +24 -4
  89. package/src/meetings/index.ts +46 -39
  90. package/src/members/index.ts +4 -2
  91. package/src/members/util.ts +3 -1
  92. package/src/reachability/clusterReachability.ts +1 -14
  93. package/src/reachability/index.ts +285 -77
  94. package/src/reachability/reachability.types.ts +85 -0
  95. package/src/reachability/request.ts +55 -30
  96. package/src/roap/index.ts +4 -5
  97. package/src/roap/request.ts +30 -44
  98. package/src/roap/turnDiscovery.ts +2 -4
  99. package/src/webinar/index.ts +31 -17
  100. package/test/unit/spec/controls-options-manager/index.js +56 -32
  101. package/test/unit/spec/controls-options-manager/util.js +44 -0
  102. package/test/unit/spec/locus-info/controlsUtils.js +80 -4
  103. package/test/unit/spec/locus-info/index.js +59 -2
  104. package/test/unit/spec/meeting/in-meeting-actions.ts +18 -0
  105. package/test/unit/spec/meeting/index.js +231 -100
  106. package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
  107. package/test/unit/spec/meeting/request.js +3 -26
  108. package/test/unit/spec/meeting/utils.js +53 -13
  109. package/test/unit/spec/meetings/index.js +16 -1
  110. package/test/unit/spec/members/index.js +25 -2
  111. package/test/unit/spec/members/request.js +37 -3
  112. package/test/unit/spec/members/utils.js +15 -1
  113. package/test/unit/spec/reachability/index.ts +265 -1
  114. package/test/unit/spec/reachability/request.js +56 -15
  115. package/test/unit/spec/roap/index.ts +1 -1
  116. package/test/unit/spec/roap/request.ts +51 -109
  117. package/test/unit/spec/roap/turnDiscovery.ts +202 -147
  118. package/test/unit/spec/webinar/index.ts +82 -16
@@ -81,7 +81,7 @@ describe('plugin-meetings', () => {
81
81
  newControls = {
82
82
  disallowUnmute: {enabled: true},
83
83
  lock: {},
84
- meetingFull: {},
84
+ meetingFull: {meetingFull: false, meetingPanelistFull: true},
85
85
  muteOnEntry: {enabled: true},
86
86
  raiseHand: {enabled: true},
87
87
  reactions: {enabled: true, showDisplayNameWithReactions: true},
@@ -95,12 +95,15 @@ describe('plugin-meetings', () => {
95
95
  },
96
96
  shareControl: {control: 'example-value'},
97
97
  transcribe: {},
98
- viewTheParticipantList: {enabled: true},
98
+ viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: false},
99
99
  meetingContainer: {
100
100
  meetingContainerUrl: 'http://new-url.com',
101
101
  },
102
102
  entryExitTone: {enabled: true, mode: 'foo'},
103
103
  video: {enabled: true},
104
+ videoLayout: {overrideDefault: true, lockAttendeeViewOnStageOnly:false, stageParameters: {}},
105
+ webcastControl: {streaming: false},
106
+ practiceSession: {enabled: true},
104
107
  };
105
108
  });
106
109
 
@@ -205,6 +208,58 @@ describe('plugin-meetings', () => {
205
208
  );
206
209
  });
207
210
 
211
+ it('should trigger the CONTROLS_STAGE_VIEW_UPDATED event when necessary', () => {
212
+ locusInfo.controls = {};
213
+ locusInfo.emitScoped = sinon.stub();
214
+ locusInfo.updateControls(newControls);
215
+
216
+ assert.calledWith(
217
+ locusInfo.emitScoped,
218
+ {file: 'locus-info', function: 'updateControls'},
219
+ LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED,
220
+ {state: newControls.videoLayout}
221
+ );
222
+ });
223
+
224
+ it('should trigger the CONTROLS_WEBCAST_CHANGED event when necessary', () => {
225
+ locusInfo.controls = {};
226
+ locusInfo.emitScoped = sinon.stub();
227
+ locusInfo.updateControls(newControls);
228
+
229
+ assert.calledWith(
230
+ locusInfo.emitScoped,
231
+ {file: 'locus-info', function: 'updateControls'},
232
+ LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED,
233
+ {state: newControls.webcastControl}
234
+ );
235
+ });
236
+
237
+ it('should trigger the CONTROLS_MEETING_FULL_CHANGED event when necessary', () => {
238
+ locusInfo.controls = {};
239
+ locusInfo.emitScoped = sinon.stub();
240
+ locusInfo.updateControls(newControls);
241
+
242
+ assert.calledWith(
243
+ locusInfo.emitScoped,
244
+ {file: 'locus-info', function: 'updateControls'},
245
+ LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED,
246
+ {state: newControls.meetingFull}
247
+ );
248
+ });
249
+
250
+ it('should trigger the CONTROLS_PRACTICE_SESSION_STATUS_UPDATED event when necessary', () => {
251
+ locusInfo.controls = {};
252
+ locusInfo.emitScoped = sinon.stub();
253
+ locusInfo.updateControls(newControls);
254
+
255
+ assert.calledWith(
256
+ locusInfo.emitScoped,
257
+ {file: 'locus-info', function: 'updateControls'},
258
+ LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED,
259
+ {state: newControls.practiceSession}
260
+ );
261
+ });
262
+
208
263
  it('should not trigger the CONTROLS_RECORDING_UPDATED event', () => {
209
264
  locusInfo.controls = {};
210
265
  locusInfo.emitScoped = sinon.stub();
@@ -1729,6 +1784,7 @@ describe('plugin-meetings', () => {
1729
1784
  locusInfo.updateMemberShip = sinon.stub();
1730
1785
  locusInfo.updateIdentifiers = sinon.stub();
1731
1786
  locusInfo.updateEmbeddedApps = sinon.stub();
1787
+ locusInfo.updateResources = sinon.stub();
1732
1788
  locusInfo.compareAndUpdate = sinon.stub();
1733
1789
 
1734
1790
  locusInfo.updateLocusInfo(newLocus);
@@ -1750,6 +1806,7 @@ describe('plugin-meetings', () => {
1750
1806
  assert.notCalled(locusInfo.updateMemberShip);
1751
1807
  assert.notCalled(locusInfo.updateIdentifiers);
1752
1808
  assert.notCalled(locusInfo.updateEmbeddedApps);
1809
+ assert.notCalled(locusInfo.updateResources);
1753
1810
  assert.notCalled(locusInfo.compareAndUpdate);
1754
1811
  });
1755
1812
 
@@ -60,6 +60,10 @@ describe('plugin-meetings', () => {
60
60
  canUpdateShareControl: null,
61
61
  canEnableViewTheParticipantsList: null,
62
62
  canDisableViewTheParticipantsList: null,
63
+ canEnableViewTheParticipantsListPanelist: null,
64
+ canDisableViewTheParticipantsListPanelist: null,
65
+ canEnableShowAttendeeCount: null,
66
+ canDisableShowAttendeeCount: null,
63
67
  canEnableRaiseHand: null,
64
68
  canDisableRaiseHand: null,
65
69
  canEnableVideo: null,
@@ -79,6 +83,11 @@ describe('plugin-meetings', () => {
79
83
  canShareWhiteBoard: null,
80
84
  enforceVirtualBackground: null,
81
85
  canPollingAndQA: null,
86
+ canStartWebcast: null,
87
+ canStopWebcast: null,
88
+ canShowStageView: null,
89
+ canEnableStageView: null,
90
+ canDisableStageView: null,
82
91
  ...expected,
83
92
  };
84
93
 
@@ -144,6 +153,10 @@ describe('plugin-meetings', () => {
144
153
  'canUpdateShareControl',
145
154
  'canEnableViewTheParticipantsList',
146
155
  'canDisableViewTheParticipantsList',
156
+ 'canEnableViewTheParticipantsListPanelist',
157
+ 'canDisableViewTheParticipantsListPanelist',
158
+ 'canEnableShowAttendeeCount',
159
+ 'canDisableShowAttendeeCount',
147
160
  'canEnableRaiseHand',
148
161
  'canDisableRaiseHand',
149
162
  'canEnableVideo',
@@ -163,6 +176,11 @@ describe('plugin-meetings', () => {
163
176
  'canShareWhiteBoard',
164
177
  'enforceVirtualBackground',
165
178
  'canPollingAndQA',
179
+ 'canStartWebcast',
180
+ 'canStopWebcast',
181
+ 'canShowStageView',
182
+ 'canEnableStageView',
183
+ 'canDisableStageView',
166
184
  ].forEach((key) => {
167
185
  it(`get and set for ${key} work as expected`, () => {
168
186
  const inMeetingActions = new InMeetingActions();