@webex/plugin-meetings 3.0.0-beta.107 → 3.0.0-beta.109

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 (51) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +21 -2
  4. package/dist/constants.js.map +1 -1
  5. package/dist/controls-options-manager/enums.js +2 -0
  6. package/dist/controls-options-manager/enums.js.map +1 -1
  7. package/dist/controls-options-manager/types.js.map +1 -1
  8. package/dist/controls-options-manager/util.js +36 -0
  9. package/dist/controls-options-manager/util.js.map +1 -1
  10. package/dist/locus-info/controlsUtils.js +39 -1
  11. package/dist/locus-info/controlsUtils.js.map +1 -1
  12. package/dist/locus-info/index.js +55 -0
  13. package/dist/locus-info/index.js.map +1 -1
  14. package/dist/meeting/in-meeting-actions.js +9 -1
  15. package/dist/meeting/in-meeting-actions.js.map +1 -1
  16. package/dist/meeting/index.js +110 -17
  17. package/dist/meeting/index.js.map +1 -1
  18. package/dist/meeting-info/meeting-info-v2.js +33 -17
  19. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  20. package/dist/metrics/config.js +46 -3
  21. package/dist/metrics/config.js.map +1 -1
  22. package/dist/metrics/index.js +32 -1
  23. package/dist/metrics/index.js.map +1 -1
  24. package/dist/types/constants.d.ts +16 -0
  25. package/dist/types/controls-options-manager/enums.d.ts +2 -0
  26. package/dist/types/controls-options-manager/types.d.ts +7 -1
  27. package/dist/types/meeting/in-meeting-actions.d.ts +8 -0
  28. package/dist/types/meeting/index.d.ts +9 -4
  29. package/dist/types/meeting-info/meeting-info-v2.d.ts +4 -1
  30. package/dist/types/metrics/config.d.ts +23 -0
  31. package/dist/types/metrics/index.d.ts +17 -0
  32. package/package.json +19 -19
  33. package/src/constants.ts +22 -0
  34. package/src/controls-options-manager/enums.ts +2 -0
  35. package/src/controls-options-manager/types.ts +10 -0
  36. package/src/controls-options-manager/util.ts +45 -0
  37. package/src/locus-info/controlsUtils.ts +54 -0
  38. package/src/locus-info/index.ts +55 -0
  39. package/src/meeting/in-meeting-actions.ts +16 -0
  40. package/src/meeting/index.ts +107 -16
  41. package/src/meeting-info/meeting-info-v2.ts +22 -6
  42. package/src/metrics/config.ts +46 -0
  43. package/src/metrics/index.ts +29 -0
  44. package/test/unit/spec/controls-options-manager/util.js +108 -7
  45. package/test/unit/spec/locus-info/controlsUtils.js +112 -0
  46. package/test/unit/spec/locus-info/index.js +84 -1
  47. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -0
  48. package/test/unit/spec/meeting/index.js +281 -18
  49. package/test/unit/spec/meeting-info/meetinginfov2.js +81 -16
  50. package/test/unit/spec/meetings/index.js +1 -1
  51. package/test/unit/spec/metrics/index.js +59 -1
@@ -32,6 +32,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
32
32
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
33
33
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
34
34
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
35
+ var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
35
36
  var _defer2 = _interopRequireDefault(require("lodash/defer"));
36
37
  var _isString2 = _interopRequireDefault(require("lodash/isString"));
37
38
  var _pick2 = _interopRequireDefault(require("lodash/pick"));
@@ -1780,11 +1781,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1780
1781
  _context2.next = 10;
1781
1782
  return this.attrs.meetingInfoProvider.fetchMeetingInfo(this.destination, this.destinationType, password, captchaInfo,
1782
1783
  // @ts-ignore - config coming from registerPlugin
1783
- this.config.installedOrgID, this.locusId, extraParams);
1784
+ this.config.installedOrgID, this.locusId, extraParams, {
1785
+ meetingId: this.id
1786
+ });
1784
1787
  case 10:
1785
1788
  info = _context2.sent;
1786
1789
  this.parseMeetingInfo(info, this.destination);
1787
- this.meetingInfo = info ? info.body : null;
1790
+ this.meetingInfo = info ? _objectSpread(_objectSpread({}, info.body), {}, {
1791
+ meetingLookupUrl: info === null || info === void 0 ? void 0 : info.url
1792
+ }) : null;
1788
1793
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NONE;
1789
1794
  this.requiredCaptcha = null;
