@webex/plugin-meetings 3.0.0-beta.115 → 3.0.0-beta.117

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 (53) hide show
  1. package/dist/breakouts/breakout.js +23 -6
  2. package/dist/breakouts/breakout.js.map +1 -1
  3. package/dist/breakouts/index.js +178 -139
  4. package/dist/breakouts/index.js.map +1 -1
  5. package/dist/constants.js +1 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/locus-info/mediaSharesUtils.js +15 -1
  8. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  9. package/dist/meeting/index.js +73 -103
  10. package/dist/meeting/index.js.map +1 -1
  11. package/dist/meeting/locusMediaRequest.js +3 -0
  12. package/dist/meeting/locusMediaRequest.js.map +1 -1
  13. package/dist/meeting/muteState.js +1 -1
  14. package/dist/meeting/muteState.js.map +1 -1
  15. package/dist/meeting/request.js +27 -20
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.js +463 -426
  18. package/dist/meeting/util.js.map +1 -1
  19. package/dist/members/index.js +4 -1
  20. package/dist/members/index.js.map +1 -1
  21. package/dist/members/request.js +75 -45
  22. package/dist/members/request.js.map +1 -1
  23. package/dist/members/util.js +308 -317
  24. package/dist/members/util.js.map +1 -1
  25. package/dist/types/constants.d.ts +1 -0
  26. package/dist/types/meeting/index.d.ts +20 -21
  27. package/dist/types/meeting/locusMediaRequest.d.ts +2 -0
  28. package/dist/types/meeting/request.d.ts +16 -8
  29. package/dist/types/meeting/util.d.ts +75 -1
  30. package/dist/types/members/request.d.ts +56 -11
  31. package/dist/types/members/util.d.ts +209 -1
  32. package/package.json +19 -19
  33. package/src/breakouts/breakout.ts +26 -4
  34. package/src/breakouts/index.ts +32 -17
  35. package/src/constants.ts +1 -0
  36. package/src/locus-info/mediaSharesUtils.ts +16 -0
  37. package/src/meeting/index.ts +20 -42
  38. package/src/meeting/locusMediaRequest.ts +6 -0
  39. package/src/meeting/muteState.ts +1 -1
  40. package/src/meeting/request.ts +26 -17
  41. package/src/meeting/util.ts +446 -410
  42. package/src/members/index.ts +7 -1
  43. package/src/members/request.ts +61 -21
  44. package/src/members/util.ts +316 -326
  45. package/test/unit/spec/breakouts/breakout.ts +26 -7
  46. package/test/unit/spec/breakouts/index.ts +48 -3
  47. package/test/unit/spec/meeting/index.js +53 -33
  48. package/test/unit/spec/meeting/locusMediaRequest.ts +25 -3
  49. package/test/unit/spec/meeting/muteState.js +5 -2
  50. package/test/unit/spec/meeting/request.js +215 -42
  51. package/test/unit/spec/meeting/utils.js +151 -7
  52. package/test/unit/spec/members/index.js +22 -1
  53. package/test/unit/spec/members/request.js +167 -35
