@webex/plugin-meetings 3.0.0-beta.326 → 3.0.0-beta.327

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.
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "3.0.0-beta.326"
212
+ version: "3.0.0-beta.327"
213
213
  });
214
214
  var _default = Breakout;
215
215
  exports.default = _default;
@@ -1041,7 +1041,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1041
1041
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1042
1042
  }
1043
1043
  },
1044
- version: "3.0.0-beta.326"
1044
+ version: "3.0.0-beta.327"
1045
1045
  });
1046
1046
  var _default = Breakouts;
1047
1047
  exports.default = _default;
@@ -359,7 +359,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
359
359
  throw error;
360
360
  });
361
361
  },
362
- version: "3.0.0-beta.326"
362
+ version: "3.0.0-beta.327"
363
363
  });
364
364
  var _default = SimultaneousInterpretation;
365
365
  exports.default = _default;
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.0.0-beta.326"
21
+ version: "3.0.0-beta.327"
22
22
  });
23
23
  var _default = SILanguage;
24
24
  exports.default = _default;
@@ -1055,6 +1055,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1055
1055
  }
1056
1056
  }, _callee2, null, [[4, 9]]);
1057
1057
  })));
1058
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamMuteStateChange", function (muted) {
1059
+ _loggerProxy.default.logger.log("Meeting:index#handleShareVideoStreamMuteStateChange --> Share video stream mute state changed to muted ".concat(muted));
1060
+ _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE, {
1061
+ correlationId: _this.correlationId,
1062
+ muted: muted
1063
+ });
1064
+ });
1058
1065
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
1059
1066
  return _regenerator.default.wrap(function _callee3$(_context3) {
1060
1067
  while (1) switch (_context3.prev = _context3.next) {
@@ -2017,7 +2024,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2017
2024
  value: function () {
2018
2025
  var _refreshPermissionToken = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(reason) {
2019
2026
  var _this$meetingInfo;
2020
- var isStartingSpaceInstantV2Meeting, destination, destinationType, timeLeft;
2027
+ var isStartingSpaceInstantV2Meeting, destination, destinationType, _this$getPermissionTo, timeLeft, expiryTime, currentTime;
2021
2028
  return _regenerator.default.wrap(function _callee5$(_context5) {
2022
2029
  while (1) switch (_context5.prev = _context5.next) {
2023
2030
  case 0:
@@ -2035,11 +2042,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2035
2042
  this.webex.meetings.preferredWebexSite;
2036
2043
  destination = isStartingSpaceInstantV2Meeting ? this.meetingInfo.meetingJoinUrl : this.destination;
2037
2044
  destinationType = isStartingSpaceInstantV2Meeting ? _constants._MEETING_LINK_ : this.destinationType;
2038
- timeLeft = this.getPermissionTokenTimeLeftInSec();
2039
- _loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> refreshing permission token, destinationType=".concat(destinationType, ", timeLeft=").concat(timeLeft, ", reason=").concat(reason));
2045
+ _this$getPermissionTo = this.getPermissionTokenExpiryInfo(), timeLeft = _this$getPermissionTo.timeLeft, expiryTime = _this$getPermissionTo.expiryTime, currentTime = _this$getPermissionTo.currentTime;
2046
+ _loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> refreshing permission token, destinationType=".concat(destinationType, ", timeLeft=").concat(timeLeft, ", permissionTokenExpiry=").concat(expiryTime, ", currentTimestamp=").concat(currentTime, ",reason=").concat(reason));
2040
2047
  _metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH, {
2041
2048
  correlationId: this.correlationId,
2042
2049
  timeLeft: timeLeft,
2050
+ expiryTime: expiryTime,
2051
+ currentTime: currentTime,
2043
2052
  reason: reason,
2044
2053
  destinationType: destinationType
2045
2054
  });
@@ -4025,22 +4034,24 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4025
4034
  while (1) switch (_context11.prev = _context11.next) {
4026
4035
  case 0:
4027
4036
  oldStream = this.mediaProperties.shareVideoStream;
4037
+ oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.MuteStateChange, this.handleShareVideoStreamMuteStateChange);
4028
4038
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
4029
4039
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4030
4040
  this.mediaProperties.setLocalShareVideoStream(localDisplayStream);
4041
+ localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.StreamEventNames.MuteStateChange, this.handleShareVideoStreamMuteStateChange);
4031
4042
  localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
4032
4043
  localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4033
4044
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
4034
4045
  if (!(!this.isMultistream || !localDisplayStream)) {
4035
- _context11.next = 10;
4046
+ _context11.next = 12;
4036
4047
  break;
4037
4048
  }
4038
- _context11.next = 10;
4039
- return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
4040
- case 10:
4041
4049
  _context11.next = 12;
4042
- return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
4050
+ return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
4043
4051
  case 12:
4052
+ _context11.next = 14;
4053
+ return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
4054
+ case 14:
4044
4055
  case "end":
4045
4056
  return _context11.stop();
4046
4057
  }
@@ -4135,9 +4146,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4135
4146
  audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4136
4147
  videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.StreamEventNames.MuteStateChange, this.localVideoStreamMuteStateHandler);
4137
4148
  videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4138
- shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.MuteStateChange, this.handleShareAudioStreamEnded);
4149
+ shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
4139
4150
  shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4140
- shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.StreamEventNames.MuteStateChange, this.handleShareVideoStreamEnded);
4151
+ shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.StreamEventNames.MuteStateChange, this.handleShareVideoStreamMuteStateChange);
4152
+ shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
4141
4153
  shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4142
4154
  this.mediaProperties.setLocalAudioStream(undefined);
4143
4155
  this.mediaProperties.setLocalVideoStream(undefined);
@@ -6706,6 +6718,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6706
6718
  resourceUrl: this.resourceUrl
6707
6719
  }).then(function () {
6708
6720
  _this46.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
6721
+ _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
6722
+ correlation_id: _this46.correlationId,
6723
+ locus_id: _this46.locusUrl.split('/').pop()
6724
+ });
6709
6725
  return _promise.default.resolve();
