@webex/plugin-meetings 3.0.0-beta.318 → 3.0.0-beta.319
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.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +73 -57
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/meeting/index.d.ts +1 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +19 -19
- package/src/meeting/index.ts +46 -30
- package/test/unit/spec/meeting/index.js +166 -15
package/dist/breakouts/index.js
CHANGED
|
@@ -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.
|
|
1044
|
+
version: "3.0.0-beta.319"
|
|
1045
1045
|
});
|
|
1046
1046
|
var _default = Breakouts;
|
|
1047
1047
|
exports.default = _default;
|
package/dist/meeting/index.js
CHANGED
|
@@ -497,6 +497,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
497
497
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sendSlotManager", new _sendSlotManager.default(_loggerProxy.default));
|
|
498
498
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "deferSDPAnswer", void 0);
|
|
499
499
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdpResponseTimer", void 0);
|
|
500
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hasMediaConnectionConnectedAtLeastOnce", void 0);
|
|
500
501
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "processRelayEvent", function (e) {
|
|
501
502
|
switch (e.data.relayType) {
|
|
502
503
|
case _constants3.REACTION_RELAY_TYPES.REACTION:
|
|
@@ -765,36 +766,40 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
765
766
|
});
|
|
766
767
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.CONNECTION_STATE_CHANGED, function (event) {
|
|
767
768
|
var connectionFailed = function connectionFailed() {
|
|
768
|
-
// we know the media connection failed and browser will not attempt to recover it any more
|
|
769
|
-
// so reset the timer as it's not needed anymore, we want to reconnect immediately
|
|
770
|
-
_this.reconnectionManager.resetReconnectionTimer();
|
|
771
|
-
_this.reconnect({
|
|
772
|
-
networkDisconnect: true
|
|
773
|
-
});
|
|
774
|
-
// @ts-ignore
|
|
775
|
-
_this.webex.internal.newMetrics.submitClientEvent({
|
|
776
|
-
name: 'client.ice.end',
|
|
777
|
-
payload: {
|
|
778
|
-
canProceed: false,
|
|
779
|
-
icePhase: 'IN_MEETING',
|
|
780
|
-
errors: [
|
|
781
|
-
// @ts-ignore
|
|
782
|
-
_this.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
783
|
-
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE
|
|
784
|
-
})]
|
|
785
|
-
},
|
|
786
|
-
options: {
|
|
787
|
-
meetingId: _this.id
|
|
788
|
-
}
|
|
789
|
-
});
|
|
790
|
-
_this.uploadLogs({
|
|
791
|
-
file: 'peer-connection-manager/index',
|
|
792
|
-
function: 'connectionFailed'
|
|
793
|
-
});
|
|
794
769
|
_metrics.default.sendBehavioralMetric(_constants2.default.CONNECTION_FAILURE, {
|
|
795
770
|
correlation_id: _this.correlationId,
|
|
796
|
-
locus_id: _this.locusId
|
|
771
|
+
locus_id: _this.locusId,
|
|
772
|
+
networkStatus: _this.networkStatus,
|
|
773
|
+
hasMediaConnectionConnectedAtLeastOnce: _this.hasMediaConnectionConnectedAtLeastOnce
|
|
797
774
|
});
|
|
775
|
+
if (_this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
776
|
+
// we know the media connection failed and browser will not attempt to recover it any more
|
|
777
|
+
// so reset the timer as it's not needed anymore, we want to reconnect immediately
|
|
778
|
+
_this.reconnectionManager.resetReconnectionTimer();
|
|
779
|
+
_this.reconnect({
|
|
780
|
+
networkDisconnect: true
|
|
781
|
+
});
|
|
782
|
+
// @ts-ignore
|
|
783
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
784
|
+
name: 'client.ice.end',
|
|
785
|
+
payload: {
|
|
786
|
+
canProceed: false,
|
|
787
|
+
icePhase: 'IN_MEETING',
|
|
788
|
+
errors: [
|
|
789
|
+
// @ts-ignore
|
|
790
|
+
_this.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
791
|
+
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE
|
|
792
|
+
})]
|
|
793
|
+
},
|
|
794
|
+
options: {
|
|
795
|
+
meetingId: _this.id
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
_this.uploadLogs({
|
|
799
|
+
file: 'peer-connection-manager/index',
|
|
800
|
+
function: 'connectionFailed'
|
|
801
|
+
});
|
|
802
|
+
}
|
|
798
803
|
};
|
|
799
804
|
_loggerProxy.default.logger.info("Meeting:index#setupMediaConnectionListeners --> correlationId=".concat(_this.correlationId, " connection state changed to ").concat(event.state));
|
|
800
805
|
|
|
@@ -830,6 +835,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
830
835
|
_this.setNetworkStatus(_constants.NETWORK_STATUS.CONNECTED);
|
|
831
836
|
_this.reconnectionManager.iceReconnected();
|
|
832
837
|
_this.statsAnalyzer.startAnalyzer(_this.mediaProperties.webrtcMediaConnection);
|
|
838
|
+
_this.hasMediaConnectionConnectedAtLeastOnce = true;
|
|
833
839
|
break;
|
|
834
840
|
case _internalMediaCore.ConnectionState.Disconnected:
|
|
835
841
|
_this.setNetworkStatus(_constants.NETWORK_STATUS.DISCONNECTED);
|
|
@@ -1850,6 +1856,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1850
1856
|
* @memberof Meeting
|
|
1851
1857
|
*/
|
|
1852
1858
|
_this.retriedWithTurnServer = false;
|
|
1859
|
+
|
|
1860
|
+
/**
|
|
1861
|
+
* Whether or not the media connection has ever successfully connected.
|
|
1862
|
+
* @instance
|
|
1863
|
+
* @type {boolean}
|
|
1864
|
+
* @private
|
|
1865
|
+
* @memberof Meeting
|
|
1866
|
+
*/
|
|
1867
|
+
_this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
1853
1868
|
return _this;
|
|
1854
1869
|
}
|
|
1855
1870
|
|
|
@@ -6021,31 +6036,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6021
6036
|
case 0:
|
|
6022
6037
|
options = _args27.length > 0 && _args27[0] !== undefined ? _args27[0] : {};
|
|
6023
6038
|
this.retriedWithTurnServer = false;
|
|
6039
|
+
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6024
6040
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6025
6041
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options)));
|
|
6026
6042
|
if (!(this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6027
|
-
_context27.next =
|
|
6043
|
+
_context27.next = 7;
|
|
6028
6044
|
break;
|
|
6029
6045
|
}
|
|
6030
6046
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6031
|
-
case
|
|
6047
|
+
case 7:
|
|
6032
6048
|
if (!_util.default.isUserInLeftState(this.locusInfo)) {
|
|
6033
|
-
_context27.next =
|
|
6049
|
+
_context27.next = 9;
|
|
6034
6050
|
break;
|
|
6035
6051
|
}
|
|
6036
6052
|
throw new _webexErrors.UserNotJoinedError();
|
|
6037
|
-
case
|
|
6053
|
+
case 9:
|
|
6038
6054
|
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy, allowMediaInLobby = options.allowMediaInLobby;
|
|
6039
6055
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6040
6056
|
|
|
6041
6057
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6042
6058
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6043
6059
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !allowMediaInLobby)) {
|
|
6044
|
-
_context27.next =
|
|
6060
|
+
_context27.next = 13;
|
|
6045
6061
|
break;
|
|
6046
6062
|
}
|
|
6047
6063
|
throw new _webexErrors.UserInLobbyError();
|
|
6048
|
-
case
|
|
6064
|
+
case 13:
|
|
6049
6065
|
// @ts-ignore
|
|
6050
6066
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6051
6067
|
name: 'client.media.capabilities',
|
|
@@ -6100,32 +6116,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6100
6116
|
});
|
|
6101
6117
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6102
6118
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6103
|
-
_context27.prev =
|
|
6104
|
-
_context27.next =
|
|
6119
|
+
_context27.prev = 18;
|
|
6120
|
+
_context27.next = 21;
|
|
6105
6121
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6106
|
-
case
|
|
6122
|
+
case 21:
|
|
6107
6123
|
this.setMercuryListener();
|
|
6108
6124
|
this.createStatsAnalyzer();
|
|
6109
|
-
_context27.next =
|
|
6125
|
+
_context27.next = 25;
|
|
6110
6126
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false);
|
|
6111
|
-
case
|
|
6112
|
-
_context27.next =
|
|
6127
|
+
case 25:
|
|
6128
|
+
_context27.next = 27;
|
|
6113
6129
|
return Meeting.handleDeviceLogging();
|
|
6114
|
-
case
|
|
6130
|
+
case 27:
|
|
6115
6131
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6116
|
-
_context27.next =
|
|
6132
|
+
_context27.next = 30;
|
|
6117
6133
|
break;
|
|
6118
6134
|
}
|
|
6119
|
-
_context27.next =
|
|
6135
|
+
_context27.next = 30;
|
|
6120
6136
|
return this.enqueueScreenShareFloorRequest();
|
|
6121
|
-
case
|
|
6122
|
-
_context27.next =
|
|
6137
|
+
case 30:
|
|
6138
|
+
_context27.next = 32;
|
|
6123
6139
|
return this.mediaProperties.getCurrentConnectionType();
|
|
6124
|
-
case
|
|
6140
|
+
case 32:
|
|
6125
6141
|
connectionType = _context27.sent;
|
|
6126
|
-
_context27.next =
|
|
6142
|
+
_context27.next = 35;
|
|
6127
6143
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6128
|
-
case
|
|
6144
|
+
case 35:
|
|
6129
6145
|
reachabilityStats = _context27.sent;
|
|
6130
6146
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6131
6147
|
correlation_id: this.correlationId,
|
|
@@ -6145,17 +6161,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6145
6161
|
|
|
6146
6162
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6147
6163
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6148
|
-
_context27.next =
|
|
6164
|
+
_context27.next = 54;
|
|
6149
6165
|
break;
|
|
6150
|
-
case
|
|
6151
|
-
_context27.prev =
|
|
6152
|
-
_context27.t0 = _context27["catch"](
|
|
6166
|
+
case 42:
|
|
6167
|
+
_context27.prev = 42;
|
|
6168
|
+
_context27.t0 = _context27["catch"](18);
|
|
6153
6169
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context27.t0);
|
|
6154
6170
|
|
|
6155
6171
|
// @ts-ignore
|
|
6156
|
-
_context27.next =
|
|
6172
|
+
_context27.next = 47;
|
|
6157
6173
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6158
|
-
case
|
|
6174
|
+
case 47:
|
|
6159
6175
|
reachabilityMetrics = _context27.sent;
|
|
6160
6176
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6161
6177
|
correlation_id: this.correlationId,
|
|
@@ -6171,9 +6187,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6171
6187
|
connectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.connectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.connectionState) || 'unknown',
|
|
6172
6188
|
iceConnectionState: ((_this$mediaProperties34 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties34 === void 0 ? void 0 : (_this$mediaProperties35 = _this$mediaProperties34.multistreamConnection) === null || _this$mediaProperties35 === void 0 ? void 0 : (_this$mediaProperties36 = _this$mediaProperties35.pc) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.pc) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.iceConnectionState) || ((_this$mediaProperties38 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.mediaConnection) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.pc) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.iceConnectionState) || 'unknown'
|
|
6173
6189
|
}, reachabilityMetrics));
|
|
6174
|
-
_context27.next =
|
|
6190
|
+
_context27.next = 51;
|
|
6175
6191
|
return this.cleanUpOnAddMediaFailure();
|
|
6176
|
-
case
|
|
6192
|
+
case 51:
|
|
6177
6193
|
// Upload logs on error while adding media
|
|
6178
6194
|
_triggerProxy.default.trigger(this, {
|
|
6179
6195
|
file: 'meeting/index',
|
|
@@ -6185,11 +6201,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6185
6201
|
});
|
|
6186
6202
|
}
|
|
6187
6203
|
throw _context27.t0;
|
|
6188
|
-
case
|
|
6204
|
+
case 54:
|
|
6189
6205
|
case "end":
|
|
6190
6206
|
return _context27.stop();
|
|
6191
6207
|
}
|
|
6192
|
-
}, _callee27, this, [[
|
|
6208
|
+
}, _callee27, this, [[18, 42]]);
|
|
6193
6209
|
}));
|
|
6194
6210
|
function addMedia() {
|
|
6195
6211
|
return _addMedia.apply(this, arguments);
|