@webex/plugin-meetings 3.9.0-next.24 → 3.9.0-next.26

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 (45) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +6 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/interpretation/index.js +1 -1
  6. package/dist/interpretation/siLanguage.js +1 -1
  7. package/dist/locus-info/controlsUtils.js +11 -2
  8. package/dist/locus-info/controlsUtils.js.map +1 -1
  9. package/dist/locus-info/index.js +9 -0
  10. package/dist/locus-info/index.js.map +1 -1
  11. package/dist/meeting/in-meeting-actions.js +6 -0
  12. package/dist/meeting/in-meeting-actions.js.map +1 -1
  13. package/dist/meeting/index.js +66 -24
  14. package/dist/meeting/index.js.map +1 -1
  15. package/dist/meeting/request.js +48 -14
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.js +9 -0
  18. package/dist/meeting/util.js.map +1 -1
  19. package/dist/member/index.js +9 -0
  20. package/dist/member/index.js.map +1 -1
  21. package/dist/member/util.js +10 -0
  22. package/dist/member/util.js.map +1 -1
  23. package/dist/types/constants.d.ts +5 -0
  24. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  25. package/dist/types/meeting/index.d.ts +14 -0
  26. package/dist/types/meeting/request.d.ts +16 -0
  27. package/dist/types/meeting/util.d.ts +3 -0
  28. package/dist/types/member/index.d.ts +1 -0
  29. package/dist/types/member/util.d.ts +5 -0
  30. package/dist/webinar/index.js +1 -1
  31. package/package.json +1 -1
  32. package/src/constants.ts +8 -0
  33. package/src/locus-info/controlsUtils.ts +18 -0
  34. package/src/locus-info/index.ts +9 -0
  35. package/src/meeting/in-meeting-actions.ts +12 -0
  36. package/src/meeting/index.ts +45 -0
  37. package/src/meeting/request.ts +38 -0
  38. package/src/meeting/util.ts +9 -0
  39. package/src/member/index.ts +10 -0
  40. package/src/member/util.ts +14 -0
  41. package/test/unit/spec/fixture/locus.js +1 -0
  42. package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
  43. package/test/unit/spec/meeting/index.js +22 -0
  44. package/test/unit/spec/meeting/utils.js +4 -1
  45. package/test/unit/spec/member/util.js +24 -0