1790
1795
  if (this.passwordStatus === _constants.PASSWORD_STATUS.REQUIRED || this.passwordStatus === _constants.PASSWORD_STATUS.VERIFIED) {
@@ -2126,7 +2131,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2126
2131
  if (options) {
2127
2132
  var _event = options.event,
2128
2133
  trackingId = options.trackingId,
2129
- _mediaConnections = options.mediaConnections;
2134
+ _mediaConnections = options.mediaConnections,
2135
+ meetingLookupUrl = options.meetingLookupUrl;
2130
2136
  if (!_event) {
2131
2137
  _loggerProxy.default.logger.error('Meeting:index#getAnalyzerMetricsPrePayload --> Error [Call Analyzer Event', _event || '', "]: invalid identifers or event type! ".concat(this.correlationId));
2132
2138
  return null;
@@ -2156,6 +2162,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2156
2162
  identifiers.mediaAgentGroupId = (_this$mediaConnection2 = this.mediaConnections) === null || _this$mediaConnection2 === void 0 ? void 0 : _this$mediaConnection2[0].mediaAgentGroupId;
2157
2163
  identifiers.mediaAgentCluster = (_this$mediaConnection3 = this.mediaConnections) === null || _this$mediaConnection3 === void 0 ? void 0 : _this$mediaConnection3[0].mediaAgentCluster;
2158
2164
  }
2165
+ if (meetingLookupUrl) {
2166
+ identifiers.meetingLookupUrl = meetingLookupUrl;
2167
+ }
2159
2168
  if (options.trackingId) {
2160
2169
  identifiers.trackingId = trackingId;
2161
2170
  }
@@ -2515,6 +2524,60 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2515
2524
  entryExitTone: entryExitTone
2516
2525
  });
2517
2526
  });
2527
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref12) {
2528
+ var state = _ref12.state;
2529
+ _triggerProxy.default.trigger(_this12, {
2530
+ file: 'meeting/index',
2531
+ function: 'setupLocusControlsListener'
2532
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED, {
2533
+ state: state
2534
+ });
2535
+ });
2536
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref13) {
2537
+ var state = _ref13.state;
2538
+ _triggerProxy.default.trigger(_this12, {
2539
+ file: 'meeting/index',
2540
+ function: 'setupLocusControlsListener'
2541
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_SHARE_CONTROL_UPDATED, {
2542
+ state: state
2543
+ });
2544
+ });
2545
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref14) {
2546
+ var state = _ref14.state;
2547
+ _triggerProxy.default.trigger(_this12, {
2548
+ file: 'meeting/index',
2549
+ function: 'setupLocusControlsListener'
2550
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED, {
2551
+ state: state
2552
+ });
2553
+ });
2554
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref15) {
2555
+ var state = _ref15.state;
2556
+ _triggerProxy.default.trigger(_this12, {
2557
+ file: 'meeting/index',
2558
+ function: 'setupLocusControlsListener'
2559
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_REACTIONS_UPDATED, {
2560
+ state: state
2561
+ });
2562
+ });
2563
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref16) {
2564
+ var state = _ref16.state;
2565
+ _triggerProxy.default.trigger(_this12, {
2566
+ file: 'meeting/index',
2567
+ function: 'setupLocusControlsListener'
2568
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED, {
2569
+ state: state
2570
+ });
2571
+ });
2572
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref17) {
2573
+ var state = _ref17.state;
2574
+ _triggerProxy.default.trigger(_this12, {
2575
+ file: 'meeting/index',
2576
+ function: 'setupLocusControlsListener'
2577
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_RAISE_HAND_UPDATED, {
2578
+ state: state
2579
+ });
2580
+ });
2518
2581
  }
2519
2582
 
