@webex/plugin-meetings 3.8.0-next.34 → 3.8.0-next.36

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.8.0-next.34"
212
+ version: "3.8.0-next.36"
213
213
  });
214
214
  var _default = exports.default = Breakout;
215
215
  //# sourceMappingURL=breakout.js.map
@@ -1046,7 +1046,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1046
1046
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1047
1047
  }
1048
1048
  },
1049
- version: "3.8.0-next.34"
1049
+ version: "3.8.0-next.36"
1050
1050
  });
1051
1051
  var _default = exports.default = Breakouts;
1052
1052
  //# sourceMappingURL=index.js.map
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
373
373
  throw error;
374
374
  });
375
375
  },
376
- version: "3.8.0-next.34"
376
+ version: "3.8.0-next.36"
377
377
  });
378
378
  var _default = exports.default = SimultaneousInterpretation;
379
379
  //# sourceMappingURL=index.js.map
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.8.0-next.34"
21
+ version: "3.8.0-next.36"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -507,6 +507,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
507
507
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "allowMediaInLobby", void 0);
508
508
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "localShareInstanceId", void 0);
509
509
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "remoteShareInstanceId", void 0);
510
+ (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "shareCAEventSentStatus", void 0);
510
511
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnDiscoverySkippedReason", void 0);
511
512
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
512
513
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
@@ -1086,85 +1087,101 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1086
1087
  file: 'meeting/index',
1087
1088
  function: 'addMedia'
1088
1089
  }, _constants.EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED, data);
1089
- // @ts-ignore
1090
- _this.webex.internal.newMetrics.submitClientEvent({
1091
- name: 'client.media.tx.start',
1092
- payload: {
1093
- mediaType: data.mediaType,
1094
- shareInstanceId: data.mediaType === 'share' ? _this.localShareInstanceId : undefined
1095
- },
1096
- options: {
1097
- meetingId: _this.id
1090
+ if (data.mediaType !== 'share' || !_this.shareCAEventSentStatus.transmitStart) {
1091
+ // @ts-ignore
1092
+ _this.webex.internal.newMetrics.submitClientEvent({
1093
+ name: 'client.media.tx.start',
1094
+ payload: {
1095
+ mediaType: data.mediaType,
1096
+ shareInstanceId: data.mediaType === 'share' ? _this.localShareInstanceId : undefined
1097
+ },
1098
+ options: {
1099
+ meetingId: _this.id
1100
+ }
1101
+ });
1102
+ if (data.mediaType === 'share') {
1103
+ _this.shareCAEventSentStatus.transmitStart = true;
1098
1104
  }
1099
- });
1105
+ }
1100
1106
  });