@@ -1288,7 +1288,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1288
1288
  _this.members = new _index2.default({
1289
1289
  locusUrl: attrs.locus && attrs.locus.url,
1290
1290
  receiveSlotManager: _this.receiveSlotManager,
1291
- mediaRequestManagers: _this.mediaRequestManagers
1291
+ mediaRequestManagers: _this.mediaRequestManagers,
1292
+ meeting: (0, _assertThisInitialized2.default)(_this)
1292
1293
  },
1293
1294
  // @ts-ignore - Fix type
1294
1295
  {
@@ -1434,7 +1435,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1434
1435
  * @private
1435
1436
  * @memberof Meeting
1436
1437
  */
1437
- _this.meetingRequest = new _request.default({}, _options);
1438
+ _this.meetingRequest = new _request.default({
1439
+ meeting: (0, _assertThisInitialized2.default)(_this)
1440
+ }, _options);
1438
1441
  /**
1439
1442
  * @instance
1440
1443
  * @type {Array}
@@ -2608,64 +2611,70 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2608
2611
  _payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
2609
2612
  previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
2610
2613
  previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
2614
+ if (!(0, _isEqual2.default)(contentShare === null || contentShare === void 0 ? void 0 : contentShare.annotation, previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.annotation)) {
2615
+ _triggerProxy.default.trigger(_this13, {
2616
+ file: 'meetings/index',
2617
+ function: 'remoteShare'
2618
+ }, _constants.EVENT_TRIGGERS.MEETING_UPDATE_ANNOTATION_INFO, contentShare.annotation);
2619
+ }
2611
2620
  if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl))) {
2612
- _context3.next = 5;
2621
+ _context3.next = 6;
2613
2622
  break;
2614
2623
  }
2615
2624
  return _context3.abrupt("return");
2616
- case 5:
2625
+ case 6:
2617
2626
  newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
2618
2627
  if (!(_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED)) {
2619
- _context3.next = 10;
2628
+ _context3.next = 11;
2620
2629
  break;
2621
2630
  }
2622
2631
  // CONTENT - sharing content remote
2623
2632
  newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
2624
- _context3.next = 32;
2633
+ _context3.next = 33;
2625
2634
  break;
2626
- case 10:
2635
+ case 11:
2627
2636
  if (!(_this13.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED)) {
2628
- _context3.next = 31;
2637
+ _context3.next = 32;
2629
2638
  break;
2630
2639
  }
2631
2640
  // @ts-ignore originalTrack is private - this will be fixed when SPARK-399695 is done
2632
2641
  localShareTrack = (_this13$mediaProperti = _this13.mediaProperties.shareTrack) === null || _this13$mediaProperti === void 0 ? void 0 : _this13$mediaProperti.originalTrack; // todo: remove this block of code and instead make sure we have LocalTrackEvents.Ended listener always registered (SPARK-399695)
2633
2642
  if (!((localShareTrack === null || localShareTrack === void 0 ? void 0 : localShareTrack.readyState) === 'ended')) {
2634
- _context3.next = 28;
2643
+ _context3.next = 29;
2635
2644
  break;
2636
2645
  }
2637
- _context3.prev = 13;
2646
+ _context3.prev = 14;
2638
2647
  if (!_this13.isMultistream) {
2639
- _context3.next = 19;
2648
+ _context3.next = 20;
2640
2649
  break;
2641
2650
  }
2642
- _context3.next = 17;
2651
+ _context3.next = 18;
2643
2652
  return _this13.unpublishTracks([_this13.mediaProperties.shareTrack]);
2644
- case 17:
2645
- _context3.next = 21;
2653
+ case 18:
2654
+ _context3.next = 22;
2646
2655
  break;
2647
- case 19:
2648
- _context3.next = 21;
2656
+ case 20:
2657
+ _context3.next = 22;
2649
2658
  return _this13.stopShare({
2650
2659
  skipSignalingCheck: true
2651
2660
  });
2652
- case 21:
2653
- _context3.next = 26;
2661
+ case 22:
2662
+ _context3.next = 27;
2654
2663
  break;
2655
- case 23:
2656
- _context3.prev = 23;
2657
- _context3.t0 = _context3["catch"](13);
2664
+ case 24:
2665
+ _context3.prev = 24;
2666
+ _context3.t0 = _context3["catch"](14);
2658
2667
  _loggerProxy.default.logger.log('Meeting:index#setUpLocusMediaSharesListener --> Error stopping share: ', _context3.t0);
2659
- case 26:
2660
- _context3.next = 29;
2668
+ case 27:
2669
+ _context3.next = 30;
2661
2670
  break;
2662
- case 28:
2671
+ case 29:
2663
2672
  // CONTENT - sharing content local
2664
2673
  newShareStatus = _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
2665
- case 29:
2666
- _context3.next = 32;
2674
+ case 30:
2675
+ _context3.next = 33;
2667
2676
  break;
2668
- case 31:
2677
+ case 32:
2669
2678
  if (whiteboardShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
2670
2679
  // WHITEBOARD - sharing whiteboard
2671
2680
  newShareStatus = _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE;
@@ -2674,9 +2683,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2674
2683
  else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
2675
2684
  newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
2676
2685
  }
2677
- case 32:
2686
+ case 33:
2678
2687
  if (!(newShareStatus !== _this13.shareStatus)) {
2679
- _context3.next = 74;
2688
+ _context3.next = 75;
2680
2689
  break;
2681
2690
  }
2682
2691
  oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
@@ -2684,37 +2693,37 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2684
2693
 
2685
2694
  // send out "stop" notifications for the old state
2686
2695
  _context3.t1 = oldShareStatus;
2687
- _context3.next = _context3.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 38 : _context3.t1 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 40 : _context3.t1 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 42 : _context3.t1 === _constants.SHARE_STATUS.NO_SHARE ? 44 : 45;
2696
+ _context3.next = _context3.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 39 : _context3.t1 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 41 : _context3.t1 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 43 : _context3.t1 === _constants.SHARE_STATUS.NO_SHARE ? 45 : 46;
2688
2697
  break;
2689
- case 38:
2698
+ case 39:
2690
2699
  _triggerProxy.default.trigger(_this13, {
2691
2700
  file: 'meetings/index',
2692
2701
  function: 'remoteShare'
2693
2702
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
2694
- return _context3.abrupt("break", 46);
2695
- case 40:
2703
+ return _context3.abrupt("break", 47);
2704
+ case 41:
2696
2705
  _triggerProxy.default.trigger(_this13, {
2697
2706
  file: 'meeting/index',
2698
2707
  function: 'localShare'
2699
2708
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
2700
2709
  reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
2701
2710
  });
2702
- return _context3.abrupt("break", 46);
2703
- case 42:
2711
+ return _context3.abrupt("break", 47);
2712
+ case 43:
2704
2713
  _triggerProxy.default.trigger(_this13, {
2705
2714
  file: 'meeting/index',
2706
2715
  function: 'stopWhiteboardShare'
2707
2716
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
2708
- return _context3.abrupt("break", 46);
2709
- case 44:
2710
- return _context3.abrupt("break", 46);
2717
+ return _context3.abrupt("break", 47);
2711
2718
  case 45:
2712
- return _context3.abrupt("break", 46);
2719
+ return _context3.abrupt("break", 47);
2713
2720
  case 46:
2721
+ return _context3.abrupt("break", 47);
2722
+ case 47:
2714
2723
  _context3.t2 = newShareStatus;
2715
- _context3.next = _context3.t2 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 49 : _context3.t2 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 63 : _context3.t2 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 66 : _context3.t2 === _constants.SHARE_STATUS.NO_SHARE ? 69 : 70;
2724
+ _context3.next = _context3.t2 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 50 : _context3.t2 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 64 : _context3.t2 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 67 : _context3.t2 === _constants.SHARE_STATUS.NO_SHARE ? 70 : 71;
2716
2725
  break;
2717
- case 49:
2726
+ case 50:
2718
2727
  sendStartedSharingRemote = function sendStartedSharingRemote() {
2719
2728
  _triggerProxy.default.trigger(_this13, {
2720
2729
  file: 'meetings/index',
@@ -2723,33 +2732,33 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2723
2732
  memberId: contentShare.beneficiaryId
2724
2733
  });
2725
2734
  };
2726
- _context3.prev = 50;
2735
+ _context3.prev = 51;
2727
2736
  if (!((_this13$mediaProperti2 = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti2 !== void 0 && _this13$mediaProperti2.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
2728
- _context3.next = 59;
2737
+ _context3.next = 60;
2729
2738
  break;
2730
2739
  }
2731
2740
  if (!_this13.isMultistream) {
2732
- _context3.next = 57;
2741
+ _context3.next = 58;
2733
2742
  break;
2734
2743
  }
2735
- _context3.next = 55;
2744
+ _context3.next = 56;
2736
2745
  return _this13.unpublishTracks([_this13.mediaProperties.shareTrack]);
2737
- case 55:
2738
- _context3.next = 59;
2746
+ case 56:
2747
+ _context3.next = 60;
2739
2748
  break;
2740
- case 57:
2741
- _context3.next = 59;
2749
+ case 58:
2750
+ _context3.next = 60;
2742
2751
  return _this13.updateShare({
2743
2752
  sendShare: false,
2744
2753
  receiveShare: _this13.mediaProperties.mediaDirection.receiveShare
2745
2754
  });
2746
- case 59:
2747
- _context3.prev = 59;
2755
+ case 60:
2756
+ _context3.prev = 60;
2748
2757
  sendStartedSharingRemote();
2749
- return _context3.finish(59);
2750
- case 62:
2751
- return _context3.abrupt("break", 71);
2758
+ return _context3.finish(60);
2752
2759
  case 63:
2760
+ return _context3.abrupt("break", 72);
2761
+ case 64:
2753
2762
  _triggerProxy.default.trigger(_this13, {
2754
2763
  file: 'meeting/index',
2755
2764
  function: 'share'
@@ -2758,8 +2767,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2758
2767
  event: _config.eventType.LOCAL_SHARE_FLOOR_GRANTED,
2759
2768
  meeting: _this13
2760
2769
  });
2761
- return _context3.abrupt("break", 71);
2762
- case 66:
2770
+ return _context3.abrupt("break", 72);
2771
+ case 67:
2763
2772
  _triggerProxy.default.trigger(_this13, {
2764
2773
  file: 'meeting/index',
2765
2774
  function: 'startWhiteboardShare'
@@ -2771,16 +2780,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2771
2780
  event: _config.eventType.WHITEBOARD_SHARE_FLOOR_GRANTED,
2772
2781
  meeting: _this13
2773
2782
  });
2774
- return _context3.abrupt("break", 71);
2775
- case 69:
2776
- return _context3.abrupt("break", 71);
2783
+ return _context3.abrupt("break", 72);
2777
2784
  case 70:
2778
- return _context3.abrupt("break", 71);
2785
+ return _context3.abrupt("break", 72);
2779
2786
  case 71:
2787
+ return _context3.abrupt("break", 72);
2788
+ case 72:
2780
2789
  _this13.members.locusMediaSharesUpdate(payload);
2781
- _context3.next = 75;
2790
+ _context3.next = 76;
2782
2791
  break;
2783
- case 74:
2792
+ case 75:
2784
2793
  if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
2785
2794
  // if we got here, then some remote participant has stolen
2786
2795
  // the presentation from another remote participant
@@ -2807,11 +2816,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2807
2816
  });
2808
2817
  _this13.members.locusMediaSharesUpdate(payload);
2809
2818
  }
2810
- case 75:
2819
+ case 76:
2811
2820
  case "end":
2812
2821
  return _context3.stop();
2813
2822
  }
2814
- }, _callee3, null, [[13, 23], [50,, 59, 62]]);
2823
+ }, _callee3, null, [[14, 24], [51,, 60, 63]]);
2815
2824
  }));
2816
2825
  return function (_x2) {
2817
2826
  return _ref18.apply(this, arguments);
@@ -3534,37 +3543,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3534
3543
  }
3535
3544
  }
3536
3545
 
3537
- /**
3538
- * Sets the first locus info on the class instance
3539
- * @param {Object} locus
3540
- * @param {String} locus.url
3541
- * @param {Array} locus.participants
3542
- * @param {Object} locus.self
3543
- * @returns {undefined}
3544
- * @private
3545
- * @memberof Meeting
3546
- */
3547
- }, {
3548
- key: "parseLocus",
3549
- value: function parseLocus(locus) {
3550
- if (locus) {
3551
- this.locusUrl = locus.url;
3552
- // TODO: move this to parse participants module
3553
- this.setLocus(locus);
3554
-
3555
- // check if we can extract this info from partner
3556
- // Parsing of locus object must be finished at this state
3557
- if (locus.participants && locus.self) {
3558
- this.partner = _util.default.getLocusPartner(locus.participants, locus.self);
3559
- }
3560
-
3561
- // For webex meeting the sipUrl gets updated in info parser
3562
- if (!this.sipUri && this.partner && this.type === _constants._CALL_) {
3563
- this.setSipUri(this.partner.person.sipUrl || this.partner.person.id);
3564
- }
3565
- }
3566
- }
3567
-
3568
3546
  /**
3569
3547
  * Sets the sip uri on the class instance
3570
3548
  * uses meeting info as precedence
@@ -4859,8 +4837,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4859
4837
  dialInUrl: this.dialInUrl,
4860
4838
  locusUrl: locusUrl,
4861
4839
  clientUrl: this.deviceUrl
4862
- }).then(function (res) {
4863
- _this35.locusInfo.onFullLocus(res.body.locus);
4864
4840
  }).catch(function (error) {
4865
4841
  var _error$error2;
4866
4842
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
@@ -4899,8 +4875,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4899
4875
  phoneNumber: phoneNumber,
4900
4876
  locusUrl: locusUrl,
4901
4877
  clientUrl: this.deviceUrl
4902
- }).then(function (res) {
4903
- _this36.locusInfo.onFullLocus(res.body.locus);
4904
4878
  }).catch(function (error) {
4905
4879
  var _error$error3;
4906
4880
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
@@ -6325,10 +6299,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6325
6299
  layoutType: layoutType,
6326
6300
  main: layoutInfo.main,
6327
6301
  content: layoutInfo.content
6328
- }).then(function (response) {
6329
- if (response && response.body && response.body.locus) {
6330
- _this53.locusInfo.onFullLocus(response.body.locus);
6331
- }
6332
6302
  }).catch(function (error) {
6333
6303
  _loggerProxy.default.logger.error('Meeting:index#changeVideoLayout --> Error ', error);
6334
6304
  return _promise.default.reject(error);