2520
2583
  /**
@@ -2531,7 +2594,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2531
2594
  var _this13 = this;
2532
2595
  // Will get triggered on local and remote share
2533
2596
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
2534
- var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(payload) {
2597
+ var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(payload) {
2535
2598
  var _payload$previous, _payload$previous2;
2536
2599
  var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$mediaProperti, localShareTrack, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti2;
2537
2600
  return _regenerator.default.wrap(function _callee3$(_context3) {
@@ -2746,7 +2809,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2746
2809
  }, _callee3, null, [[13, 23], [50,, 59, 62]]);
2747
2810
  }));
2748
2811
  return function (_x2) {
2749
- return _ref12.apply(this, arguments);
2812
+ return _ref18.apply(this, arguments);
2750
2813
  };
2751
2814
  }());
2752
2815
  }
@@ -2915,6 +2978,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2915
2978
  canDisableViewTheParticipantsList: _util3.default.hasHints({
2916
2979
  requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
2917
2980
  displayHints: payload.info.userDisplayHints
2981
+ }),
2982
+ canEnableRaiseHand: _util3.default.hasHints({
2983
+ requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
2984
+ displayHints: payload.info.userDisplayHints
2985
+ }),
2986
+ canDisableRaiseHand: _util3.default.hasHints({
2987
+ requiredHints: [_constants.DISPLAY_HINTS.DISABLE_RAISE_HAND],
2988
+ displayHints: payload.info.userDisplayHints
2989
+ }),
2990
+ canEnableVideo: _util3.default.hasHints({
2991
+ requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIDEO],
2992
+ displayHints: payload.info.userDisplayHints
2993
+ }),
2994
+ canDisableVideo: _util3.default.hasHints({
2995
+ requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
2996
+ displayHints: payload.info.userDisplayHints
2918
2997
  })
2919
2998
  });
2920
2999
  _this16.recordingController.setDisplayHints(payload.info.userDisplayHints);
@@ -4192,10 +4271,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4192
4271
  joinOptions = options.joinOptions,
4193
4272
  audioVideoOptions = options.audioVideoOptions;
4194
4273
  return this.join(joinOptions).then(function (joinResponse) {
4195
- return _this30.getMediaStreams(mediaSettings, audioVideoOptions).then(function (_ref13) {
4196
- var _ref14 = (0, _slicedToArray2.default)(_ref13, 2),
4197
- localStream = _ref14[0],
4198
- localShare = _ref14[1];
4274
+ return _this30.getMediaStreams(mediaSettings, audioVideoOptions).then(function (_ref19) {
4275
+ var _ref20 = (0, _slicedToArray2.default)(_ref19, 2),
4276
+ localStream = _ref20[0],
4277
+ localShare = _ref20[1];
4199
4278
  return _this30.addMedia({
4200
4279
  mediaSettings: mediaSettings,
4201
4280
  localShare: localShare,
@@ -4510,6 +4589,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4510
4589
  isRoapCallEnabled: true
4511
4590
  }
4512
4591
  });
4592
+ if (!(0, _isEmpty2.default)(this.meetingInfo)) {
4593
+ var _this$meetingInfo;
4594
+ _metrics.default.postEvent({
4595
+ event: _config.eventType.MEETING_INFO_REQUEST,
4596
+ meeting: this
4597
+ });
4598
+ _metrics.default.postEvent({
4599
+ event: _config.eventType.MEETING_INFO_RESPONSE,
4600
+ meeting: this,
4601
+ data: {
4602
+ meetingLookupUrl: (_this$meetingInfo = this.meetingInfo) === null || _this$meetingInfo === void 0 ? void 0 : _this$meetingInfo.meetingLookupUrl
4603
+ }
4604
+ });
4605
+ }
4513
4606
  _loggerProxy.default.logger.log('Meeting:index#join --> Joining a meeting');
4514
4607
  if (this.meetingFiniteStateMachine.state === _constants.MEETING_STATE_MACHINE.STATES.ENDED) {
4515
4608
  this.meetingFiniteStateMachine.reset();
@@ -4565,7 +4658,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4565
4658
  });
4566
4659
  return join;
4567
4660
  }).then( /*#__PURE__*/function () {
4568
- var _ref15 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(join) {
4661
+ var _ref21 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(join) {
4569
4662
  return _regenerator.default.wrap(function _callee5$(_context5) {
4570
4663
  while (1) switch (_context5.prev = _context5.next) {
4571
4664
  case 0:
@@ -4588,10 +4681,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4588
4681
  }, _callee5);
4589
4682
  }));
4590
4683
  return function (_x3) {
4591
- return _ref15.apply(this, arguments);
4684
+ return _ref21.apply(this, arguments);
4592
4685
  };
4593
4686
  }()).then( /*#__PURE__*/function () {
4594
- var _ref16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(join) {
4687
+ var _ref22 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(join) {
4595
4688
  return _regenerator.default.wrap(function _callee6$(_context6) {
4596
4689
  while (1) switch (_context6.prev = _context6.next) {
4597
4690
  case 0:
@@ -4625,7 +4718,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4625
4718
  }, _callee6);
4626
4719
  }));
4627
4720
  return function (_x4) {
4628
- return _ref16.apply(this, arguments);
4721
+ return _ref22.apply(this, arguments);
4629
4722
  };
4630
4723
  }()).catch(function (error) {
4631
4724
  var _error$error;
@@ -6260,12 +6353,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6260
6353
  // open bug link: https://bugs.chromium.org/p/chromium/issues/detail?id=943469
6261
6354
  if (isBrowser('chrome') && this.mediaProperties.videoTrack) _media.default.stopTracks(this.mediaProperties.videoTrack);
6262
6355
  return this.getMediaStreams(mediaDirection, _constants.VIDEO_RESOLUTIONS[level]).then( /*#__PURE__*/function () {
6263
- var _ref19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(_ref18) {
6264
- var _ref20, localStream;
6356
+ var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(_ref24) {
6357
+ var _ref26, localStream;
6265
6358
  return _regenerator.default.wrap(function _callee11$(_context11) {
6266
6359
  while (1) switch (_context11.prev = _context11.next) {
6267
6360
  case 0:
6268
- _ref20 = (0, _slicedToArray2.default)(_ref18, 1), localStream = _ref20[0];
6361
+ _ref26 = (0, _slicedToArray2.default)(_ref24, 1), localStream = _ref26[0];
6269
6362
  _context11.next = 3;
6270
6363
  return _this54.updateVideo({
6271
6364
  sendVideo: true,
@@ -6281,7 +6374,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6281
6374
  }, _callee11);
6282
6375
  }));
6283
6376
  return function (_x6) {
6284
- return _ref19.apply(this, arguments);
6377
+ return _ref25.apply(this, arguments);
6285
6378
  };
6286
6379
  }());
6287
6380
  }