1101
1107
  _this.statsAnalyzer.on(_internalMediaCore.StatsAnalyzerEventNames.LOCAL_MEDIA_STOPPED, function (data) {
1102
- // @ts-ignore
1103
- _this.webex.internal.newMetrics.submitClientEvent({
1104
- name: 'client.media.tx.stop',
1105
- payload: {
1106
- mediaType: data.mediaType,
1107
- shareInstanceId: data.mediaType === 'share' ? _this.localShareInstanceId : undefined
1108
- },
1109
- options: {
1110
- meetingId: _this.id
1108
+ if (data.mediaType !== 'share' || !_this.shareCAEventSentStatus.transmitStop) {
1109
+ // @ts-ignore
1110
+ _this.webex.internal.newMetrics.submitClientEvent({
1111
+ name: 'client.media.tx.stop',
1112
+ payload: {
1113
+ mediaType: data.mediaType,
1114
+ shareInstanceId: data.mediaType === 'share' ? _this.localShareInstanceId : undefined
1115
+ },
1116
+ options: {
1117
+ meetingId: _this.id
1118
+ }
1119
+ });
1120
+ if (data.mediaType === 'share') {
1121
+ _this.shareCAEventSentStatus.transmitStop = true;
1111
1122
  }
1112
- });
1123
+ }
1113
1124
  });
1114
1125
  _this.statsAnalyzer.on(_internalMediaCore.StatsAnalyzerEventNames.REMOTE_MEDIA_STARTED, function (data) {
1115
1126
  _triggerProxy.default.trigger((0, _assertThisInitialized2.default)(_this), {
1116
1127
  file: 'meeting/index',
1117
1128
  function: 'addMedia'
1118
1129
  }, _constants.EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED, data);
1119
- // @ts-ignore
1120
- _this.webex.internal.newMetrics.submitClientEvent({
1121
- name: 'client.media.rx.start',
1122
- payload: {
1123
- mediaType: data.mediaType,
1124
- shareInstanceId: data.mediaType === 'share' ? _this.remoteShareInstanceId : undefined
1125
- },
1126
- options: {
1127
- meetingId: _this.id
1128
- }
1129
- });
1130
- if (data.mediaType === 'share') {
1130
+ if (data.mediaType !== 'share' || !_this.shareCAEventSentStatus.receiveStart) {
1131
1131
  // @ts-ignore
1132
1132
  _this.webex.internal.newMetrics.submitClientEvent({
1133
- name: 'client.media.render.start',
1133
+ name: 'client.media.rx.start',
1134
1134
  payload: {
1135
- mediaType: 'share',
1136
- shareInstanceId: _this.remoteShareInstanceId
1135
+ mediaType: data.mediaType,
1136
+ shareInstanceId: data.mediaType === 'share' ? _this.remoteShareInstanceId : undefined
1137
1137
  },
1138
1138
  options: {
1139
1139
  meetingId: _this.id
1140
1140
  }
1141
1141
  });
1142
+ if (data.mediaType === 'share') {
1143
+ // @ts-ignore
1144
+ _this.webex.internal.newMetrics.submitClientEvent({
1145
+ name: 'client.media.render.start',
1146
+ payload: {
1147
+ mediaType: 'share',
1148
+ shareInstanceId: _this.remoteShareInstanceId
1149
+ },
1150
+ options: {
1151
+ meetingId: _this.id
1152
+ }
1153
+ });
1154
+ _this.shareCAEventSentStatus.receiveStart = true;
1155
+ }
1142
1156
  }
1143
1157
  });
1144
1158
  _this.statsAnalyzer.on(_internalMediaCore.StatsAnalyzerEventNames.REMOTE_MEDIA_STOPPED, function (data) {
1145
- // @ts-ignore
1146
- _this.webex.internal.newMetrics.submitClientEvent({
1147
- name: 'client.media.rx.stop',
1148
- payload: {
1149
- mediaType: data.mediaType,
1150
- shareInstanceId: data.mediaType === 'share' ? _this.remoteShareInstanceId : undefined
1151
- },
1152
- options: {
1153
- meetingId: _this.id
1154
- }
1155
- });
1156
- if (data.mediaType === 'share') {
1159
+ if (data.mediaType !== 'share' || !_this.shareCAEventSentStatus.receiveStop) {
1157
1160
  // @ts-ignore
1158
1161
  _this.webex.internal.newMetrics.submitClientEvent({
1159
- name: 'client.media.render.stop',
1162
+ name: 'client.media.rx.stop',
1160
1163
  payload: {
1161
- mediaType: 'share',
1162
- shareInstanceId: _this.remoteShareInstanceId
1164
+ mediaType: data.mediaType,
1165
+ shareInstanceId: data.mediaType === 'share' ? _this.remoteShareInstanceId : undefined
1163
1166
  },
1164
1167
  options: {
1165
1168
  meetingId: _this.id
1166
1169
  }
1167
1170
  });
1171
+ if (data.mediaType === 'share') {
1172
+ // @ts-ignore
1173
+ _this.webex.internal.newMetrics.submitClientEvent({
1174
+ name: 'client.media.render.stop',
1175
+ payload: {
1176
+ mediaType: 'share',
1177
+ shareInstanceId: _this.remoteShareInstanceId
1178
+ },
1179
+ options: {
1180
+ meetingId: _this.id
1181
+ }
1182
+ });
1183
+ _this.shareCAEventSentStatus.receiveStop = true;
1184
+ }
1168
1185
  }
1169
1186
  });
1170
1187
  });
@@ -2106,6 +2123,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2106
2123
  */
2107
2124
  _this.remoteShareInstanceId = null;
2108
2125
 
2126
+ /**
2127
+ * Status used for ensuring we do not oversend metrics
2128
+ * @instance
2129
+ * @private
2130
+ * @memberof Meeting
2131
+ */
2132
+ _this.shareCAEventSentStatus = {
2133
+ transmitStart: false,
2134
+ transmitStop: false,
2135
+ receiveStart: false,
2136
+ receiveStop: false
2137
+ };
2138
+
2109
2139
  /**
2110
2140
  * The class that helps to control recording functions: start, stop, pause, resume, etc
2111
2141
  * @instance
@@ -3601,6 +3631,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3601
3631
  case 26:
3602
3632
  sendStartedSharingRemote = function sendStartedSharingRemote() {
3603
3633
  _this15.remoteShareInstanceId = contentShare.shareInstanceId;
3634
+ _this15.shareCAEventSentStatus.receiveStart = false;
3635
+ _this15.shareCAEventSentStatus.receiveStop = false;
3604
3636
  _triggerProxy.default.trigger(_this15, {
3605
3637
  file: 'meetings/index',
3606
3638
  function: 'remoteShare'
@@ -3674,6 +3706,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3674
3706
  // if we got here, then some remote participant has stolen
3675
3707
  // the presentation from another remote participant
3676
3708
  _this15.remoteShareInstanceId = contentShare.shareInstanceId;
3709
+ _this15.shareCAEventSentStatus.receiveStart = false;
3710
+ _this15.shareCAEventSentStatus.receiveStop = false;
3677
3711
  _triggerProxy.default.trigger(_this15, {
3678
3712
  file: 'meetings/index',
3679
3713
  function: 'remoteShare'
@@ -4497,7 +4531,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4497
4531
  canAdmitParticipant: _util2.default.canAdmitParticipant(this.userDisplayHints),
4498
4532
  canLock: _util2.default.canUserLock(this.userDisplayHints),
4499
4533
  canUnlock: _util2.default.canUserUnlock(this.userDisplayHints),
4500
- canShareWhiteBoard: _util2.default.canShareWhiteBoard(this.userDisplayHints),
4534
+ canShareWhiteBoard: _util2.default.canShareWhiteBoard(this.userDisplayHints, this.selfUserPolicies),
4501
4535
  canSetDisallowUnmute: _util5.default.canSetDisallowUnmute(this.userDisplayHints),
4502
4536
  canUnsetDisallowUnmute: _util5.default.canUnsetDisallowUnmute(this.userDisplayHints),
4503
4537
  canSetMuteOnEntry: _util5.default.canSetMuteOnEntry(this.userDisplayHints),
@@ -6881,6 +6915,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6881
6915
  networkQualityMonitor: this.networkQualityMonitor,
6882
6916
  isMultistream: this.isMultistream
6883
6917
  });
6918
+ this.shareCAEventSentStatus = {
6919
+ transmitStart: false,
6920
+ transmitStop: false,
6921
+ receiveStart: false,
6922
+ receiveStop: false
6923
+ };
6884
6924
  this.setupStatsAnalyzerEventHandlers();
6885
6925
  this.networkQualityMonitor.on(_internalMediaCore.NetworkQualityEventNames.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
6886
6926
  }
@@ -9062,10 +9102,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9062
9102
  return this.updateTranscodedMediaConnection();
9063
9103
  case 31:
9064
9104
  if (!floorRequestNeeded) {
9065
- _context40.next = 37;
9105
+ _context40.next = 39;
9066
9106
  break;
9067
9107
  }
9068
9108
  this.localShareInstanceId = _uuid.default.v4();
9109
+ this.shareCAEventSentStatus.transmitStart = false;
9110
+ this.shareCAEventSentStatus.transmitStop = false;
9069
9111
 
9070
9112
  // @ts-ignore
9071
9113
  this.webex.internal.newMetrics.submitClientEvent({
@@ -9086,9 +9128,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9086
9128
  // we're sending the http request to Locus to request the screen share floor
9087
9129
  // only after the SDP update, because that's how it's always been done for transcoded meetings
9088
9130
  // and also if sharing from the start, we need confluence to have been created
9089
- _context40.next = 37;
9131
+ _context40.next = 39;
9090
9132
  return this.enqueueScreenShareFloorRequest();
9091
- case 37:
9133
+ case 39:
9092
9134
  case "end":
9093
9135
  return _context40.stop();
9094
9136
  }