@@ -35,6 +35,8 @@ describe('plugin-meetings', () => {
35
35
  isLocalRecordingStarted: null,
36
36
  isLocalRecordingStopped: null,
37
37
  isLocalRecordingPaused: null,
38
+ isLocalStreamingStarted:null,
39
+ isLocalStreamingStopped:null,
38
40
  isManualCaptionActive: null,
39
41
  isPremiseRecordingEnabled: null,
40
42
  isSaveTranscriptsEnabled: null,
@@ -86,6 +88,7 @@ describe('plugin-meetings', () => {
86
88
  canDoVideo: null,
87
89
  canAnnotate: null,
88
90
  canUseVoip: null,
91
+ showAutoEndMeetingWarning: null,
89
92
  supportHQV: null,
90
93
  supportHDV: null,
91
94
  canShareWhiteBoard: null,
@@ -136,6 +139,8 @@ describe('plugin-meetings', () => {
136
139
  'isLocalRecordingStarted',
137
140
  'isLocalRecordingStopped',
138
141
  'isLocalRecordingPaused',
142
+ 'isLocalStreamingStarted',
143
+ 'isLocalStreamingStopped',
139
144
  'canSetMuteOnEntry',
140
145
  'canUnsetMuteOnEntry',
141
146
  'canSetDisallowUnmute',
@@ -197,6 +202,7 @@ describe('plugin-meetings', () => {
197
202
  'canRealtimeCloseCaption',
198
203
  'canRealtimeCloseCaptionManual',
199
204
  'canChat',
205
+ 'showAutoEndMeetingWarning',
200
206
  'canDoVideo',
201
207
  'canAnnotate',
202
208
  'canUseVoip',
@@ -10471,6 +10471,24 @@ describe('plugin-meetings', () => {
10471
10471
  );
10472
10472
  });
10473
10473
 
10474
+ it('listens to CONTROLS_AUTO_END_MEETING_WARNING_CHANGED', async () => {
10475
+ const state = {example: 'value'};
10476
+
10477
+ await meeting.locusInfo.emitScoped(
10478
+ {function: 'test', file: 'test'},
10479
+ LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED,
10480
+ {state}
10481
+ );
10482
+
10483
+ assert.calledWith(
10484
+ TriggerProxy.trigger,
10485
+ meeting,
10486
+ {file: 'meeting/index', function: 'setupLocusControlsListener'},
10487
+ EVENT_TRIGGERS.MEETING_CONTROLS_AUTO_END_MEETING_WARNING_UPDATED,
10488
+ {state}
10489
+ );
10490
+ });
10491
+
10474
10492
  it('listens to CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED', async () => {
10475
10493
  const state = {example: 'value'};
10476
10494
 
@@ -11443,6 +11461,7 @@ describe('plugin-meetings', () => {
11443
11461
  let canShareWhiteBoardSpy;
11444
11462
  let canMoveToLobbySpy;
11445
11463
  let isSpokenLanguageAutoDetectionEnabledSpy;
11464
+ let showAutoEndMeetingWarningSpy;
11446
11465
  // Due to import tree issues, hasHints must be stubed within the scope of the `it`.
11447
11466
 
11448
11467
  beforeEach(() => {
@@ -11474,6 +11493,7 @@ describe('plugin-meetings', () => {
11474
11493
  canUserRenameOthersSpy = sinon.spy(MeetingUtil, 'canUserRenameOthers');
11475
11494
  canShareWhiteBoardSpy = sinon.spy(MeetingUtil, 'canShareWhiteBoard');
11476
11495
  canMoveToLobbySpy = sinon.spy(MeetingUtil, 'canMoveToLobby');
11496
+ showAutoEndMeetingWarningSpy = sinon.spy(MeetingUtil, 'showAutoEndMeetingWarning');
11477
11497
  isSpokenLanguageAutoDetectionEnabledSpy = sinon.spy(MeetingUtil, 'isSpokenLanguageAutoDetectionEnabled');
11478
11498
 
11479
11499
  });
@@ -11481,6 +11501,7 @@ describe('plugin-meetings', () => {
11481
11501
  afterEach(() => {
11482
11502
  inMeetingActionsSetSpy.restore();
11483
11503
  waitingForOthersToJoinSpy.restore();
11504
+ showAutoEndMeetingWarningSpy.restore();
11484
11505
  });
11485
11506
 
11486
11507
  forEach(
@@ -12028,6 +12049,7 @@ describe('plugin-meetings', () => {
12028
12049
  assert.calledWith(canUserRenameOthersSpy, userDisplayHints);
12029
12050
  assert.calledWith(canShareWhiteBoardSpy, userDisplayHints, selfUserPolicies);
12030
12051
  assert.calledWith(canMoveToLobbySpy, userDisplayHints);
12052
+ assert.calledWith(showAutoEndMeetingWarningSpy, userDisplayHints);
12031
12053
  assert.calledWith(isSpokenLanguageAutoDetectionEnabledSpy, userDisplayHints);
12032
12054
 
12033
12055
  assert.calledWith(ControlsOptionsUtil.hasHints, {
@@ -975,6 +975,8 @@ describe('plugin-meetings', () => {
975
975
  {functionName: 'isLocalRecordingStarted',displayHint:'LOCAL_RECORDING_STATUS_STARTED'},
976
976
  {functionName: 'isLocalRecordingStopped', displayHint: 'LOCAL_RECORDING_STATUS_STOPPED'},
977
977
  {functionName: 'isLocalRecordingPaused', displayHint: 'LOCAL_RECORDING_STATUS_PAUSED'},
978
+ {functionName: 'isLocalStreamingStarted',displayHint:'STREAMING_STATUS_STARTED'},
979
+ {functionName: 'isLocalStreamingStopped', displayHint: 'STREAMING_STATUS_STOPPED'},
978
980
 
979
981
  {functionName: 'isManualCaptionActive', displayHint: 'MANUAL_CAPTION_STATUS_ACTIVE'},
980
982
 
@@ -985,9 +987,10 @@ describe('plugin-meetings', () => {
985
987
  {functionName: 'isRealTimeTranslationEnabled', displayHint: 'DISPLAY_REAL_TIME_TRANSLATION'},
986
988
  {functionName: 'canSelectSpokenLanguages', displayHint: 'DISPLAY_NON_ENGLISH_ASR'},
987
989
  {functionName: 'waitingForOthersToJoin', displayHint: 'WAITING_FOR_OTHERS'},
990
+ {functionName: 'showAutoEndMeetingWarning', displayHint: 'SHOW_AUTO_END_MEETING_WARNING'},
988
991
  ].forEach(({functionName, displayHint}) => {
989
992
  describe(functionName, () => {
990
- it('works as expected', () => {
993
+ it.only('works as expected', () => {
991
994
  assert.deepEqual(MeetingUtil[functionName]([displayHint]), true);
992
995
  assert.deepEqual(MeetingUtil[functionName]([]), false);
993
996
  });
@@ -417,6 +417,30 @@ describe('plugin-meetings', () => {
417
417
  });
418
418
  });
419
419
 
420
+ describe('MemberUtil.isSupportsSingleUserAutoEndMeeting', () => {
421
+ it('throws an error when there is no participant', () => {
422
+ assert.throws(() => {
423
+ MemberUtil.isSupportsSingleUserAutoEndMeeting();
424
+ }, 'Single user auto end meeting support could not be processed, participant is undefined.');
425
+ });
426
+
427
+ it('returns true when single user auto end meeting is supported', () => {
428
+ const participant = {
429
+ supportsSingleUserAutoEndMeeting: {},
430
+ };
431
+ assert.isTrue(MemberUtil.isSupportsSingleUserAutoEndMeeting(participant));
432
+ });
433
+
434
+ it('returns false when single user auto end meeting is not supported', () => {
435
+ const participant = {
436
+ doesNotSupportSingleUserAutoEndMeeting: {},
437
+ };
438
+
439
+ assert.isFalse(MemberUtil.isSupportsSingleUserAutoEndMeeting(participant));
440
+ });
441
+ });
442
+
443
+
420
444
  describe('MemberUtil.isLiveAnnotationSupported', () => {
421
445
  it('throws an error when there is no participant', () => {
422
446
  assert.throws(() => {