6710
6726
  }).catch(function (error) {
6711
6727
  _loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
@@ -7595,14 +7611,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
7595
7611
  return unpublishStreams;
7596
7612
  }()
7597
7613
  /**
7598
- * Gets the time left in seconds till the permission token expires
7614
+ * Gets permission token expiry information including timeLeft, expiryTime, currentTime
7599
7615
  * (from the time the function has been fired)
7600
7616
  *
7601
- * @returns {number} time left in seconds
7617
+ * @returns {object} containing timeLeft, expiryTime, currentTime
7602
7618
  */
7603
7619
  }, {
7604
- key: "getPermissionTokenTimeLeftInSec",
7605
- value: function getPermissionTokenTimeLeftInSec() {
7620
+ key: "getPermissionTokenExpiryInfo",
7621
+ value: function getPermissionTokenExpiryInfo() {
7606
7622
  if (!this.permissionTokenPayload) {
7607
7623
  return undefined;
7608
7624
  }
@@ -7614,7 +7630,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
7614
7630
 
7615
7631
  // substract current time from the permissionTokenExp
7616
7632
  // (permissionTokenExp is a epoch timestamp, not a time to live duration)
7617
- return (permissionTokenExpValue - now) / 1000;
7633
+ var timeLeft = (permissionTokenExpValue - now) / 1000;
7634
+ return {
7635
+ timeLeft: timeLeft,
7636
+ expiryTime: permissionTokenExpValue,
7637
+ currentTime: now
7638
+ };
7618
7639
  }
7619
7640
 
7620
7641
  /**
@@ -7628,8 +7649,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
7628
7649
  }, {
7629
7650
  key: "checkAndRefreshPermissionToken",
7630
7651
  value: function checkAndRefreshPermissionToken(threshold, reason) {
7631
- var permissionTokenTimeLeft = this.getPermissionTokenTimeLeftInSec();
7632
- if (permissionTokenTimeLeft !== undefined && permissionTokenTimeLeft <= threshold) {
7652
+ var _this$getPermissionTo2 = this.getPermissionTokenExpiryInfo(),
7653
+ timeLeft = _this$getPermissionTo2.timeLeft;
7654
+ if (timeLeft !== undefined && timeLeft <= threshold) {
7633
7655
  return this.refreshPermissionToken(reason);
7634
7656
  }
7635
7657
  return _promise.default.resolve();