@webex/plugin-meetings 3.6.0 → 3.7.0-next.1
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/README.md +2 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/webinar-registration-error.js +50 -0
- package/dist/common/errors/webinar-registration-error.js.map +1 -0
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +31 -2
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +1 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +10 -3
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +12 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +28 -4
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +2 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/index.js +61 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +5 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +19 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +692 -522
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +2 -6
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +5 -2
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +21 -29
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +97 -61
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +68 -17
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +25 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +3 -2
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +9 -5
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMedia.js +4 -0
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/reachability/clusterReachability.js +0 -4
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +433 -136
- package/dist/reachability/index.js.map +1 -1
- package/dist/{rtcMetrics/constants.js → reachability/reachability.types.js} +1 -5
- package/dist/reachability/reachability.types.js.map +1 -0
- package/dist/reachability/request.js +23 -9
- package/dist/reachability/request.js.map +1 -1
- package/dist/roap/index.js +5 -7
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +45 -79
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +3 -6
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/{common/errors/parameter.d.ts → types/common/errors/webinar-registration-error.d.ts} +4 -5
- package/dist/types/config.d.ts +2 -0
- package/dist/types/constants.d.ts +25 -0
- package/dist/types/controls-options-manager/enums.d.ts +2 -1
- package/dist/types/controls-options-manager/index.d.ts +2 -1
- package/dist/types/controls-options-manager/types.d.ts +2 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/locus-info/index.d.ts +9 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +18 -0
- package/dist/types/meeting/index.d.ts +14 -3
- package/dist/types/meeting/locusMediaRequest.d.ts +2 -3
- package/dist/types/meeting/muteState.d.ts +2 -1
- package/dist/types/meeting/request.d.ts +2 -2
- package/dist/types/meeting/util.d.ts +2 -2
- package/dist/types/meeting-info/meeting-info-v2.d.ts +23 -0
- package/dist/types/meetings/index.d.ts +10 -1
- package/dist/types/members/index.d.ts +2 -1
- package/dist/types/members/util.d.ts +3 -1
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +1 -0
- package/dist/types/reachability/clusterReachability.d.ts +1 -10
- package/dist/types/reachability/index.d.ts +74 -35
- package/dist/types/reachability/reachability.types.d.ts +64 -0
- package/dist/types/reachability/request.d.ts +5 -1
- package/dist/types/roap/request.d.ts +1 -13
- package/dist/webinar/index.js +32 -19
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -22
- package/src/common/errors/webinar-registration-error.ts +27 -0
- package/src/config.ts +2 -0
- package/src/constants.ts +31 -0
- package/src/controls-options-manager/enums.ts +1 -0
- package/src/controls-options-manager/index.ts +19 -2
- package/src/controls-options-manager/types.ts +2 -0
- package/src/controls-options-manager/util.ts +12 -0
- package/src/index.ts +2 -0
- package/src/locus-info/controlsUtils.ts +46 -2
- package/src/locus-info/fullState.ts +1 -0
- package/src/locus-info/index.ts +60 -0
- package/src/locus-info/parser.ts +8 -1
- package/src/meeting/in-meeting-actions.ts +37 -0
- package/src/meeting/index.ts +154 -22
- package/src/meeting/locusMediaRequest.ts +4 -8
- package/src/meeting/muteState.ts +6 -2
- package/src/meeting/request.ts +4 -11
- package/src/meeting/util.ts +30 -6
- package/src/meeting-info/meeting-info-v2.ts +51 -0
- package/src/meetings/index.ts +68 -40
- package/src/members/index.ts +4 -2
- package/src/members/util.ts +3 -1
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/remoteMedia.ts +5 -0
- package/src/reachability/clusterReachability.ts +1 -14
- package/src/reachability/index.ts +285 -77
- package/src/reachability/reachability.types.ts +85 -0
- package/src/reachability/request.ts +55 -30
- package/src/roap/index.ts +4 -5
- package/src/roap/request.ts +32 -44
- package/src/roap/turnDiscovery.ts +2 -4
- package/src/webinar/index.ts +31 -17
- package/test/unit/spec/controls-options-manager/index.js +56 -32
- package/test/unit/spec/controls-options-manager/util.js +44 -0
- package/test/unit/spec/locus-info/controlsUtils.js +80 -4
- package/test/unit/spec/locus-info/index.js +88 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +18 -0
- package/test/unit/spec/meeting/index.js +272 -82
- package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
- package/test/unit/spec/meeting/muteState.js +8 -4
- package/test/unit/spec/meeting/request.js +3 -26
- package/test/unit/spec/meeting/utils.js +69 -14
- package/test/unit/spec/meeting-info/meetinginfov2.js +37 -0
- package/test/unit/spec/meetings/index.js +32 -1
- package/test/unit/spec/members/index.js +25 -2
- package/test/unit/spec/members/request.js +37 -3
- package/test/unit/spec/members/utils.js +15 -1
- package/test/unit/spec/multistream/remoteMedia.ts +16 -2
- package/test/unit/spec/reachability/index.ts +265 -1
- package/test/unit/spec/reachability/request.js +56 -15
- package/test/unit/spec/roap/index.ts +1 -1
- package/test/unit/spec/roap/request.ts +51 -109
- package/test/unit/spec/roap/turnDiscovery.ts +202 -147
- package/test/unit/spec/webinar/index.ts +82 -16
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/index.d.ts +0 -117
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reclaim-host-role-error.js +0 -149
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js +0 -33
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -93
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -36
- package/dist/common/queue.d.ts +0 -34
- package/dist/config.d.ts +0 -72
- package/dist/constants.d.ts +0 -1088
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -15
- package/dist/controls-options-manager/index.d.ts +0 -136
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/interceptors/index.d.ts +0 -2
- package/dist/interceptors/locusRetry.d.ts +0 -27
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -322
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -272
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -34
- package/dist/media/properties.d.ts +0 -93
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/mediaQualityMetrics/config.js +0 -502
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -167
- package/dist/meeting/index.d.ts +0 -1825
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -178
- package/dist/meeting/request.d.ts +0 -295
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -119
- package/dist/meeting/voicea-meeting.d.ts +0 -16
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -69
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -40
- package/dist/meetings/index.d.ts +0 -390
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -160
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -29
- package/dist/members/index.d.ts +0 -353
- package/dist/members/request.d.ts +0 -114
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -215
- package/dist/metrics/config.js +0 -276
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -70
- package/dist/metrics/index.d.ts +0 -45
- package/dist/multistream/mediaRequestManager.d.ts +0 -119
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMediaGroup.d.ts +0 -49
- package/dist/multistream/remoteMediaManager.d.ts +0 -300
- package/dist/multistream/sendSlotManager.d.ts +0 -69
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/networkQualityMonitor/index.js +0 -221
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -109
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/clusterReachability.d.ts +0 -109
- package/dist/reachability/index.d.ts +0 -105
- package/dist/reachability/request.d.ts +0 -39
- package/dist/reachability/util.d.ts +0 -8
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -52
- package/dist/reconnection-manager/index.d.ts +0 -136
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -207
- package/dist/recording-controller/util.d.ts +0 -14
- package/dist/roap/collection.js +0 -62
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -275
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -86
- package/dist/roap/request.d.ts +0 -39
- package/dist/roap/state.js +0 -126
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -155
- package/dist/roap/util.js +0 -75
- package/dist/roap/util.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -36
- package/dist/statsAnalyzer/global.js +0 -126
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -217
- package/dist/statsAnalyzer/index.js +0 -1013
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/statsAnalyzer/mqaUtil.js +0 -179
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/index.d.ts +0 -5
package/dist/meeting/index.js
CHANGED
|
@@ -86,6 +86,7 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
86
86
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
87
87
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
88
88
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
89
|
+
var _webinarRegistrationError = _interopRequireDefault(require("../common/errors/webinar-registration-error"));
|
|
89
90
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
90
91
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
91
92
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -1003,7 +1004,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1003
1004
|
});
|
|
1004
1005
|
_this.iceCandidatesCount = 0;
|
|
1005
1006
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE, function (event) {
|
|
1006
|
-
if (event.candidate) {
|
|
1007
|
+
if (event.candidate && event.candidate.candidate && event.candidate.candidate.length > 0) {
|
|
1007
1008
|
_this.iceCandidatesCount += 1;
|
|
1008
1009
|
}
|
|
1009
1010
|
});
|
|
@@ -1218,31 +1219,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1218
1219
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
1219
1220
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1220
1221
|
case 0:
|
|
1222
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1223
|
+
// current share audio stream has ended, but there might be an active
|
|
1224
|
+
// share video stream. we only leave from wireless share if share has
|
|
1225
|
+
// completely ended, which means no share audio or video streams active
|
|
1221
1226
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1222
|
-
_context2.next =
|
|
1227
|
+
_context2.next = 5;
|
|
1223
1228
|
break;
|
|
1224
1229
|
}
|
|
1225
1230
|
_this.leave({
|
|
1226
1231
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1227
1232
|
});
|
|
1228
|
-
_context2.next =
|
|
1233
|
+
_context2.next = 13;
|
|
1229
1234
|
break;
|
|
1230
|
-
case
|
|
1231
|
-
_context2.prev =
|
|
1232
|
-
_context2.next =
|
|
1235
|
+
case 5:
|
|
1236
|
+
_context2.prev = 5;
|
|
1237
|
+
_context2.next = 8;
|
|
1233
1238
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1234
|
-
case
|
|
1235
|
-
_context2.next =
|
|
1239
|
+
case 8:
|
|
1240
|
+
_context2.next = 13;
|
|
1236
1241
|
break;
|
|
1237
|
-
case
|
|
1238
|
-
_context2.prev =
|
|
1239
|
-
_context2.t0 = _context2["catch"](
|
|
1242
|
+
case 10:
|
|
1243
|
+
_context2.prev = 10;
|
|
1244
|
+
_context2.t0 = _context2["catch"](5);
|
|
1240
1245
|
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _context2.t0);
|
|
1241
|
-
case
|
|
1246
|
+
case 13:
|
|
1242
1247
|
case "end":
|
|
1243
1248
|
return _context2.stop();
|
|
1244
1249
|
}
|
|
1245
|
-
}, _callee2, null, [[
|
|
1250
|
+
}, _callee2, null, [[5, 10]]);
|
|
1246
1251
|
})));
|
|
1247
1252
|
/**
|
|
1248
1253
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1270,33 +1275,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1270
1275
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1271
1276
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1272
1277
|
case 0:
|
|
1278
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1279
|
+
// current share video stream has ended, but there might be an active
|
|
1280
|
+
// share audio stream. we only leave from wireless share if share has
|
|
1281
|
+
// completely ended, which means no share audio or video streams active
|
|
1273
1282
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1274
|
-
_context3.next =
|
|
1283
|
+
_context3.next = 5;
|
|
1275
1284
|
break;
|
|
1276
1285
|
}
|
|
1277
1286
|
_this.leave({
|
|
1278
1287
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1279
1288
|
});
|
|
1280
|
-
_context3.next =
|
|
1289
|
+
_context3.next = 13;
|
|
1281
1290
|
break;
|
|
1282
|
-
case
|
|
1283
|
-
_context3.prev =
|
|
1284
|
-
_context3.next =
|
|
1291
|
+
case 5:
|
|
1292
|
+
_context3.prev = 5;
|
|
1293
|
+
_context3.next = 8;
|
|
1285
1294
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1286
|
-
case
|
|
1287
|
-
_context3.next =
|
|
1295
|
+
case 8:
|
|
1296
|
+
_context3.next = 13;
|
|
1288
1297
|
break;
|
|
1289
|
-
case
|
|
1290
|
-
_context3.prev =
|
|
1291
|
-
_context3.t0 = _context3["catch"](
|
|
1298
|
+
case 10:
|
|
1299
|
+
_context3.prev = 10;
|
|
1300
|
+
_context3.t0 = _context3["catch"](5);
|
|
1292
1301
|
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _context3.t0);
|
|
1293
|
-
case 12:
|
|
1294
|
-
_this.triggerStoppedSharing();
|
|
1295
1302
|
case 13:
|
|
1303
|
+
_this.triggerStoppedSharing();
|
|
1304
|
+
case 14:
|
|
1296
1305
|
case "end":
|
|
1297
1306
|
return _context3.stop();
|
|
1298
1307
|
}
|
|
1299
|
-
}, _callee3, null, [[
|
|
1308
|
+
}, _callee3, null, [[5, 10]]);
|
|
1300
1309
|
})));
|
|
1301
1310
|
/**
|
|
1302
1311
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -2413,8 +2422,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2413
2422
|
}
|
|
2414
2423
|
throw new _permission.default();
|
|
2415
2424
|
case 21:
|
|
2425
|
+
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2WebinarRegistrationError)) {
|
|
2426
|
+
_context5.next = 28;
|
|
2427
|
+
break;
|
|
2428
|
+
}
|
|
2429
|
+
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2430
|
+
this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
|
|
2431
|
+
if (_context5.t0.meetingInfo) {
|
|
2432
|
+
this.meetingInfo = _context5.t0.meetingInfo;
|
|
2433
|
+
}
|
|
2434
|
+
throw new _webinarRegistrationError.default();
|
|
2435
|
+
case 28:
|
|
2416
2436
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2417
|
-
_context5.next =
|
|
2437
|
+
_context5.next = 40;
|
|
2418
2438
|
break;
|
|
2419
2439
|
}
|
|
2420
2440
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2429,16 +2449,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2429
2449
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2430
2450
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2431
2451
|
if (!this.requiredCaptcha) {
|
|
2432
|
-
_context5.next =
|
|
2452
|
+
_context5.next = 37;
|
|
2433
2453
|
break;
|
|
2434
2454
|
}
|
|
2435
|
-
_context5.next =
|
|
2455
|
+
_context5.next = 37;
|
|
2436
2456
|
return this.refreshCaptcha();
|
|
2437
|
-
case
|
|
2457
|
+
case 37:
|
|
2438
2458
|
throw new _passwordError.default();
|
|
2439
|
-
case
|
|
2459
|
+
case 40:
|
|
2440
2460
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2441
|
-
_context5.next =
|
|
2461
|
+
_context5.next = 49;
|
|
2442
2462
|
break;
|
|
2443
2463
|
}
|
|
2444
2464
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2450,10 +2470,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2450
2470
|
}
|
|
2451
2471
|
this.requiredCaptcha = _context5.t0.captchaInfo;
|
|
2452
2472
|
throw new _captchaError.default();
|
|
2453
|
-
case
|
|
2473
|
+
case 49:
|
|
2454
2474
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2455
2475
|
throw _context5.t0;
|
|
2456
|
-
case
|
|
2476
|
+
case 51:
|
|
2457
2477
|
case "end":
|
|
2458
2478
|
return _context5.stop();
|
|
2459
2479
|
}
|
|
@@ -2682,6 +2702,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2682
2702
|
this.setUpLocusInfoSelfListener();
|
|
2683
2703
|
this.setUpLocusInfoMeetingListener();
|
|
2684
2704
|
this.setUpLocusServicesListener();
|
|
2705
|
+
this.setUpLocusResourcesListener();
|
|
2685
2706
|
// members update listeners
|
|
2686
2707
|
this.setUpLocusFullStateListener();
|
|
2687
2708
|
this.setUpLocusUrlListener();
|
|
@@ -3198,8 +3219,44 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3198
3219
|
state: state
|
|
3199
3220
|
});
|
|
3200
3221
|
});
|
|
3201
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3222
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref22) {
|
|
3202
3223
|
var state = _ref22.state;
|
|
3224
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3225
|
+
file: 'meeting/index',
|
|
3226
|
+
function: 'setupLocusControlsListener'
|
|
3227
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_WEBCAST_UPDATED, {
|
|
3228
|
+
state: state
|
|
3229
|
+
});
|
|
3230
|
+
});
|
|
3231
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref23) {
|
|
3232
|
+
var state = _ref23.state;
|
|
3233
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3234
|
+
file: 'meeting/index',
|
|
3235
|
+
function: 'setupLocusControlsListener'
|
|
3236
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MEETING_FULL_UPDATED, {
|
|
3237
|
+
state: state
|
|
3238
|
+
});
|
|
3239
|
+
});
|
|
3240
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref24) {
|
|
3241
|
+
var state = _ref24.state;
|
|
3242
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3243
|
+
file: 'meeting/index',
|
|
3244
|
+
function: 'setupLocusControlsListener'
|
|
3245
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, {
|
|
3246
|
+
state: state
|
|
3247
|
+
});
|
|
3248
|
+
});
|
|
3249
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
|
|
3250
|
+
var state = _ref25.state;
|
|
3251
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3252
|
+
file: 'meeting/index',
|
|
3253
|
+
function: 'setupLocusControlsListener'
|
|
3254
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_STAGE_VIEW_UPDATED, {
|
|
3255
|
+
state: state
|
|
3256
|
+
});
|
|
3257
|
+
});
|
|
3258
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
|
|
3259
|
+
var state = _ref26.state;
|
|
3203
3260
|
_triggerProxy.default.trigger(_this13, {
|
|
3204
3261
|
file: 'meeting/index',
|
|
3205
3262
|
function: 'setupLocusControlsListener'
|
|
@@ -3246,7 +3303,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3246
3303
|
var _this14 = this;
|
|
3247
3304
|
// Will get triggered on local and remote share
|
|
3248
3305
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3249
|
-
var
|
|
3306
|
+
var _ref27 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3250
3307
|
var _payload$previous, _payload$previous2;
|
|
3251
3308
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3252
3309
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3288,8 +3345,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3288
3345
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
|
3289
3346
|
newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
3290
3347
|
}
|
|
3348
|
+
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3291
3349
|
if (!(newShareStatus !== _this14.shareStatus)) {
|
|
3292
|
-
_context8.next =
|
|
3350
|
+
_context8.next = 46;
|
|
3293
3351
|
break;
|
|
3294
3352
|
}
|
|
3295
3353
|
oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
|
|
@@ -3297,37 +3355,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3297
3355
|
|
|
3298
3356
|
// send out "stop" notifications for the old state
|
|
3299
3357
|
_context8.t0 = oldShareStatus;
|
|
3300
|
-
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3358
|
+
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 15 : _context8.t0 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 17 : _context8.t0 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 19 : _context8.t0 === _constants.SHARE_STATUS.NO_SHARE ? 21 : 22;
|
|
3301
3359
|
break;
|
|
3302
|
-
case
|
|
3360
|
+
case 15:
|
|
3303
3361
|
_triggerProxy.default.trigger(_this14, {
|
|
3304
3362
|
file: 'meetings/index',
|
|
3305
3363
|
function: 'remoteShare'
|
|
3306
3364
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3307
|
-
return _context8.abrupt("break",
|
|
3308
|
-
case
|
|
3365
|
+
return _context8.abrupt("break", 23);
|
|
3366
|
+
case 17:
|
|
3309
3367
|
_triggerProxy.default.trigger(_this14, {
|
|
3310
3368
|
file: 'meeting/index',
|
|
3311
3369
|
function: 'localShare'
|
|
3312
3370
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3313
3371
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3314
3372
|
});
|
|
3315
|
-
return _context8.abrupt("break",
|
|
3316
|
-
case
|
|
3373
|
+
return _context8.abrupt("break", 23);
|
|
3374
|
+
case 19:
|
|
3317
3375
|
_triggerProxy.default.trigger(_this14, {
|
|
3318
3376
|
file: 'meeting/index',
|
|
3319
3377
|
function: 'stopWhiteboardShare'
|
|
3320
3378
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
|
|
3321
|
-
return _context8.abrupt("break",
|
|
3322
|
-
case 20:
|
|
3323
|
-
return _context8.abrupt("break", 22);
|
|
3379
|
+
return _context8.abrupt("break", 23);
|
|
3324
3380
|
case 21:
|
|
3325
|
-
return _context8.abrupt("break",
|
|
3381
|
+
return _context8.abrupt("break", 23);
|
|
3326
3382
|
case 22:
|
|
3383
|
+
return _context8.abrupt("break", 23);
|
|
3384
|
+
case 23:
|
|
3327
3385
|
_context8.t1 = newShareStatus;
|
|
3328
|
-
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3386
|
+
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 26 : _context8.t1 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 35 : _context8.t1 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 38 : _context8.t1 === _constants.SHARE_STATUS.NO_SHARE ? 41 : 42;
|
|
3329
3387
|
break;
|
|
3330
|
-
case
|
|
3388
|
+
case 26:
|
|
3331
3389
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
3332
3390
|
_this14.remoteShareInstanceId = contentShare.shareInstanceId;
|
|
3333
3391
|
_triggerProxy.default.trigger(_this14, {
|
|
@@ -3341,20 +3399,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3341
3399
|
resourceType: contentShare.resourceType
|
|
3342
3400
|
});
|
|
3343
3401
|
};
|
|
3344
|
-
_context8.prev =
|
|
3402
|
+
_context8.prev = 27;
|
|
3345
3403
|
if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3346
|
-
_context8.next =
|
|
3404
|
+
_context8.next = 31;
|
|
3347
3405
|
break;
|
|
3348
3406
|
}
|
|
3349
|
-
_context8.next =
|
|
3407
|
+
_context8.next = 31;
|
|
3350
3408
|
return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
|
|
3351
|
-
case
|
|
3352
|
-
_context8.prev =
|
|
3409
|
+
case 31:
|
|
3410
|
+
_context8.prev = 31;
|
|
3353
3411
|
sendStartedSharingRemote();
|
|
3354
|
-
return _context8.finish(
|
|
3355
|
-
case 33:
|
|
3356
|
-
return _context8.abrupt("break", 42);
|
|
3412
|
+
return _context8.finish(31);
|
|
3357
3413
|
case 34:
|
|
3414
|
+
return _context8.abrupt("break", 43);
|
|
3415
|
+
case 35:
|
|
3358
3416
|
_triggerProxy.default.trigger(_this14, {
|
|
3359
3417
|
file: 'meeting/index',
|
|
3360
3418
|
function: 'share'
|
|
@@ -3370,8 +3428,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3370
3428
|
meetingId: _this14.id
|
|
3371
3429
|
}
|
|
3372
3430
|
});
|
|
3373
|
-
return _context8.abrupt("break",
|
|
3374
|
-
case
|
|
3431
|
+
return _context8.abrupt("break", 43);
|
|
3432
|
+
case 38:
|
|
3375
3433
|
_triggerProxy.default.trigger(_this14, {
|
|
3376
3434
|
file: 'meeting/index',
|
|
3377
3435
|
function: 'startWhiteboardShare'
|
|
@@ -3389,16 +3447,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3389
3447
|
meetingId: _this14.id
|
|
3390
3448
|
}
|
|
3391
3449
|
});
|
|
3392
|
-
return _context8.abrupt("break",
|
|
3393
|
-
case 40:
|
|
3394
|
-
return _context8.abrupt("break", 42);
|
|
3450
|
+
return _context8.abrupt("break", 43);
|
|
3395
3451
|
case 41:
|
|
3396
|
-
return _context8.abrupt("break",
|
|
3452
|
+
return _context8.abrupt("break", 43);
|
|
3397
3453
|
case 42:
|
|
3454
|
+
return _context8.abrupt("break", 43);
|
|
3455
|
+
case 43:
|
|
3398
3456
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3399
|
-
_context8.next =
|
|
3457
|
+
_context8.next = 47;
|
|
3400
3458
|
break;
|
|
3401
|
-
case
|
|
3459
|
+
case 46:
|
|
3402
3460
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
3403
3461
|
// if we got here, then some remote participant has stolen
|
|
3404
3462
|
// the presentation from another remote participant
|
|
@@ -3436,14 +3494,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3436
3494
|
});
|
|
3437
3495
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3438
3496
|
}
|
|
3439
|
-
case
|
|
3497
|
+
case 47:
|
|
3440
3498
|
case "end":
|
|
3441
3499
|
return _context8.stop();
|
|
3442
3500
|
}
|
|
3443
|
-
}, _callee8, null, [[
|
|
3501
|
+
}, _callee8, null, [[27,, 31, 34]]);
|
|
3444
3502
|
}));
|
|
3445
3503
|
return function (_x8) {
|
|
3446
|
-
return
|
|
3504
|
+
return _ref27.apply(this, arguments);
|
|
3447
3505
|
};
|
|
3448
3506
|
}());
|
|
3449
3507
|
}
|
|
@@ -3493,14 +3551,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3493
3551
|
value: function setUpLocusServicesListener() {
|
|
3494
3552
|
var _this16 = this;
|
|
3495
3553
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
|
|
3496
|
-
var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap
|
|
3554
|
+
var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
|
|
3497
3555
|
_this16.recordingController.setServiceUrl(payload === null || payload === void 0 ? void 0 : (_payload$services = payload.services) === null || _payload$services === void 0 ? void 0 : (_payload$services$rec = _payload$services.record) === null || _payload$services$rec === void 0 ? void 0 : _payload$services$rec.url);
|
|
3498
3556
|
_this16.recordingController.setSessionId((_this16$locusInfo = _this16.locusInfo) === null || _this16$locusInfo === void 0 ? void 0 : (_this16$locusInfo$ful = _this16$locusInfo.fullState) === null || _this16$locusInfo$ful === void 0 ? void 0 : _this16$locusInfo$ful.sessionId);
|
|
3499
3557
|
_this16.breakouts.breakoutServiceUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services2 = payload.services) === null || _payload$services2 === void 0 ? void 0 : (_payload$services2$br = _payload$services2.breakout) === null || _payload$services2$br === void 0 ? void 0 : _payload$services2$br.url);
|
|
3500
3558
|
_this16.annotation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services3 = payload.services) === null || _payload$services3 === void 0 ? void 0 : (_payload$services3$ap = _payload$services3.approval) === null || _payload$services3$ap === void 0 ? void 0 : _payload$services3$ap.url);
|
|
3501
3559
|
_this16.simultaneousInterpretation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services4 = payload.services) === null || _payload$services4 === void 0 ? void 0 : (_payload$services4$ap = _payload$services4.approval) === null || _payload$services4$ap === void 0 ? void 0 : _payload$services4$ap.url);
|
|
3502
|
-
|
|
3503
|
-
|
|
3560
|
+
});
|
|
3561
|
+
}
|
|
3562
|
+
|
|
3563
|
+
/**
|
|
3564
|
+
* Set up the locus info resources link listener
|
|
3565
|
+
* update the locusInfo for webcast instance url
|
|
3566
|
+
* @param {Object} payload - The event payload
|
|
3567
|
+
* @returns {undefined}
|
|
3568
|
+
* @private
|
|
3569
|
+
* @memberof Meeting
|
|
3570
|
+
*/
|
|
3571
|
+
}, {
|
|
3572
|
+
key: "setUpLocusResourcesListener",
|
|
3573
|
+
value: function setUpLocusResourcesListener() {
|
|
3574
|
+
var _this17 = this;
|
|
3575
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_RESOURCES, function (payload) {
|
|
3576
|
+
_this17.webinar.updateWebcastUrl(payload);
|
|
3504
3577
|
});
|
|
3505
3578
|
}
|
|
3506
3579
|
|
|
@@ -3513,10 +3586,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3513
3586
|
}, {
|
|
3514
3587
|
key: "setUpLocusInfoMeetingInfoListener",
|
|
3515
3588
|
value: function setUpLocusInfoMeetingInfoListener() {
|
|
3516
|
-
var
|
|
3589
|
+
var _this18 = this;
|
|
3517
3590
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
|
|
3518
3591
|
if (payload) {
|
|
3519
|
-
_triggerProxy.default.trigger(
|
|
3592
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3520
3593
|
file: 'meeting/index',
|
|
3521
3594
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3522
3595
|
}, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
|
|
@@ -3526,7 +3599,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3526
3599
|
});
|
|
3527
3600
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
|
|
3528
3601
|
if (payload) {
|
|
3529
|
-
_triggerProxy.default.trigger(
|
|
3602
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3530
3603
|
file: 'meeting/index',
|
|
3531
3604
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3532
3605
|
}, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
|
|
@@ -3534,16 +3607,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3534
3607
|
});
|
|
3535
3608
|
}
|
|
3536
3609
|
});
|
|
3537
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3538
|
-
var isInitializing =
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3610
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref28) {
|
|
3611
|
+
var isInitializing = _ref28.isInitializing;
|
|
3612
|
+
_this18.updateMeetingActions();
|
|
3613
|
+
_this18.recordingController.setDisplayHints(_this18.userDisplayHints);
|
|
3614
|
+
_this18.recordingController.setUserPolicy(_this18.selfUserPolicies);
|
|
3615
|
+
_this18.controlsOptionsManager.setDisplayHints(_this18.userDisplayHints);
|
|
3616
|
+
_this18.handleDataChannelUrlChange(_this18.datachannelUrl);
|
|
3544
3617
|
if (!isInitializing) {
|
|
3545
3618
|
// send updated trigger only if locus is not initializing the meeting
|
|
3546
|
-
_triggerProxy.default.trigger(
|
|
3619
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3547
3620
|
file: 'meetings',
|
|
3548
3621
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3549
3622
|
}, _constants.EVENT_TRIGGERS.MEETING_INFO_UPDATED);
|
|
@@ -3574,10 +3647,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3574
3647
|
}, {
|
|
3575
3648
|
key: "setUpLocusEmbeddedAppsListener",
|
|
3576
3649
|
value: function setUpLocusEmbeddedAppsListener() {
|
|
3577
|
-
var
|
|
3650
|
+
var _this19 = this;
|
|
3578
3651
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
|
|
3579
3652
|
if (embeddedApps) {
|
|
3580
|
-
_triggerProxy.default.trigger(
|
|
3653
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3581
3654
|
file: 'meeting/index',
|
|
3582
3655
|
function: 'setUpLocusEmbeddedAppsListener'
|
|
3583
3656
|
}, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
|
|
@@ -3594,11 +3667,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3594
3667
|
}, {
|
|
3595
3668
|
key: "setUpLocusInfoSelfListener",
|
|
3596
3669
|
value: function setUpLocusInfoSelfListener() {
|
|
3597
|
-
var
|
|
3670
|
+
var _this20 = this;
|
|
3598
3671
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
3599
|
-
if (
|
|
3600
|
-
|
|
3601
|
-
_triggerProxy.default.trigger(
|
|
3672
|
+
if (_this20.audio) {
|
|
3673
|
+
_this20.audio.handleServerLocalUnmuteRequired(_this20, payload.unmuteAllowed);
|
|
3674
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3602
3675
|
file: 'meeting/index',
|
|
3603
3676
|
function: 'setUpLocusInfoSelfListener'
|
|
3604
3677
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3608,13 +3681,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3608
3681
|
});
|
|
3609
3682
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
|
|
3610
3683
|
if (payload) {
|
|
3611
|
-
if (
|
|
3684
|
+
if (_this20.video) {
|
|
3612
3685
|
var _payload$muted, _payload$unmuteAllowe;
|
|
3613
|
-
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted :
|
|
3614
|
-
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe :
|
|
3615
|
-
|
|
3686
|
+
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
|
|
3687
|
+
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
|
|
3688
|
+
_this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3616
3689
|
}
|
|
3617
|
-
_triggerProxy.default.trigger(
|
|
3690
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3618
3691
|
file: 'meeting/index',
|
|
3619
3692
|
function: 'setUpLocusInfoSelfListener'
|
|
3620
3693
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
|
|
@@ -3624,15 +3697,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3624
3697
|
});
|
|
3625
3698
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
|
|
3626
3699
|
if (payload) {
|
|
3627
|
-
var
|
|
3628
|
-
if (
|
|
3629
|
-
|
|
3700
|
+
var _this20$audio;
|
|
3701
|
+
if (_this20.audio) {
|
|
3702
|
+
_this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3630
3703
|
}
|
|
3631
3704
|
// with "mute on entry" server will send us remote mute even if we don't have media configured,
|
|
3632
3705
|
// so if being muted by others, always send the notification,
|
|
3633
3706
|
// but if being unmuted, only send it if we are also locally unmuted
|
|
3634
|
-
if (payload.muted || !((
|
|
3635
|
-
_triggerProxy.default.trigger(
|
|
3707
|
+
if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
|
|
3708
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3636
3709
|
file: 'meeting/index',
|
|
3637
3710
|
function: 'setUpLocusInfoSelfListener'
|
|
3638
3711
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3642,7 +3715,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3642
3715
|
}
|
|
3643
3716
|
});
|
|
3644
3717
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
|
|
3645
|
-
_triggerProxy.default.trigger(
|
|
3718
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3646
3719
|
file: 'meeting/index',
|
|
3647
3720
|
function: 'setUpLocusInfoSelfListener'
|
|
3648
3721
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
|
|
@@ -3651,8 +3724,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3651
3724
|
});
|
|
3652
3725
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
|
|
3653
3726
|
if (payload) {
|
|
3654
|
-
|
|
3655
|
-
_triggerProxy.default.trigger(
|
|
3727
|
+
_this20.startKeepAlive();
|
|
3728
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3656
3729
|
file: 'meeting/index',
|
|
3657
3730
|
function: 'setUpLocusInfoSelfListener'
|
|
3658
3731
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
|
|
@@ -3660,24 +3733,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3660
3733
|
});
|
|
3661
3734
|
|
|
3662
3735
|
// @ts-ignore
|
|
3663
|
-
|
|
3736
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3664
3737
|
name: 'client.lobby.entered',
|
|
3665
3738
|
options: {
|
|
3666
|
-
meetingId:
|
|
3739
|
+
meetingId: _this20.id
|
|
3667
3740
|
}
|
|
3668
3741
|
});
|
|
3669
3742
|
}
|
|
3670
|
-
|
|
3743
|
+
_this20.updateLLMConnection();
|
|
3671
3744
|
});
|
|
3672
3745
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3673
|
-
var
|
|
3674
|
-
var
|
|
3746
|
+
var _ref29 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3747
|
+
var _this20$rtcMetrics;
|
|
3675
3748
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3676
3749
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3677
3750
|
case 0:
|
|
3678
|
-
|
|
3751
|
+
_this20.stopKeepAlive();
|
|
3679
3752
|
if (payload) {
|
|
3680
|
-
_triggerProxy.default.trigger(
|
|
3753
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3681
3754
|
file: 'meeting/index',
|
|
3682
3755
|
function: 'setUpLocusInfoSelfListener'
|
|
3683
3756
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
@@ -3685,15 +3758,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3685
3758
|
});
|
|
3686
3759
|
|
|
3687
3760
|
// @ts-ignore
|
|
3688
|
-
|
|
3761
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3689
3762
|
name: 'client.lobby.exited',
|
|
3690
3763
|
options: {
|
|
3691
|
-
meetingId:
|
|
3764
|
+
meetingId: _this20.id
|
|
3692
3765
|
}
|
|
3693
3766
|
});
|
|
3694
3767
|
}
|
|
3695
|
-
(
|
|
3696
|
-
|
|
3768
|
+
(_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
|
|
3769
|
+
_this20.updateLLMConnection();
|
|
3697
3770
|
case 4:
|
|
3698
3771
|
case "end":
|
|
3699
3772
|
return _context9.stop();
|
|
@@ -3701,42 +3774,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3701
3774
|
}, _callee9);
|
|
3702
3775
|
}));
|
|
3703
3776
|
return function (_x9) {
|
|
3704
|
-
return
|
|
3777
|
+
return _ref29.apply(this, arguments);
|
|
3705
3778
|
};
|
|
3706
3779
|
}());
|
|
3707
3780
|
|
|
3708
3781
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
3709
3782
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
3710
3783
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
|
|
3711
|
-
correlation_id:
|
|
3712
|
-
locus_id:
|
|
3784
|
+
correlation_id: _this20.correlationId,
|
|
3785
|
+
locus_id: _this20.locusId
|
|
3713
3786
|
});
|
|
3714
3787
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_INACTIVITY received, reconnecting...');
|
|
3715
|
-
|
|
3788
|
+
_this20.reconnect();
|
|
3716
3789
|
});
|
|
3717
3790
|
|
|
3718
3791
|
// There is two stats for mute one is the actual media being sent or received
|
|
3719
3792
|
// The second on is if the audio is muted, we need to tell the statsAnalyzer when
|
|
3720
3793
|
// the audio is muted or the user is not willing to send media
|
|
3721
3794
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
|
|
3722
|
-
if (
|
|
3723
|
-
var
|
|
3724
|
-
|
|
3795
|
+
if (_this20.statsAnalyzer) {
|
|
3796
|
+
var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
|
|
3797
|
+
_this20.statsAnalyzer.updateMediaStatus({
|
|
3725
3798
|
actual: status,
|
|
3726
3799
|
expected: {
|
|
3727
3800
|
// We need to check what should be the actual direction of media
|
|
3728
|
-
sendAudio: ((
|
|
3729
|
-
sendVideo: ((
|
|
3730
|
-
sendShare: (
|
|
3731
|
-
receiveAudio: (
|
|
3732
|
-
receiveVideo: (
|
|
3733
|
-
receiveShare: (
|
|
3801
|
+
sendAudio: ((_this20$mediaProperti = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti === void 0 ? void 0 : _this20$mediaProperti.sendAudio) && !((_this20$audio2 = _this20.audio) !== null && _this20$audio2 !== void 0 && _this20$audio2.isMuted()),
|
|
3802
|
+
sendVideo: ((_this20$mediaProperti2 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti2 === void 0 ? void 0 : _this20$mediaProperti2.sendVideo) && !((_this20$video = _this20.video) !== null && _this20$video !== void 0 && _this20$video.isMuted()),
|
|
3803
|
+
sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
|
|
3804
|
+
receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
|
|
3805
|
+
receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
|
|
3806
|
+
receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
|
|
3734
3807
|
}
|
|
3735
3808
|
});
|
|
3736
3809
|
}
|
|
3737
3810
|
});
|
|
3738
3811
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
|
|
3739
|
-
_triggerProxy.default.trigger(
|
|
3812
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3740
3813
|
file: 'meeting/index',
|
|
3741
3814
|
function: 'setUpLocusInfoSelfListener'
|
|
3742
3815
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
|
|
@@ -3744,29 +3817,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3744
3817
|
});
|
|
3745
3818
|
});
|
|
3746
3819
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
|
|
3747
|
-
|
|
3748
|
-
_triggerProxy.default.trigger(
|
|
3820
|
+
_this20.breakouts.updateBreakoutSessions(payload);
|
|
3821
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3749
3822
|
file: 'meeting/index',
|
|
3750
3823
|
function: 'setUpLocusInfoSelfListener'
|
|
3751
3824
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3752
3825
|
});
|
|
3753
3826
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
3754
|
-
var targetChanged =
|
|
3755
|
-
_triggerProxy.default.trigger(
|
|
3827
|
+
var targetChanged = _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3828
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3756
3829
|
file: 'meeting/index',
|
|
3757
3830
|
function: 'setUpLocusInfoSelfListener'
|
|
3758
3831
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3759
|
-
if (targetChanged &&
|
|
3760
|
-
|
|
3832
|
+
if (targetChanged && _this20.mediaProperties.audioStream) {
|
|
3833
|
+
_this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
3761
3834
|
}
|
|
3762
3835
|
});
|
|
3763
3836
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
3764
|
-
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3
|
|
3837
|
+
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
|
|
3765
3838
|
var isModeratorOrCohost = ((_payload$newRoles = payload.newRoles) === null || _payload$newRoles === void 0 ? void 0 : _payload$newRoles.includes(_constants.SELF_ROLES.MODERATOR)) || ((_payload$newRoles2 = payload.newRoles) === null || _payload$newRoles2 === void 0 ? void 0 : _payload$newRoles2.includes(_constants.SELF_ROLES.COHOST));
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
_triggerProxy.default.trigger(
|
|
3839
|
+
_this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
|
|
3840
|
+
_this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
|
|
3841
|
+
_this20.webinar.updateRoleChanged(payload);
|
|
3842
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3770
3843
|
file: 'meeting/index',
|
|
3771
3844
|
function: 'setUpLocusInfoSelfListener'
|
|
3772
3845
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
|
|
@@ -3774,7 +3847,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3774
3847
|
});
|
|
3775
3848
|
});
|
|
3776
3849
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
|
|
3777
|
-
_triggerProxy.default.trigger(
|
|
3850
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3778
3851
|
file: 'meeting/index',
|
|
3779
3852
|
function: 'setUpLocusInfoSelfListener'
|
|
3780
3853
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
|
|
@@ -3792,42 +3865,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3792
3865
|
}, {
|
|
3793
3866
|
key: "setUpLocusInfoMeetingListener",
|
|
3794
3867
|
value: function setUpLocusInfoMeetingListener() {
|
|
3795
|
-
var
|
|
3868
|
+
var _this21 = this;
|
|
3796
3869
|
this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
|
|
3797
|
-
|
|
3870
|
+
_this21.meetingFiniteStateMachine.remote(payload);
|
|
3798
3871
|
if (payload.remoteDeclined) {
|
|
3799
|
-
|
|
3872
|
+
_this21.leave({
|
|
3800
3873
|
reason: payload.reason
|
|
3801
3874
|
}).then(function () {
|
|
3802
3875
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
|
|
3803
3876
|
}).catch(function (error) {
|
|
3804
3877
|
// @ts-ignore
|
|
3805
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3878
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
|
|
3806
3879
|
});
|
|
3807
3880
|
}
|
|
3808
3881
|
});
|
|
3809
3882
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3810
|
-
var
|
|
3883
|
+
var _ref30 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3811
3884
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3812
3885
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3813
3886
|
case 0:
|
|
3814
|
-
if (!
|
|
3887
|
+
if (!_this21.wirelessShare) {
|
|
3815
3888
|
_context10.next = 7;
|
|
3816
3889
|
break;
|
|
3817
3890
|
}
|
|
3818
|
-
if (!
|
|
3891
|
+
if (!_this21.mediaProperties.shareVideoStream) {
|
|
3819
3892
|
_context10.next = 4;
|
|
3820
3893
|
break;
|
|
3821
3894
|
}
|
|
3822
3895
|
_context10.next = 4;
|
|
3823
|
-
return
|
|
3896
|
+
return _this21.setLocalShareVideoStream(undefined);
|
|
3824
3897
|
case 4:
|
|
3825
|
-
if (!
|
|
3898
|
+
if (!_this21.mediaProperties.shareAudioStream) {
|
|
3826
3899
|
_context10.next = 7;
|
|
3827
3900
|
break;
|
|
3828
3901
|
}
|
|
3829
3902
|
_context10.next = 7;
|
|
3830
|
-
return
|
|
3903
|
+
return _this21.setLocalShareAudioStream(undefined);
|
|
3831
3904
|
case 7:
|
|
3832
3905
|
if (!payload.shouldLeave) {
|
|
3833
3906
|
_context10.next = 19;
|
|
@@ -3835,7 +3908,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3835
3908
|
}
|
|
3836
3909
|
_context10.prev = 8;
|
|
3837
3910
|
_context10.next = 11;
|
|
3838
|
-
return
|
|
3911
|
+
return _this21.leave({
|
|
3839
3912
|
reason: payload.reason
|
|
3840
3913
|
});
|
|
3841
3914
|
case 11:
|
|
@@ -3846,19 +3919,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3846
3919
|
_context10.prev = 14;
|
|
3847
3920
|
_context10.t0 = _context10["catch"](8);
|
|
3848
3921
|
// @ts-ignore
|
|
3849
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3922
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(_context10.t0));
|
|
3850
3923
|
case 17:
|
|
3851
3924
|
_context10.next = 22;
|
|
3852
3925
|
break;
|
|
3853
3926
|
case 19:
|
|
3854
3927
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3855
|
-
_util2.default.cleanUp(
|
|
3856
|
-
_triggerProxy.default.trigger(
|
|
3928
|
+
_util2.default.cleanUp(_this21);
|
|
3929
|
+
_triggerProxy.default.trigger(_this21, {
|
|
3857
3930
|
file: 'meeting/index',
|
|
3858
3931
|
function: 'setUpLocusInfoMeetingListener'
|
|
3859
3932
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
3860
3933
|
reason: payload.reason,
|
|
3861
|
-
meetingId:
|
|
3934
|
+
meetingId: _this21.id
|
|
3862
3935
|
});
|
|
3863
3936
|
case 22:
|
|
3864
3937
|
case "end":
|
|
@@ -3867,7 +3940,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3867
3940
|
}, _callee10, null, [[8, 14]]);
|
|
3868
3941
|
}));
|
|
3869
3942
|
return function (_x10) {
|
|
3870
|
-
return
|
|
3943
|
+
return _ref30.apply(this, arguments);
|
|
3871
3944
|
};
|
|
3872
3945
|
}());
|
|
3873
3946
|
}
|
|
@@ -3883,13 +3956,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3883
3956
|
}, {
|
|
3884
3957
|
key: "updateMeetingObject",
|
|
3885
3958
|
value: function updateMeetingObject(object) {
|
|
3886
|
-
var
|
|
3959
|
+
var _this22 = this;
|
|
3887
3960
|
// Validate if these are valid meeting object property
|
|
3888
3961
|
// TODO: add a check to make sure the value passed in the constructor
|
|
3889
3962
|
// is not changed by any delta event
|
|
3890
3963
|
if (object && (0, _keys.default)(object).length) {
|
|
3891
3964
|
(0, _keys.default)(object).forEach(function (key) {
|
|
3892
|
-
|
|
3965
|
+
_this22[key] = object[key];
|
|
3893
3966
|
});
|
|
3894
3967
|
}
|
|
3895
3968
|
}
|
|
@@ -4219,6 +4292,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4219
4292
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
4220
4293
|
displayHints: this.userDisplayHints
|
|
4221
4294
|
}),
|
|
4295
|
+
canEnableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4296
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4297
|
+
displayHints: this.userDisplayHints
|
|
4298
|
+
}),
|
|
4299
|
+
canDisableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4300
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4301
|
+
displayHints: this.userDisplayHints
|
|
4302
|
+
}),
|
|
4303
|
+
canEnableShowAttendeeCount: _util5.default.hasHints({
|
|
4304
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_ATTENDEE_COUNT],
|
|
4305
|
+
displayHints: this.userDisplayHints
|
|
4306
|
+
}),
|
|
4307
|
+
canDisableShowAttendeeCount: _util5.default.hasHints({
|
|
4308
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_ATTENDEE_COUNT],
|
|
4309
|
+
displayHints: this.userDisplayHints
|
|
4310
|
+
}),
|
|
4222
4311
|
canEnableRaiseHand: _util5.default.hasHints({
|
|
4223
4312
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
4224
4313
|
displayHints: this.userDisplayHints
|
|
@@ -4235,6 +4324,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4235
4324
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
4236
4325
|
displayHints: this.userDisplayHints
|
|
4237
4326
|
}),
|
|
4327
|
+
canStartWebcast: _util5.default.hasHints({
|
|
4328
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_START],
|
|
4329
|
+
displayHints: this.userDisplayHints
|
|
4330
|
+
}),
|
|
4331
|
+
canStopWebcast: _util5.default.hasHints({
|
|
4332
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_STOP],
|
|
4333
|
+
displayHints: this.userDisplayHints
|
|
4334
|
+
}),
|
|
4335
|
+
canShowStageView: _util5.default.hasHints({
|
|
4336
|
+
requiredHints: [_constants.DISPLAY_HINTS.STAGE_VIEW_ACTIVE],
|
|
4337
|
+
displayHints: this.userDisplayHints
|
|
4338
|
+
}),
|
|
4339
|
+
canEnableStageView: _util5.default.hasHints({
|
|
4340
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_STAGE_VIEW],
|
|
4341
|
+
displayHints: this.userDisplayHints
|
|
4342
|
+
}),
|
|
4343
|
+
canDisableStageView: _util5.default.hasHints({
|
|
4344
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_STAGE_VIEW],
|
|
4345
|
+
displayHints: this.userDisplayHints
|
|
4346
|
+
}),
|
|
4238
4347
|
canShareFile: _util5.default.hasHints({
|
|
4239
4348
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
4240
4349
|
displayHints: this.userDisplayHints
|
|
@@ -4413,7 +4522,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4413
4522
|
}, {
|
|
4414
4523
|
key: "closeRemoteStreams",
|
|
4415
4524
|
value: function closeRemoteStreams() {
|
|
4416
|
-
var
|
|
4525
|
+
var _this23 = this;
|
|
4417
4526
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4418
4527
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4419
4528
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4427,7 +4536,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4427
4536
|
*/
|
|
4428
4537
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4429
4538
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4430
|
-
_triggerProxy.default.trigger(
|
|
4539
|
+
_triggerProxy.default.trigger(_this23, {
|
|
4431
4540
|
file: 'meeting/index',
|
|
4432
4541
|
function: 'closeRemoteStreams'
|
|
4433
4542
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4735,7 +4844,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4735
4844
|
}, {
|
|
4736
4845
|
key: "setMercuryListener",
|
|
4737
4846
|
value: function setMercuryListener() {
|
|
4738
|
-
var
|
|
4847
|
+
var _this24 = this;
|
|
4739
4848
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4740
4849
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4741
4850
|
// @ts-ignore
|
|
@@ -4743,33 +4852,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4743
4852
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4744
4853
|
|
|
4745
4854
|
// Only send restore event when it was disconnected before and for connected later
|
|
4746
|
-
if (!
|
|
4855
|
+
if (!_this24.hasWebsocketConnected) {
|
|
4747
4856
|
// @ts-ignore
|
|
4748
|
-
|
|
4857
|
+
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
4749
4858
|
name: 'client.mercury.connection.restored',
|
|
4750
4859
|
options: {
|
|
4751
|
-
meetingId:
|
|
4860
|
+
meetingId: _this24.id
|
|
4752
4861
|
}
|
|
4753
4862
|
});
|
|
4754
4863
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4755
|
-
correlation_id:
|
|
4864
|
+
correlation_id: _this24.correlationId
|
|
4756
4865
|
});
|
|
4757
4866
|
}
|
|
4758
|
-
|
|
4867
|
+
_this24.hasWebsocketConnected = true;
|
|
4759
4868
|
});
|
|
4760
4869
|
|
|
4761
4870
|
// @ts-ignore
|
|
4762
4871
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4763
4872
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4764
4873
|
// @ts-ignore
|
|
4765
|
-
|
|
4874
|
+
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
4766
4875
|
name: 'client.mercury.connection.lost',
|
|
4767
4876
|
options: {
|
|
4768
|
-
meetingId:
|
|
4877
|
+
meetingId: _this24.id
|
|
4769
4878
|
}
|
|
4770
4879
|
});
|
|
4771
4880
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4772
|
-
correlation_id:
|
|
4881
|
+
correlation_id: _this24.correlationId
|
|
4773
4882
|
});
|
|
4774
4883
|
});
|
|
4775
4884
|
}
|
|
@@ -4871,7 +4980,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4871
4980
|
}, {
|
|
4872
4981
|
key: "muteAudio",
|
|
4873
4982
|
value: function muteAudio() {
|
|
4874
|
-
var
|
|
4983
|
+
var _this25 = this;
|
|
4875
4984
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4876
4985
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4877
4986
|
}
|
|
@@ -4887,22 +4996,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4887
4996
|
|
|
4888
4997
|
// First, stop sending the local audio media
|
|
4889
4998
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4890
|
-
_util2.default.handleAudioLogging(
|
|
4999
|
+
_util2.default.handleAudioLogging(_this25.mediaProperties.audioStream);
|
|
4891
5000
|
// @ts-ignore
|
|
4892
|
-
|
|
5001
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4893
5002
|
name: 'client.muted',
|
|
4894
5003
|
payload: {
|
|
4895
5004
|
trigger: 'user-interaction',
|
|
4896
5005
|
mediaType: 'audio'
|
|
4897
5006
|
},
|
|
4898
5007
|
options: {
|
|
4899
|
-
meetingId:
|
|
5008
|
+
meetingId: _this25.id
|
|
4900
5009
|
}
|
|
4901
5010
|
});
|
|
4902
5011
|
}).catch(function (error) {
|
|
4903
5012
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
4904
|
-
correlation_id:
|
|
4905
|
-
locus_id:
|
|
5013
|
+
correlation_id: _this25.correlationId,
|
|
5014
|
+
locus_id: _this25.locusUrl.split('/').pop(),
|
|
4906
5015
|
reason: error.message,
|
|
4907
5016
|
stack: error.stack
|
|
4908
5017
|
});
|
|
@@ -4921,7 +5030,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4921
5030
|
}, {
|
|
4922
5031
|
key: "unmuteAudio",
|
|
4923
5032
|
value: function unmuteAudio() {
|
|
4924
|
-
var
|
|
5033
|
+
var _this26 = this;
|
|
4925
5034
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4926
5035
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4927
5036
|
}
|
|
@@ -4937,22 +5046,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4937
5046
|
|
|
4938
5047
|
// First, send the control to unmute the participant on the server
|
|
4939
5048
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4940
|
-
_util2.default.handleAudioLogging(
|
|
5049
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
4941
5050
|
// @ts-ignore
|
|
4942
|
-
|
|
5051
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4943
5052
|
name: 'client.unmuted',
|
|
4944
5053
|
payload: {
|
|
4945
5054
|
trigger: 'user-interaction',
|
|
4946
5055
|
mediaType: 'audio'
|
|
4947
5056
|
},
|
|
4948
5057
|
options: {
|
|
4949
|
-
meetingId:
|
|
5058
|
+
meetingId: _this26.id
|
|
4950
5059
|
}
|
|
4951
5060
|
});
|
|
4952
5061
|
}).catch(function (error) {
|
|
4953
5062
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4954
|
-
correlation_id:
|
|
4955
|
-
locus_id:
|
|
5063
|
+
correlation_id: _this26.correlationId,
|
|
5064
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4956
5065
|
reason: error.message,
|
|
4957
5066
|
stack: error.stack
|
|
4958
5067
|
});
|
|
@@ -4971,7 +5080,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4971
5080
|
}, {
|
|
4972
5081
|
key: "muteVideo",
|
|
4973
5082
|
value: function muteVideo() {
|
|
4974
|
-
var
|
|
5083
|
+
var _this27 = this;
|
|
4975
5084
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4976
5085
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4977
5086
|
}
|
|
@@ -4985,22 +5094,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4985
5094
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4986
5095
|
}
|
|
4987
5096
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4988
|
-
_util2.default.handleVideoLogging(
|
|
5097
|
+
_util2.default.handleVideoLogging(_this27.mediaProperties.videoStream);
|
|
4989
5098
|
// @ts-ignore
|
|
4990
|
-
|
|
5099
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4991
5100
|
name: 'client.muted',
|
|
4992
5101
|
payload: {
|
|
4993
5102
|
trigger: 'user-interaction',
|
|
4994
5103
|
mediaType: 'video'
|
|
4995
5104
|
},
|
|
4996
5105
|
options: {
|
|
4997
|
-
meetingId:
|
|
5106
|
+
meetingId: _this27.id
|
|
4998
5107
|
}
|
|
4999
5108
|
});
|
|
5000
5109
|
}).catch(function (error) {
|
|
5001
5110
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5002
|
-
correlation_id:
|
|
5003
|
-
locus_id:
|
|
5111
|
+
correlation_id: _this27.correlationId,
|
|
5112
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
5004
5113
|
reason: error.message,
|
|
5005
5114
|
stack: error.stack
|
|
5006
5115
|
});
|
|
@@ -5019,7 +5128,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5019
5128
|
}, {
|
|
5020
5129
|
key: "unmuteVideo",
|
|
5021
5130
|
value: function unmuteVideo() {
|
|
5022
|
-
var
|
|
5131
|
+
var _this28 = this;
|
|
5023
5132
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5024
5133
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5025
5134
|
}
|
|
@@ -5033,22 +5142,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5033
5142
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5034
5143
|
}
|
|
5035
5144
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5036
|
-
_util2.default.handleVideoLogging(
|
|
5145
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
5037
5146
|
// @ts-ignore
|
|
5038
|
-
|
|
5147
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5039
5148
|
name: 'client.unmuted',
|
|
5040
5149
|
payload: {
|
|
5041
5150
|
trigger: 'user-interaction',
|
|
5042
5151
|
mediaType: 'video'
|
|
5043
5152
|
},
|
|
5044
5153
|
options: {
|
|
5045
|
-
meetingId:
|
|
5154
|
+
meetingId: _this28.id
|
|
5046
5155
|
}
|
|
5047
5156
|
});
|
|
5048
5157
|
}).catch(function (error) {
|
|
5049
5158
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5050
|
-
correlation_id:
|
|
5051
|
-
locus_id:
|
|
5159
|
+
correlation_id: _this28.correlationId,
|
|
5160
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5052
5161
|
reason: error.message,
|
|
5053
5162
|
stack: error.stack
|
|
5054
5163
|
});
|
|
@@ -5078,7 +5187,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5078
5187
|
key: "joinWithMedia",
|
|
5079
5188
|
value: (function () {
|
|
5080
5189
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5081
|
-
var
|
|
5190
|
+
var _this29 = this;
|
|
5082
5191
|
var options,
|
|
5083
5192
|
mediaOptions,
|
|
5084
5193
|
_options$joinOptions,
|
|
@@ -5118,34 +5227,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5118
5227
|
_context15.prev = 9;
|
|
5119
5228
|
forceTurnDiscovery = false;
|
|
5120
5229
|
if (joinResponse) {
|
|
5121
|
-
_context15.next =
|
|
5230
|
+
_context15.next = 33;
|
|
5122
5231
|
break;
|
|
5123
5232
|
}
|
|
5124
5233
|
_context15.next = 14;
|
|
5125
|
-
return this.webex.meetings.reachability.getReachabilityResults();
|
|
5126
|
-
case 14:
|
|
5127
|
-
joinOptions.reachability = _context15.sent;
|
|
5128
|
-
_context15.next = 17;
|
|
5129
5234
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5130
|
-
case
|
|
5235
|
+
case 14:
|
|
5131
5236
|
turnDiscoveryRequest = _context15.sent;
|
|
5132
5237
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5133
5238
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5134
5239
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5135
|
-
_context15.next =
|
|
5240
|
+
_context15.next = 20;
|
|
5136
5241
|
return this.join(joinOptions);
|
|
5137
|
-
case
|
|
5242
|
+
case 20:
|
|
5138
5243
|
joinResponse = _context15.sent;
|
|
5139
5244
|
joined = true;
|
|
5140
5245
|
|
|
5141
5246
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5142
5247
|
if (!joinOptions.roapMessage) {
|
|
5143
|
-
_context15.next =
|
|
5248
|
+
_context15.next = 31;
|
|
5144
5249
|
break;
|
|
5145
5250
|
}
|
|
5146
|
-
_context15.next =
|
|
5251
|
+
_context15.next = 25;
|
|
5147
5252
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5148
|
-
case
|
|
5253
|
+
case 25:
|
|
5149
5254
|
_yield$this$roap$hand = _context15.sent;
|
|
5150
5255
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5151
5256
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -5154,20 +5259,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5154
5259
|
if (turnServerInfo === undefined) {
|
|
5155
5260
|
this.roap.abortTurnDiscovery();
|
|
5156
5261
|
}
|
|
5157
|
-
case
|
|
5158
|
-
_context15.next =
|
|
5262
|
+
case 31:
|
|
5263
|
+
_context15.next = 35;
|
|
5159
5264
|
break;
|
|
5160
|
-
case
|
|
5265
|
+
case 33:
|
|
5161
5266
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
5162
5267
|
// but we need to ensure that it also does a new TURN discovery
|
|
5163
5268
|
forceTurnDiscovery = true;
|
|
5164
5269
|
joined = true;
|
|
5165
|
-
case
|
|
5166
|
-
_context15.next =
|
|
5270
|
+
case 35:
|
|
5271
|
+
_context15.next = 37;
|
|
5167
5272
|
return this.addMediaInternal(function () {
|
|
5168
|
-
return
|
|
5273
|
+
return _this29.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5169
5274
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5170
|
-
case
|
|
5275
|
+
case 37:
|
|
5171
5276
|
mediaResponse = _context15.sent;
|
|
5172
5277
|
this.joinWithMediaRetryInfo = {
|
|
5173
5278
|
isRetry: false,
|
|
@@ -5177,30 +5282,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5177
5282
|
join: joinResponse,
|
|
5178
5283
|
media: mediaResponse
|
|
5179
5284
|
});
|
|
5180
|
-
case
|
|
5181
|
-
_context15.prev =
|
|
5285
|
+
case 42:
|
|
5286
|
+
_context15.prev = 42;
|
|
5182
5287
|
_context15.t0 = _context15["catch"](9);
|
|
5183
5288
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
5184
5289
|
this.roap.abortTurnDiscovery();
|
|
5185
5290
|
if (!(joined && isRetry)) {
|
|
5186
|
-
_context15.next =
|
|
5291
|
+
_context15.next = 56;
|
|
5187
5292
|
break;
|
|
5188
5293
|
}
|
|
5189
|
-
_context15.prev =
|
|
5190
|
-
_context15.next =
|
|
5294
|
+
_context15.prev = 47;
|
|
5295
|
+
_context15.next = 50;
|
|
5191
5296
|
return this.leave({
|
|
5192
5297
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5193
5298
|
reason: 'joinWithMedia failure'
|
|
5194
5299
|
});
|
|
5195
|
-
case
|
|
5196
|
-
_context15.next =
|
|
5300
|
+
case 50:
|
|
5301
|
+
_context15.next = 56;
|
|
5197
5302
|
break;
|
|
5198
|
-
case
|
|
5199
|
-
_context15.prev =
|
|
5200
|
-
_context15.t1 = _context15["catch"](
|
|
5303
|
+
case 52:
|
|
5304
|
+
_context15.prev = 52;
|
|
5305
|
+
_context15.t1 = _context15["catch"](47);
|
|
5201
5306
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
5202
5307
|
leaveError = _context15.t1;
|
|
5203
|
-
case
|
|
5308
|
+
case 56:
|
|
5204
5309
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5205
5310
|
correlation_id: this.correlationId,
|
|
5206
5311
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
@@ -5221,24 +5326,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5221
5326
|
shouldRetry = false;
|
|
5222
5327
|
}
|
|
5223
5328
|
if (!shouldRetry) {
|
|
5224
|
-
_context15.next =
|
|
5329
|
+
_context15.next = 64;
|
|
5225
5330
|
break;
|
|
5226
5331
|
}
|
|
5227
5332
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5228
5333
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5229
5334
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5230
5335
|
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5231
|
-
case
|
|
5336
|
+
case 64:
|
|
5232
5337
|
this.joinWithMediaRetryInfo = {
|
|
5233
5338
|
isRetry: false,
|
|
5234
5339
|
prevJoinResponse: undefined
|
|
5235
5340
|
};
|
|
5236
5341
|
throw _context15.t0;
|
|
5237
|
-
case
|
|
5342
|
+
case 66:
|
|
5238
5343
|
case "end":
|
|
5239
5344
|
return _context15.stop();
|
|
5240
5345
|
}
|
|
5241
|
-
}, _callee15, this, [[9,
|
|
5346
|
+
}, _callee15, this, [[9, 42], [47, 52]]);
|
|
5242
5347
|
}));
|
|
5243
5348
|
function joinWithMedia() {
|
|
5244
5349
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5257,7 +5362,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5257
5362
|
}, {
|
|
5258
5363
|
key: "reconnect",
|
|
5259
5364
|
value: function reconnect(options) {
|
|
5260
|
-
var
|
|
5365
|
+
var _this30 = this;
|
|
5261
5366
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5262
5367
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5263
5368
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5267,15 +5372,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5267
5372
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5268
5373
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5269
5374
|
}
|
|
5375
|
+
this.cleanUpBeforeReconnection();
|
|
5270
5376
|
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5271
5377
|
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5272
5378
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5273
5379
|
case 0:
|
|
5274
5380
|
_context16.next = 2;
|
|
5275
|
-
return
|
|
5381
|
+
return _this30.waitForRemoteSDPAnswer();
|
|
5276
5382
|
case 2:
|
|
5277
5383
|
_context16.next = 4;
|
|
5278
|
-
return
|
|
5384
|
+
return _this30.waitForMediaConnectionConnected();
|
|
5279
5385
|
case 4:
|
|
5280
5386
|
case "end":
|
|
5281
5387
|
return _context16.stop();
|
|
@@ -5289,7 +5395,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5289
5395
|
return _promise.default.resolve();
|
|
5290
5396
|
}
|
|
5291
5397
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5292
|
-
|
|
5398
|
+
_this30.uploadLogs({
|
|
5293
5399
|
file: 'meeting/index',
|
|
5294
5400
|
function: 'reconnect'
|
|
5295
5401
|
});
|
|
@@ -5336,19 +5442,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5336
5442
|
}, {
|
|
5337
5443
|
key: "setCaptionLanguage",
|
|
5338
5444
|
value: function setCaptionLanguage(language) {
|
|
5339
|
-
var
|
|
5445
|
+
var _this31 = this;
|
|
5340
5446
|
return new _promise.default(function (resolve, reject) {
|
|
5341
|
-
if (!
|
|
5447
|
+
if (!_this31.isTranscriptionSupported()) {
|
|
5342
5448
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5343
5449
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5344
5450
|
}
|
|
5345
5451
|
try {
|
|
5346
5452
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5347
5453
|
// @ts-ignore
|
|
5348
|
-
|
|
5454
|
+
_this31.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5349
5455
|
var statusCode = payload.statusCode;
|
|
5350
5456
|
if (statusCode === 200) {
|
|
5351
|
-
|
|
5457
|
+
_this31.transcription.languageOptions = _objectSpread(_objectSpread({}, _this31.transcription.languageOptions), {}, {
|
|
5352
5458
|
currentCaptionLanguage: language
|
|
5353
5459
|
});
|
|
5354
5460
|
resolve(language);
|
|
@@ -5357,9 +5463,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5357
5463
|
}
|
|
5358
5464
|
};
|
|
5359
5465
|
// @ts-ignore
|
|
5360
|
-
|
|
5466
|
+
_this31.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5361
5467
|
// @ts-ignore
|
|
5362
|
-
|
|
5468
|
+
_this31.webex.internal.voicea.requestLanguage(language);
|
|
5363
5469
|
} catch (error) {
|
|
5364
5470
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5365
5471
|
reject(error);
|
|
@@ -5375,23 +5481,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5375
5481
|
}, {
|
|
5376
5482
|
key: "setSpokenLanguage",
|
|
5377
5483
|
value: function setSpokenLanguage(language) {
|
|
5378
|
-
var
|
|
5484
|
+
var _this32 = this;
|
|
5379
5485
|
return new _promise.default(function (resolve, reject) {
|
|
5380
|
-
if (!
|
|
5486
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5381
5487
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5382
5488
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5383
5489
|
}
|
|
5384
|
-
if (
|
|
5490
|
+
if (_this32.getCurUserType() !== 'host') {
|
|
5385
5491
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5386
5492
|
reject(new Error('Only host can set spoken language'));
|
|
5387
5493
|
}
|
|
5388
5494
|
try {
|
|
5389
5495
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5390
5496
|
// @ts-ignore
|
|
5391
|
-
|
|
5497
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5392
5498
|
var languageCode = payload.languageCode;
|
|
5393
5499
|
if (languageCode) {
|
|
5394
|
-
|
|
5500
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5395
5501
|
currentSpokenLanguage: languageCode
|
|
5396
5502
|
});
|
|
5397
5503
|
resolve(languageCode);
|
|
@@ -5401,10 +5507,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5401
5507
|
};
|
|
5402
5508
|
|
|
5403
5509
|
// @ts-ignore
|
|
5404
|
-
|
|
5510
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5405
5511
|
|
|
5406
5512
|
// @ts-ignore
|
|
5407
|
-
|
|
5513
|
+
_this32.webex.internal.voicea.setSpokenLanguage(language);
|
|
5408
5514
|
} catch (error) {
|
|
5409
5515
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5410
5516
|
reject(error);
|
|
@@ -5524,7 +5630,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5524
5630
|
*/
|
|
5525
5631
|
function () {
|
|
5526
5632
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5527
|
-
var
|
|
5633
|
+
var _this33 = this;
|
|
5528
5634
|
var options,
|
|
5529
5635
|
errorMessage,
|
|
5530
5636
|
error,
|
|
@@ -5670,62 +5776,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5670
5776
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5671
5777
|
case 51:
|
|
5672
5778
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5673
|
-
|
|
5674
|
-
|
|
5779
|
+
_this33.meetingFiniteStateMachine.join();
|
|
5780
|
+
_this33.setupLocusMediaRequest();
|
|
5675
5781
|
|
|
5676
5782
|
// @ts-ignore
|
|
5677
|
-
|
|
5678
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5783
|
+
_this33.webex.internal.device.meetingStarted();
|
|
5784
|
+
(0, _classPrivateFieldSet2.default)(_this33, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5679
5785
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5680
5786
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5681
|
-
correlation_id:
|
|
5787
|
+
correlation_id: _this33.correlationId
|
|
5682
5788
|
});
|
|
5683
5789
|
joinSuccess(join);
|
|
5684
|
-
|
|
5790
|
+
_this33.deferJoin = undefined;
|
|
5685
5791
|
return join;
|
|
5686
5792
|
}).catch(function (error) {
|
|
5687
|
-
var
|
|
5688
|
-
|
|
5793
|
+
var _this33$meetingInfo, _error$error;
|
|
5794
|
+
_this33.meetingFiniteStateMachine.fail(error);
|
|
5689
5795
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5690
5796
|
|
|
5691
5797
|
// @ts-ignore
|
|
5692
|
-
|
|
5798
|
+
_this33.webex.internal.newMetrics.submitClientEvent({
|
|
5693
5799
|
name: 'client.locus.join.response',
|
|
5694
5800
|
payload: {
|
|
5695
5801
|
identifiers: {
|
|
5696
|
-
meetingLookupUrl: (
|
|
5802
|
+
meetingLookupUrl: (_this33$meetingInfo = _this33.meetingInfo) === null || _this33$meetingInfo === void 0 ? void 0 : _this33$meetingInfo.meetingLookupUrl
|
|
5697
5803
|
}
|
|
5698
5804
|
},
|
|
5699
5805
|
options: {
|
|
5700
|
-
meetingId:
|
|
5806
|
+
meetingId: _this33.id,
|
|
5701
5807
|
rawError: error
|
|
5702
5808
|
}
|
|
5703
5809
|
});
|
|
5704
5810
|
|
|
5705
5811
|
// TODO: change this to error codes and pre defined dictionary
|
|
5706
5812
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5707
|
-
correlation_id:
|
|
5813
|
+
correlation_id: _this33.correlationId,
|
|
5708
5814
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5709
5815
|
stack: error.stack
|
|
5710
5816
|
});
|
|
5711
5817
|
|
|
5712
5818
|
// Upload logs on join Failure
|
|
5713
|
-
_triggerProxy.default.trigger(
|
|
5819
|
+
_triggerProxy.default.trigger(_this33, {
|
|
5714
5820
|
file: 'meeting/index',
|
|
5715
5821
|
function: 'join'
|
|
5716
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5822
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this33);
|
|
5717
5823
|
joinFailed(error);
|
|
5718
|
-
|
|
5824
|
+
_this33.deferJoin = undefined;
|
|
5719
5825
|
return _promise.default.reject(error);
|
|
5720
5826
|
}).then(function (join) {
|
|
5721
5827
|
// @ts-ignore - config coming from registerPlugin
|
|
5722
|
-
if (
|
|
5828
|
+
if (_this33.config.enableAutomaticLLM) {
|
|
5723
5829
|
// @ts-ignore
|
|
5724
|
-
|
|
5725
|
-
|
|
5830
|
+
_this33.webex.internal.llm.on('online', _this33.handleLLMOnline);
|
|
5831
|
+
_this33.updateLLMConnection().catch(function (error) {
|
|
5726
5832
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5727
5833
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5728
|
-
correlation_id:
|
|
5834
|
+
correlation_id: _this33.correlationId,
|
|
5729
5835
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5730
5836
|
stack: error.stack
|
|
5731
5837
|
});
|
|
@@ -5757,7 +5863,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5757
5863
|
key: "updateLLMConnection",
|
|
5758
5864
|
value: (function () {
|
|
5759
5865
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5760
|
-
var
|
|
5866
|
+
var _this34 = this;
|
|
5761
5867
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5762
5868
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5763
5869
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5793,9 +5899,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5793
5899
|
case 10:
|
|
5794
5900
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5795
5901
|
// @ts-ignore - Fix type
|
|
5796
|
-
|
|
5902
|
+
_this34.webex.internal.llm.off('event:relay.event', _this34.processRelayEvent);
|
|
5797
5903
|
// @ts-ignore - Fix type
|
|
5798
|
-
|
|
5904
|
+
_this34.webex.internal.llm.on('event:relay.event', _this34.processRelayEvent);
|
|
5799
5905
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5800
5906
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5801
5907
|
}));
|
|
@@ -5849,7 +5955,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5849
5955
|
}, {
|
|
5850
5956
|
key: "dialInPstn",
|
|
5851
5957
|
value: function dialInPstn() {
|
|
5852
|
-
var
|
|
5958
|
+
var _this35 = this;
|
|
5853
5959
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5854
5960
|
|
|
5855
5961
|
var correlationId = this.correlationId,
|
|
@@ -5865,10 +5971,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5865
5971
|
}).catch(function (error) {
|
|
5866
5972
|
var _error$error2;
|
|
5867
5973
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5868
|
-
correlation_id:
|
|
5869
|
-
dial_in_url:
|
|
5974
|
+
correlation_id: _this35.correlationId,
|
|
5975
|
+
dial_in_url: _this35.dialInUrl,
|
|
5870
5976
|
locus_id: locusUrl.split('/').pop(),
|
|
5871
|
-
client_url:
|
|
5977
|
+
client_url: _this35.deviceUrl,
|
|
5872
5978
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5873
5979
|
stack: error.stack
|
|
5874
5980
|
});
|
|
@@ -5886,7 +5992,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5886
5992
|
}, {
|
|
5887
5993
|
key: "dialOutPstn",
|
|
5888
5994
|
value: function dialOutPstn(phoneNumber) {
|
|
5889
|
-
var
|
|
5995
|
+
var _this36 = this;
|
|
5890
5996
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5891
5997
|
|
|
5892
5998
|
var correlationId = this.correlationId,
|
|
@@ -5903,10 +6009,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5903
6009
|
}).catch(function (error) {
|
|
5904
6010
|
var _error$error3;
|
|
5905
6011
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5906
|
-
correlation_id:
|
|
5907
|
-
dial_out_url:
|
|
6012
|
+
correlation_id: _this36.correlationId,
|
|
6013
|
+
dial_out_url: _this36.dialOutUrl,
|
|
5908
6014
|
locus_id: locusUrl.split('/').pop(),
|
|
5909
|
-
client_url:
|
|
6015
|
+
client_url: _this36.deviceUrl,
|
|
5910
6016
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5911
6017
|
stack: error.stack
|
|
5912
6018
|
});
|
|
@@ -5937,7 +6043,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5937
6043
|
}, {
|
|
5938
6044
|
key: "moveTo",
|
|
5939
6045
|
value: function moveTo(resourceId) {
|
|
5940
|
-
var
|
|
6046
|
+
var _this37 = this;
|
|
5941
6047
|
if (!resourceId) {
|
|
5942
6048
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5943
6049
|
}
|
|
@@ -5981,12 +6087,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5981
6087
|
while (1) switch (_context20.prev = _context20.next) {
|
|
5982
6088
|
case 0:
|
|
5983
6089
|
_context20.prev = 0;
|
|
5984
|
-
if (!(
|
|
6090
|
+
if (!(_this37.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5985
6091
|
_context20.next = 4;
|
|
5986
6092
|
break;
|
|
5987
6093
|
}
|
|
5988
6094
|
_context20.next = 4;
|
|
5989
|
-
return
|
|
6095
|
+
return _this37.releaseScreenShareFloor();
|
|
5990
6096
|
case 4:
|
|
5991
6097
|
mediaSettings = {
|
|
5992
6098
|
mediaDirection: {
|
|
@@ -5998,37 +6104,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5998
6104
|
receiveShare: true
|
|
5999
6105
|
}
|
|
6000
6106
|
};
|
|
6001
|
-
|
|
6002
|
-
|
|
6107
|
+
_this37.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6108
|
+
_this37.mediaProperties.unsetRemoteMedia();
|
|
6003
6109
|
|
|
6004
6110
|
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the device answers the meeting
|
|
6005
6111
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6006
|
-
if (!
|
|
6112
|
+
if (!_this37.statsAnalyzer) {
|
|
6007
6113
|
_context20.next = 10;
|
|
6008
6114
|
break;
|
|
6009
6115
|
}
|
|
6010
6116
|
_context20.next = 10;
|
|
6011
|
-
return
|
|
6117
|
+
return _this37.statsAnalyzer.stopAnalyzer();
|
|
6012
6118
|
case 10:
|
|
6013
6119
|
_context20.next = 12;
|
|
6014
|
-
return
|
|
6120
|
+
return _this37.closeRemoteStreams();
|
|
6015
6121
|
case 12:
|
|
6016
6122
|
_context20.next = 14;
|
|
6017
|
-
return
|
|
6123
|
+
return _this37.closePeerConnections();
|
|
6018
6124
|
case 14:
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6125
|
+
_this37.cleanupLocalStreams();
|
|
6126
|
+
_this37.unsetRemoteStreams();
|
|
6127
|
+
_this37.unsetPeerConnections();
|
|
6128
|
+
_this37.reconnectionManager.cleanUp();
|
|
6023
6129
|
_context20.next = 20;
|
|
6024
|
-
return
|
|
6130
|
+
return _this37.addMedia({
|
|
6025
6131
|
audioEnabled: false,
|
|
6026
6132
|
videoEnabled: false,
|
|
6027
6133
|
shareVideoEnabled: true
|
|
6028
6134
|
});
|
|
6029
6135
|
case 20:
|
|
6030
6136
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6031
|
-
|
|
6137
|
+
_this37.isMoveToInProgress = false;
|
|
6032
6138
|
_context20.next = 29;
|
|
6033
6139
|
break;
|
|
6034
6140
|
case 24:
|
|
@@ -6036,12 +6142,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6036
6142
|
_context20.t0 = _context20["catch"](0);
|
|
6037
6143
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6038
6144
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6039
|
-
correlation_id:
|
|
6040
|
-
locus_id:
|
|
6145
|
+
correlation_id: _this37.correlationId,
|
|
6146
|
+
locus_id: _this37.locusUrl.split('/').pop(),
|
|
6041
6147
|
reason: _context20.t0.message,
|
|
6042
6148
|
stack: _context20.t0.stack
|
|
6043
6149
|
});
|
|
6044
|
-
|
|
6150
|
+
_this37.isMoveToInProgress = false;
|
|
6045
6151
|
case 29:
|
|
6046
6152
|
case "end":
|
|
6047
6153
|
return _context20.stop();
|
|
@@ -6057,17 +6163,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6057
6163
|
resourceId: resourceId,
|
|
6058
6164
|
moveToResource: true
|
|
6059
6165
|
}).then(function () {
|
|
6060
|
-
|
|
6166
|
+
_this37.meetingFiniteStateMachine.join();
|
|
6061
6167
|
}).catch(function (error) {
|
|
6062
|
-
|
|
6168
|
+
_this37.meetingFiniteStateMachine.fail(error);
|
|
6063
6169
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6064
|
-
correlation_id:
|
|
6065
|
-
locus_id:
|
|
6170
|
+
correlation_id: _this37.correlationId,
|
|
6171
|
+
locus_id: _this37.locusUrl.split('/').pop(),
|
|
6066
6172
|
reason: error.message,
|
|
6067
6173
|
stack: error.stack
|
|
6068
6174
|
});
|
|
6069
6175
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6070
|
-
|
|
6176
|
+
_this37.isMoveToInProgress = false;
|
|
6071
6177
|
return _promise.default.reject(error);
|
|
6072
6178
|
});
|
|
6073
6179
|
}
|
|
@@ -6082,7 +6188,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6082
6188
|
}, {
|
|
6083
6189
|
key: "moveFrom",
|
|
6084
6190
|
value: function moveFrom(resourceId) {
|
|
6085
|
-
var
|
|
6191
|
+
var _this38 = this;
|
|
6086
6192
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6087
6193
|
if (!resourceId) {
|
|
6088
6194
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6097,19 +6203,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6097
6203
|
}
|
|
6098
6204
|
});
|
|
6099
6205
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6100
|
-
return _util2.default.leaveMeeting(
|
|
6206
|
+
return _util2.default.leaveMeeting(_this38, {
|
|
6101
6207
|
resourceId: resourceId,
|
|
6102
6208
|
correlationId: oldCorrelationId,
|
|
6103
6209
|
moveMeeting: true
|
|
6104
6210
|
}).then(function () {
|
|
6105
|
-
|
|
6211
|
+
_this38.resourceId = '';
|
|
6106
6212
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6107
6213
|
});
|
|
6108
6214
|
}).catch(function (error) {
|
|
6109
|
-
|
|
6215
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6110
6216
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6111
|
-
correlation_id:
|
|
6112
|
-
locus_id:
|
|
6217
|
+
correlation_id: _this38.correlationId,
|
|
6218
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6113
6219
|
reason: error.message,
|
|
6114
6220
|
stack: error.stack
|
|
6115
6221
|
});
|
|
@@ -6222,9 +6328,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6222
6328
|
}, {
|
|
6223
6329
|
key: "forwardEvent",
|
|
6224
6330
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6225
|
-
var
|
|
6331
|
+
var _this39 = this;
|
|
6226
6332
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6227
|
-
return _triggerProxy.default.trigger(
|
|
6333
|
+
return _triggerProxy.default.trigger(_this39, {
|
|
6228
6334
|
file: 'meetings',
|
|
6229
6335
|
function: 'addMedia'
|
|
6230
6336
|
}, meetingEventType, data);
|
|
@@ -6411,7 +6517,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6411
6517
|
*/
|
|
6412
6518
|
function () {
|
|
6413
6519
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6414
|
-
var
|
|
6520
|
+
var _this40 = this;
|
|
6415
6521
|
var LOG_HEADER, deferSDPAnswer;
|
|
6416
6522
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6417
6523
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6428,18 +6534,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6428
6534
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6429
6535
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6430
6536
|
// @ts-ignore
|
|
6431
|
-
|
|
6537
|
+
_this40.webex.internal.newMetrics.submitClientEvent({
|
|
6432
6538
|
name: 'client.media-engine.remote-sdp-received',
|
|
6433
6539
|
payload: {
|
|
6434
6540
|
canProceed: false,
|
|
6435
6541
|
errors: [
|
|
6436
6542
|
// @ts-ignore
|
|
6437
|
-
|
|
6543
|
+
_this40.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6438
6544
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6439
6545
|
})]
|
|
6440
6546
|
},
|
|
6441
6547
|
options: {
|
|
6442
|
-
meetingId:
|
|
6548
|
+
meetingId: _this40.id,
|
|
6443
6549
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6444
6550
|
}
|
|
6445
6551
|
});
|
|
@@ -6825,6 +6931,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6825
6931
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
6826
6932
|
}
|
|
6827
6933
|
return cleanUpBeforeRetryWithTurnServer;
|
|
6934
|
+
}())
|
|
6935
|
+
}, {
|
|
6936
|
+
key: "cleanUpBeforeReconnection",
|
|
6937
|
+
value: function () {
|
|
6938
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
6939
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6940
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
6941
|
+
case 0:
|
|
6942
|
+
_context32.prev = 0;
|
|
6943
|
+
_context32.next = 3;
|
|
6944
|
+
return this.forceSendStatsReport({
|
|
6945
|
+
callFrom: 'cleanUpBeforeReconnection'
|
|
6946
|
+
});
|
|
6947
|
+
case 3:
|
|
6948
|
+
if (!this.statsAnalyzer) {
|
|
6949
|
+
_context32.next = 6;
|
|
6950
|
+
break;
|
|
6951
|
+
}
|
|
6952
|
+
_context32.next = 6;
|
|
6953
|
+
return this.statsAnalyzer.stopAnalyzer();
|
|
6954
|
+
case 6:
|
|
6955
|
+
_context32.next = 11;
|
|
6956
|
+
break;
|
|
6957
|
+
case 8:
|
|
6958
|
+
_context32.prev = 8;
|
|
6959
|
+
_context32.t0 = _context32["catch"](0);
|
|
6960
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context32.t0);
|
|
6961
|
+
case 11:
|
|
6962
|
+
case "end":
|
|
6963
|
+
return _context32.stop();
|
|
6964
|
+
}
|
|
6965
|
+
}, _callee32, this, [[0, 8]]);
|
|
6966
|
+
}));
|
|
6967
|
+
function cleanUpBeforeReconnection() {
|
|
6968
|
+
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
6969
|
+
}
|
|
6970
|
+
return cleanUpBeforeReconnection;
|
|
6828
6971
|
}()
|
|
6829
6972
|
/**
|
|
6830
6973
|
* Creates an instance of LocusMediaRequest for this meeting - it is needed for doing any calls
|
|
@@ -6832,7 +6975,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6832
6975
|
*
|
|
6833
6976
|
* @returns {void}
|
|
6834
6977
|
*/
|
|
6835
|
-
)
|
|
6836
6978
|
}, {
|
|
6837
6979
|
key: "setupLocusMediaRequest",
|
|
6838
6980
|
value: function setupLocusMediaRequest() {
|
|
@@ -6867,10 +7009,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6867
7009
|
}, {
|
|
6868
7010
|
key: "addMedia",
|
|
6869
7011
|
value: function addMedia() {
|
|
6870
|
-
var
|
|
7012
|
+
var _this41 = this;
|
|
6871
7013
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6872
7014
|
return this.addMediaInternal(function () {
|
|
6873
|
-
return
|
|
7015
|
+
return _this41.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
6874
7016
|
}, undefined, false, options);
|
|
6875
7017
|
}
|
|
6876
7018
|
|
|
@@ -6888,7 +7030,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6888
7030
|
}, {
|
|
6889
7031
|
key: "addMediaInternal",
|
|
6890
7032
|
value: (function () {
|
|
6891
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7033
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
6892
7034
|
var options,
|
|
6893
7035
|
LOG_HEADER,
|
|
6894
7036
|
localStreams,
|
|
@@ -6901,6 +7043,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6901
7043
|
_options$shareVideoEn,
|
|
6902
7044
|
shareVideoEnabled,
|
|
6903
7045
|
remoteMediaManagerConfig,
|
|
7046
|
+
_options$bundlePolicy,
|
|
6904
7047
|
bundlePolicy,
|
|
6905
7048
|
_this$remoteMediaMana,
|
|
6906
7049
|
_yield$this$mediaProp,
|
|
@@ -6935,35 +7078,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6935
7078
|
_selectedCandidatePairChanges,
|
|
6936
7079
|
_numTransports,
|
|
6937
7080
|
_iceCandidateErrors,
|
|
6938
|
-
|
|
6939
|
-
return _regenerator.default.wrap(function
|
|
6940
|
-
while (1) switch (
|
|
7081
|
+
_args33 = arguments;
|
|
7082
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7083
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6941
7084
|
case 0:
|
|
6942
|
-
options =
|
|
7085
|
+
options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
|
|
6943
7086
|
this.addMediaData.retriedWithTurnServer = false;
|
|
6944
7087
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
6945
7088
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6946
7089
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6947
7090
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
|
|
6948
7091
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6949
|
-
|
|
7092
|
+
_context33.next = 8;
|
|
6950
7093
|
break;
|
|
6951
7094
|
}
|
|
6952
7095
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6953
7096
|
case 8:
|
|
6954
7097
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6955
|
-
|
|
7098
|
+
_context33.next = 10;
|
|
6956
7099
|
break;
|
|
6957
7100
|
}
|
|
6958
7101
|
throw new _webexErrors.UserNotJoinedError();
|
|
6959
7102
|
case 10:
|
|
6960
|
-
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;
|
|
7103
|
+
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, _options$bundlePolicy = options.bundlePolicy, bundlePolicy = _options$bundlePolicy === void 0 ? 'max-bundle' : _options$bundlePolicy;
|
|
6961
7104
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6962
7105
|
|
|
6963
7106
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6964
7107
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6965
7108
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6966
|
-
|
|
7109
|
+
_context33.next = 14;
|
|
6967
7110
|
break;
|
|
6968
7111
|
}
|
|
6969
7112
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7006,45 +7149,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7006
7149
|
});
|
|
7007
7150
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7008
7151
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7009
|
-
|
|
7010
|
-
|
|
7152
|
+
_context33.prev = 18;
|
|
7153
|
+
_context33.next = 21;
|
|
7011
7154
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7012
7155
|
case 21:
|
|
7013
7156
|
this.setMercuryListener();
|
|
7014
7157
|
this.createStatsAnalyzer();
|
|
7015
|
-
|
|
7158
|
+
_context33.next = 25;
|
|
7016
7159
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7017
7160
|
case 25:
|
|
7018
7161
|
if (!(audioEnabled || videoEnabled)) {
|
|
7019
|
-
|
|
7162
|
+
_context33.next = 30;
|
|
7020
7163
|
break;
|
|
7021
7164
|
}
|
|
7022
|
-
|
|
7165
|
+
_context33.next = 28;
|
|
7023
7166
|
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
7024
7167
|
case 28:
|
|
7025
|
-
|
|
7168
|
+
_context33.next = 31;
|
|
7026
7169
|
break;
|
|
7027
7170
|
case 30:
|
|
7028
7171
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
7029
7172
|
case 31:
|
|
7030
7173
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7031
|
-
|
|
7174
|
+
_context33.next = 34;
|
|
7032
7175
|
break;
|
|
7033
7176
|
}
|
|
7034
|
-
|
|
7177
|
+
_context33.next = 34;
|
|
7035
7178
|
return this.enqueueScreenShareFloorRequest();
|
|
7036
7179
|
case 34:
|
|
7037
|
-
|
|
7180
|
+
_context33.next = 36;
|
|
7038
7181
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7039
7182
|
case 36:
|
|
7040
|
-
_yield$this$mediaProp =
|
|
7183
|
+
_yield$this$mediaProp = _context33.sent;
|
|
7041
7184
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7042
7185
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7043
7186
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7044
|
-
|
|
7187
|
+
_context33.next = 42;
|
|
7045
7188
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7046
7189
|
case 42:
|
|
7047
|
-
reachabilityStats =
|
|
7190
|
+
reachabilityStats = _context33.sent;
|
|
7048
7191
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7049
7192
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
7050
7193
|
correlation_id: this.correlationId,
|
|
@@ -7069,31 +7212,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7069
7212
|
|
|
7070
7213
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7071
7214
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7072
|
-
|
|
7215
|
+
_context33.next = 68;
|
|
7073
7216
|
break;
|
|
7074
7217
|
case 50:
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
7218
|
+
_context33.prev = 50;
|
|
7219
|
+
_context33.t0 = _context33["catch"](18);
|
|
7220
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7078
7221
|
|
|
7079
7222
|
// @ts-ignore
|
|
7080
|
-
|
|
7223
|
+
_context33.next = 55;
|
|
7081
7224
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7082
7225
|
case 55:
|
|
7083
|
-
reachabilityMetrics =
|
|
7084
|
-
|
|
7226
|
+
reachabilityMetrics = _context33.sent;
|
|
7227
|
+
_context33.next = 58;
|
|
7085
7228
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7086
7229
|
case 58:
|
|
7087
|
-
_yield$this$mediaProp2 =
|
|
7230
|
+
_yield$this$mediaProp2 = _context33.sent;
|
|
7088
7231
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7089
7232
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7090
7233
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7091
7234
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7092
7235
|
correlation_id: this.correlationId,
|
|
7093
7236
|
locus_id: this.locusUrl.split('/').pop(),
|
|
7094
|
-
reason:
|
|
7095
|
-
stack:
|
|
7096
|
-
code:
|
|
7237
|
+
reason: _context33.t0.message,
|
|
7238
|
+
stack: _context33.t0.stack,
|
|
7239
|
+
code: _context33.t0.code,
|
|
7097
7240
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
7098
7241
|
numTransports: _numTransports,
|
|
7099
7242
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -7107,7 +7250,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7107
7250
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7108
7251
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7109
7252
|
}));
|
|
7110
|
-
|
|
7253
|
+
_context33.next = 65;
|
|
7111
7254
|
return this.cleanUpOnAddMediaFailure();
|
|
7112
7255
|
case 65:
|
|
7113
7256
|
// Upload logs on error while adding media
|
|
@@ -7115,21 +7258,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7115
7258
|
file: 'meeting/index',
|
|
7116
7259
|
function: 'addMedia'
|
|
7117
7260
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
7118
|
-
if (
|
|
7261
|
+
if (_context33.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
7119
7262
|
this.leave({
|
|
7120
7263
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
7121
7264
|
});
|
|
7122
7265
|
}
|
|
7123
|
-
throw
|
|
7266
|
+
throw _context33.t0;
|
|
7124
7267
|
case 68:
|
|
7125
|
-
|
|
7268
|
+
_context33.prev = 68;
|
|
7126
7269
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7127
|
-
return
|
|
7270
|
+
return _context33.finish(68);
|
|
7128
7271
|
case 71:
|
|
7129
7272
|
case "end":
|
|
7130
|
-
return
|
|
7273
|
+
return _context33.stop();
|
|
7131
7274
|
}
|
|
7132
|
-
},
|
|
7275
|
+
}, _callee33, this, [[18, 50, 68, 71]]);
|
|
7133
7276
|
}));
|
|
7134
7277
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7135
7278
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7161,7 +7304,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7161
7304
|
* @memberof Meeting
|
|
7162
7305
|
*/
|
|
7163
7306
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7164
|
-
var
|
|
7307
|
+
var _this42 = this;
|
|
7165
7308
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7166
7309
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7167
7310
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7172,9 +7315,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7172
7315
|
options: options
|
|
7173
7316
|
};
|
|
7174
7317
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7175
|
-
|
|
7318
|
+
_this42.queuedMediaUpdates.push(queueItem);
|
|
7176
7319
|
if (canUpdateMediaNow) {
|
|
7177
|
-
|
|
7320
|
+
_this42.processNextQueuedMediaUpdate();
|
|
7178
7321
|
}
|
|
7179
7322
|
});
|
|
7180
7323
|
}
|
|
@@ -7197,35 +7340,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7197
7340
|
* @memberof Meeting
|
|
7198
7341
|
*/
|
|
7199
7342
|
function () {
|
|
7200
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7343
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
|
|
7201
7344
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
7202
|
-
return _regenerator.default.wrap(function
|
|
7203
|
-
while (1) switch (
|
|
7345
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7346
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7204
7347
|
case 0:
|
|
7205
7348
|
this.checkMediaConnection();
|
|
7206
7349
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
7207
7350
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
7208
7351
|
if (this.canUpdateMedia()) {
|
|
7209
|
-
|
|
7352
|
+
_context34.next = 5;
|
|
7210
7353
|
break;
|
|
7211
7354
|
}
|
|
7212
|
-
return
|
|
7355
|
+
return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
7213
7356
|
case 5:
|
|
7214
7357
|
if (!this.isMultistream) {
|
|
7215
|
-
|
|
7358
|
+
_context34.next = 10;
|
|
7216
7359
|
break;
|
|
7217
7360
|
}
|
|
7218
7361
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
7219
|
-
|
|
7362
|
+
_context34.next = 8;
|
|
7220
7363
|
break;
|
|
7221
7364
|
}
|
|
7222
7365
|
throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
|
|
7223
7366
|
case 8:
|
|
7224
|
-
|
|
7367
|
+
_context34.next = 12;
|
|
7225
7368
|
break;
|
|
7226
7369
|
case 10:
|
|
7227
7370
|
if (!(shareAudioEnabled !== undefined)) {
|
|
7228
|
-
|
|
7371
|
+
_context34.next = 12;
|
|
7229
7372
|
break;
|
|
7230
7373
|
}
|
|
7231
7374
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -7250,18 +7393,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7250
7393
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
7251
7394
|
}
|
|
7252
7395
|
if (this.isMultistream) {
|
|
7253
|
-
|
|
7396
|
+
_context34.next = 18;
|
|
7254
7397
|
break;
|
|
7255
7398
|
}
|
|
7256
|
-
|
|
7399
|
+
_context34.next = 18;
|
|
7257
7400
|
return this.updateTranscodedMediaConnection();
|
|
7258
7401
|
case 18:
|
|
7259
|
-
return
|
|
7402
|
+
return _context34.abrupt("return", undefined);
|
|
7260
7403
|
case 19:
|
|
7261
7404
|
case "end":
|
|
7262
|
-
return
|
|
7405
|
+
return _context34.stop();
|
|
7263
7406
|
}
|
|
7264
|
-
},
|
|
7407
|
+
}, _callee34, this);
|
|
7265
7408
|
}));
|
|
7266
7409
|
function updateMedia(_x35) {
|
|
7267
7410
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7279,7 +7422,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7279
7422
|
}, {
|
|
7280
7423
|
key: "acknowledge",
|
|
7281
7424
|
value: function acknowledge(type) {
|
|
7282
|
-
var
|
|
7425
|
+
var _this43 = this;
|
|
7283
7426
|
if (!type) {
|
|
7284
7427
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7285
7428
|
}
|
|
@@ -7291,12 +7434,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7291
7434
|
}).then(function (response) {
|
|
7292
7435
|
return _promise.default.resolve(response);
|
|
7293
7436
|
}).then(function (response) {
|
|
7294
|
-
|
|
7437
|
+
_this43.meetingFiniteStateMachine.ring(type);
|
|
7295
7438
|
// @ts-ignore
|
|
7296
|
-
|
|
7439
|
+
_this43.webex.internal.newMetrics.submitClientEvent({
|
|
7297
7440
|
name: 'client.alert.displayed',
|
|
7298
7441
|
options: {
|
|
7299
|
-
meetingId:
|
|
7442
|
+
meetingId: _this43.id
|
|
7300
7443
|
}
|
|
7301
7444
|
});
|
|
7302
7445
|
return _promise.default.resolve({
|
|
@@ -7321,12 +7464,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7321
7464
|
}, {
|
|
7322
7465
|
key: "decline",
|
|
7323
7466
|
value: function decline(reason) {
|
|
7324
|
-
var
|
|
7467
|
+
var _this44 = this;
|
|
7325
7468
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7326
|
-
|
|
7469
|
+
_this44.meetingFiniteStateMachine.decline();
|
|
7327
7470
|
return _promise.default.resolve(decline);
|
|
7328
7471
|
}).catch(function (error) {
|
|
7329
|
-
|
|
7472
|
+
_this44.meetingFiniteStateMachine.fail(error);
|
|
7330
7473
|
return _promise.default.reject(error);
|
|
7331
7474
|
});
|
|
7332
7475
|
}
|
|
@@ -7377,7 +7520,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7377
7520
|
}, {
|
|
7378
7521
|
key: "leave",
|
|
7379
7522
|
value: function leave() {
|
|
7380
|
-
var
|
|
7523
|
+
var _this45 = this;
|
|
7381
7524
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7382
7525
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7383
7526
|
|
|
@@ -7389,7 +7532,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7389
7532
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7390
7533
|
return (
|
|
7391
7534
|
// @ts-ignore
|
|
7392
|
-
|
|
7535
|
+
_this45.webex.internal.newMetrics.submitClientEvent({
|
|
7393
7536
|
name: 'client.call.leave',
|
|
7394
7537
|
payload: _objectSpread({
|
|
7395
7538
|
trigger: 'user-interaction',
|
|
@@ -7397,7 +7540,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7397
7540
|
leaveReason: options.clientEventLeaveReason
|
|
7398
7541
|
}, payload),
|
|
7399
7542
|
options: {
|
|
7400
|
-
meetingId:
|
|
7543
|
+
meetingId: _this45.id
|
|
7401
7544
|
}
|
|
7402
7545
|
})
|
|
7403
7546
|
);
|
|
@@ -7406,24 +7549,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7406
7549
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7407
7550
|
// CA team recommends submitting this *after* locus /leave
|
|
7408
7551
|
submitLeaveMetric();
|
|
7409
|
-
|
|
7410
|
-
|
|
7552
|
+
_this45.meetingFiniteStateMachine.leave();
|
|
7553
|
+
_this45.clearMeetingData();
|
|
7411
7554
|
|
|
7412
7555
|
// upload logs on leave irrespective of meeting delete
|
|
7413
|
-
_triggerProxy.default.trigger(
|
|
7556
|
+
_triggerProxy.default.trigger(_this45, {
|
|
7414
7557
|
file: 'meeting/index',
|
|
7415
7558
|
function: 'leave'
|
|
7416
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7559
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this45);
|
|
7417
7560
|
|
|
7418
7561
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7419
|
-
if (
|
|
7562
|
+
if (_this45.wirelessShare || _this45.guest) {
|
|
7420
7563
|
// If screen sharing clean the meeting object
|
|
7421
|
-
_triggerProxy.default.trigger(
|
|
7564
|
+
_triggerProxy.default.trigger(_this45, {
|
|
7422
7565
|
file: 'meeting/index',
|
|
7423
7566
|
function: 'leave'
|
|
7424
7567
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7425
7568
|
reason: options.reason,
|
|
7426
|
-
meetingId:
|
|
7569
|
+
meetingId: _this45.id
|
|
7427
7570
|
});
|
|
7428
7571
|
}
|
|
7429
7572
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7440,16 +7583,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7440
7583
|
shownToUser: false
|
|
7441
7584
|
}]
|
|
7442
7585
|
});
|
|
7443
|
-
|
|
7586
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7444
7587
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7445
7588
|
// upload logs on leave irrespective of meeting delete
|
|
7446
|
-
_triggerProxy.default.trigger(
|
|
7589
|
+
_triggerProxy.default.trigger(_this45, {
|
|
7447
7590
|
file: 'meeting/index',
|
|
7448
7591
|
function: 'leave'
|
|
7449
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7592
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this45);
|
|
7450
7593
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7451
|
-
correlation_id:
|
|
7452
|
-
locus_id:
|
|
7594
|
+
correlation_id: _this45.correlationId,
|
|
7595
|
+
locus_id: _this45.locusUrl.split('/').pop(),
|
|
7453
7596
|
reason: error.message,
|
|
7454
7597
|
stack: error.stack,
|
|
7455
7598
|
code: error.code
|
|
@@ -7469,7 +7612,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7469
7612
|
}, {
|
|
7470
7613
|
key: "startWhiteboardShare",
|
|
7471
7614
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7472
|
-
var
|
|
7615
|
+
var _this46 = this;
|
|
7473
7616
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7474
7617
|
return element.name === 'whiteboard';
|
|
7475
7618
|
});
|
|
@@ -7498,13 +7641,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7498
7641
|
body.resourceToken = resourceToken;
|
|
7499
7642
|
}
|
|
7500
7643
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7501
|
-
|
|
7644
|
+
_this46.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7502
7645
|
return _promise.default.resolve();
|
|
7503
7646
|
}).catch(function (error) {
|
|
7504
7647
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7505
7648
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7506
|
-
correlation_id:
|
|
7507
|
-
locus_id:
|
|
7649
|
+
correlation_id: _this46.correlationId,
|
|
7650
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7508
7651
|
reason: error.message,
|
|
7509
7652
|
stack: error.stack,
|
|
7510
7653
|
board: {
|
|
@@ -7527,7 +7670,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7527
7670
|
}, {
|
|
7528
7671
|
key: "stopWhiteboardShare",
|
|
7529
7672
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7530
|
-
var
|
|
7673
|
+
var _this47 = this;
|
|
7531
7674
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7532
7675
|
return element.name === 'whiteboard';
|
|
7533
7676
|
});
|
|
@@ -7550,8 +7693,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7550
7693
|
}).catch(function (error) {
|
|
7551
7694
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7552
7695
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7553
|
-
correlation_id:
|
|
7554
|
-
locus_id:
|
|
7696
|
+
correlation_id: _this47.correlationId,
|
|
7697
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7555
7698
|
reason: error.message,
|
|
7556
7699
|
stack: error.stack,
|
|
7557
7700
|
board: {
|
|
@@ -7573,7 +7716,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7573
7716
|
}, {
|
|
7574
7717
|
key: "requestScreenShareFloor",
|
|
7575
7718
|
value: function requestScreenShareFloor() {
|
|
7576
|
-
var
|
|
7719
|
+
var _this48 = this;
|
|
7577
7720
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7578
7721
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
7579
7722
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7604,34 +7747,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7604
7747
|
resourceUrl: this.resourceUrl,
|
|
7605
7748
|
shareInstanceId: this.localShareInstanceId
|
|
7606
7749
|
}).then(function () {
|
|
7607
|
-
|
|
7750
|
+
_this48.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7608
7751
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7609
|
-
correlation_id:
|
|
7610
|
-
locus_id:
|
|
7752
|
+
correlation_id: _this48.correlationId,
|
|
7753
|
+
locus_id: _this48.locusUrl.split('/').pop()
|
|
7611
7754
|
});
|
|
7612
7755
|
return _promise.default.resolve();
|
|
7613
7756
|
}).catch(function (error) {
|
|
7614
7757
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7615
7758
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7616
|
-
correlation_id:
|
|
7617
|
-
locus_id:
|
|
7759
|
+
correlation_id: _this48.correlationId,
|
|
7760
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7618
7761
|
reason: error.message,
|
|
7619
7762
|
stack: error.stack
|
|
7620
7763
|
});
|
|
7621
7764
|
|
|
7622
7765
|
// @ts-ignore
|
|
7623
|
-
|
|
7766
|
+
_this48.webex.internal.newMetrics.submitClientEvent({
|
|
7624
7767
|
name: 'client.share.floor-granted.local',
|
|
7625
7768
|
payload: {
|
|
7626
7769
|
mediaType: 'share',
|
|
7627
7770
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7628
|
-
shareInstanceId:
|
|
7771
|
+
shareInstanceId: _this48.localShareInstanceId
|
|
7629
7772
|
},
|
|
7630
7773
|
options: {
|
|
7631
|
-
meetingId:
|
|
7774
|
+
meetingId: _this48.id
|
|
7632
7775
|
}
|
|
7633
7776
|
});
|
|
7634
|
-
|
|
7777
|
+
_this48.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7635
7778
|
return _promise.default.reject(error);
|
|
7636
7779
|
});
|
|
7637
7780
|
}
|
|
@@ -7654,10 +7797,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7654
7797
|
}, {
|
|
7655
7798
|
key: "requestScreenShareFloorIfPending",
|
|
7656
7799
|
value: function requestScreenShareFloorIfPending() {
|
|
7657
|
-
var
|
|
7800
|
+
var _this49 = this;
|
|
7658
7801
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7659
7802
|
this.requestScreenShareFloor().then(function () {
|
|
7660
|
-
|
|
7803
|
+
_this49.floorGrantPending = false;
|
|
7661
7804
|
});
|
|
7662
7805
|
}
|
|
7663
7806
|
}
|
|
@@ -7671,7 +7814,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7671
7814
|
}, {
|
|
7672
7815
|
key: "releaseScreenShareFloor",
|
|
7673
7816
|
value: function releaseScreenShareFloor() {
|
|
7674
|
-
var
|
|
7817
|
+
var _this50 = this;
|
|
7675
7818
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7676
7819
|
return element.name === _constants.CONTENT;
|
|
7677
7820
|
});
|
|
@@ -7706,8 +7849,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7706
7849
|
}).catch(function (error) {
|
|
7707
7850
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7708
7851
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7709
|
-
correlation_id:
|
|
7710
|
-
locus_id:
|
|
7852
|
+
correlation_id: _this50.correlationId,
|
|
7853
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
|
7711
7854
|
reason: error.message,
|
|
7712
7855
|
stack: error.stack
|
|
7713
7856
|
});
|
|
@@ -7763,13 +7906,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7763
7906
|
* @param {boolean} mutedEnabled
|
|
7764
7907
|
* @param {boolean} disallowUnmuteEnabled
|
|
7765
7908
|
* @param {boolean} muteOnEntryEnabled
|
|
7909
|
+
* @param {array} roles
|
|
7766
7910
|
* @public
|
|
7767
7911
|
* @memberof Meeting
|
|
7768
7912
|
*/
|
|
7769
7913
|
}, {
|
|
7770
7914
|
key: "setMuteAll",
|
|
7771
|
-
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled) {
|
|
7772
|
-
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled);
|
|
7915
|
+
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles) {
|
|
7916
|
+
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles);
|
|
7773
7917
|
}
|
|
7774
7918
|
|
|
7775
7919
|
/**
|
|
@@ -7886,7 +8030,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7886
8030
|
}, {
|
|
7887
8031
|
key: "changeVideoLayout",
|
|
7888
8032
|
value: function changeVideoLayout(layoutType) {
|
|
7889
|
-
var
|
|
8033
|
+
var _this51 = this;
|
|
7890
8034
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7891
8035
|
var main = renderInfo.main,
|
|
7892
8036
|
content = renderInfo.content;
|
|
@@ -7940,7 +8084,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7940
8084
|
}
|
|
7941
8085
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7942
8086
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7943
|
-
_triggerProxy.default.trigger(
|
|
8087
|
+
_triggerProxy.default.trigger(_this51, {
|
|
7944
8088
|
file: 'meeting/index',
|
|
7945
8089
|
function: 'changeVideoLayout'
|
|
7946
8090
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8056,7 +8200,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8056
8200
|
}, {
|
|
8057
8201
|
key: "endMeetingForAll",
|
|
8058
8202
|
value: function endMeetingForAll() {
|
|
8059
|
-
var
|
|
8203
|
+
var _this52 = this;
|
|
8060
8204
|
// @ts-ignore
|
|
8061
8205
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8062
8206
|
name: 'client.call.leave',
|
|
@@ -8074,25 +8218,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8074
8218
|
locus_id: this.locusId
|
|
8075
8219
|
});
|
|
8076
8220
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8077
|
-
|
|
8078
|
-
|
|
8221
|
+
_this52.meetingFiniteStateMachine.end();
|
|
8222
|
+
_this52.clearMeetingData();
|
|
8079
8223
|
// upload logs on leave irrespective of meeting delete
|
|
8080
|
-
_triggerProxy.default.trigger(
|
|
8224
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8081
8225
|
file: 'meeting/index',
|
|
8082
8226
|
function: 'endMeetingForAll'
|
|
8083
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8227
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this52);
|
|
8084
8228
|
return end;
|
|
8085
8229
|
}).catch(function (error) {
|
|
8086
|
-
|
|
8230
|
+
_this52.meetingFiniteStateMachine.fail(error);
|
|
8087
8231
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8088
8232
|
// upload logs on leave irrespective of meeting delete
|
|
8089
|
-
_triggerProxy.default.trigger(
|
|
8233
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8090
8234
|
file: 'meeting/index',
|
|
8091
8235
|
function: 'endMeetingForAll'
|
|
8092
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8236
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this52);
|
|
8093
8237
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8094
|
-
correlation_id:
|
|
8095
|
-
locus_id:
|
|
8238
|
+
correlation_id: _this52.correlationId,
|
|
8239
|
+
locus_id: _this52.locusUrl.split('/').pop(),
|
|
8096
8240
|
reason: error.message,
|
|
8097
8241
|
stack: error.stack,
|
|
8098
8242
|
code: error.code
|
|
@@ -8181,37 +8325,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8181
8325
|
}, {
|
|
8182
8326
|
key: "enableMusicMode",
|
|
8183
8327
|
value: (function () {
|
|
8184
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8185
|
-
return _regenerator.default.wrap(function
|
|
8186
|
-
while (1) switch (
|
|
8328
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
|
|
8329
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8330
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
8187
8331
|
case 0:
|
|
8188
8332
|
this.checkMediaConnection();
|
|
8189
8333
|
if (this.isMultistream) {
|
|
8190
|
-
|
|
8334
|
+
_context35.next = 3;
|
|
8191
8335
|
break;
|
|
8192
8336
|
}
|
|
8193
8337
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
8194
8338
|
case 3:
|
|
8195
8339
|
if (!shouldEnableMusicMode) {
|
|
8196
|
-
|
|
8340
|
+
_context35.next = 8;
|
|
8197
8341
|
break;
|
|
8198
8342
|
}
|
|
8199
|
-
|
|
8343
|
+
_context35.next = 6;
|
|
8200
8344
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
8201
8345
|
maxaveragebitrate: '64000',
|
|
8202
8346
|
maxplaybackrate: '48000'
|
|
8203
8347
|
});
|
|
8204
8348
|
case 6:
|
|
8205
|
-
|
|
8349
|
+
_context35.next = 10;
|
|
8206
8350
|
break;
|
|
8207
8351
|
case 8:
|
|
8208
|
-
|
|
8352
|
+
_context35.next = 10;
|
|
8209
8353
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
8210
8354
|
case 10:
|
|
8211
8355
|
case "end":
|
|
8212
|
-
return
|
|
8356
|
+
return _context35.stop();
|
|
8213
8357
|
}
|
|
8214
|
-
},
|
|
8358
|
+
}, _callee35, this);
|
|
8215
8359
|
}));
|
|
8216
8360
|
function enableMusicMode(_x36) {
|
|
8217
8361
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -8234,7 +8378,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8234
8378
|
_this$mediaProperties41,
|
|
8235
8379
|
_this$mediaProperties42,
|
|
8236
8380
|
_this$mediaProperties43,
|
|
8237
|
-
|
|
8381
|
+
_this53 = this;
|
|
8238
8382
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8239
8383
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8240
8384
|
if (!this.canUpdateMedia()) {
|
|
@@ -8259,8 +8403,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8259
8403
|
}).catch(function (error) {
|
|
8260
8404
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8261
8405
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8262
|
-
correlation_id:
|
|
8263
|
-
locus_id:
|
|
8406
|
+
correlation_id: _this53.correlationId,
|
|
8407
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8264
8408
|
reason: error.message,
|
|
8265
8409
|
stack: error.stack
|
|
8266
8410
|
});
|
|
@@ -8304,25 +8448,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8304
8448
|
}, {
|
|
8305
8449
|
key: "publishStream",
|
|
8306
8450
|
value: (function () {
|
|
8307
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8308
|
-
return _regenerator.default.wrap(function
|
|
8309
|
-
while (1) switch (
|
|
8451
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8452
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8453
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8310
8454
|
case 0:
|
|
8311
8455
|
if (stream) {
|
|
8312
|
-
|
|
8456
|
+
_context36.next = 2;
|
|
8313
8457
|
break;
|
|
8314
8458
|
}
|
|
8315
|
-
return
|
|
8459
|
+
return _context36.abrupt("return");
|
|
8316
8460
|
case 2:
|
|
8317
8461
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
8318
|
-
|
|
8462
|
+
_context36.next = 7;
|
|
8319
8463
|
break;
|
|
8320
8464
|
}
|
|
8321
8465
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8322
|
-
|
|
8466
|
+
_context36.next = 6;
|
|
8323
8467
|
break;
|
|
8324
8468
|
}
|
|
8325
|
-
|
|
8469
|
+
_context36.next = 6;
|
|
8326
8470
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
8327
8471
|
case 6:
|
|
8328
8472
|
this.emitPublishStateChangeEvent({
|
|
@@ -8333,9 +8477,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8333
8477
|
});
|
|
8334
8478
|
case 7:
|
|
8335
8479
|
case "end":
|
|
8336
|
-
return
|
|
8480
|
+
return _context36.stop();
|
|
8337
8481
|
}
|
|
8338
|
-
},
|
|
8482
|
+
}, _callee36, this);
|
|
8339
8483
|
}));
|
|
8340
8484
|
function publishStream(_x37, _x38) {
|
|
8341
8485
|
return _publishStream.apply(this, arguments);
|
|
@@ -8353,21 +8497,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8353
8497
|
}, {
|
|
8354
8498
|
key: "unpublishStream",
|
|
8355
8499
|
value: (function () {
|
|
8356
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8357
|
-
return _regenerator.default.wrap(function
|
|
8358
|
-
while (1) switch (
|
|
8500
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
|
|
8501
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8502
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8359
8503
|
case 0:
|
|
8360
8504
|
if (stream) {
|
|
8361
|
-
|
|
8505
|
+
_context37.next = 2;
|
|
8362
8506
|
break;
|
|
8363
8507
|
}
|
|
8364
|
-
return
|
|
8508
|
+
return _context37.abrupt("return");
|
|
8365
8509
|
case 2:
|
|
8366
8510
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8367
|
-
|
|
8511
|
+
_context37.next = 5;
|
|
8368
8512
|
break;
|
|
8369
8513
|
}
|
|
8370
|
-
|
|
8514
|
+
_context37.next = 5;
|
|
8371
8515
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8372
8516
|
case 5:
|
|
8373
8517
|
this.emitPublishStateChangeEvent({
|
|
@@ -8378,9 +8522,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8378
8522
|
});
|
|
8379
8523
|
case 6:
|
|
8380
8524
|
case "end":
|
|
8381
|
-
return
|
|
8525
|
+
return _context37.stop();
|
|
8382
8526
|
}
|
|
8383
|
-
},
|
|
8527
|
+
}, _callee37, this);
|
|
8384
8528
|
}));
|
|
8385
8529
|
function unpublishStream(_x39, _x40) {
|
|
8386
8530
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8397,67 +8541,92 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8397
8541
|
}, {
|
|
8398
8542
|
key: "publishStreams",
|
|
8399
8543
|
value: (function () {
|
|
8400
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8401
|
-
var _streams$screenShare, _streams$screenShare2, _streams$
|
|
8402
|
-
var floorRequestNeeded, _streams$
|
|
8403
|
-
return _regenerator.default.wrap(function
|
|
8404
|
-
while (1) switch (
|
|
8544
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8545
|
+
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
8546
|
+
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
8547
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8548
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8405
8549
|
case 0:
|
|
8550
|
+
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8406
8551
|
this.checkMediaConnection();
|
|
8407
8552
|
if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
|
|
8408
|
-
|
|
8553
|
+
_context38.next = 4;
|
|
8409
8554
|
break;
|
|
8410
8555
|
}
|
|
8411
|
-
return
|
|
8412
|
-
case
|
|
8413
|
-
|
|
8414
|
-
|
|
8556
|
+
return _context38.abrupt("return");
|
|
8557
|
+
case 4:
|
|
8558
|
+
streamChecks = [{
|
|
8559
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
8560
|
+
name: 'microphone'
|
|
8561
|
+
}, {
|
|
8562
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.camera,
|
|
8563
|
+
name: 'camera'
|
|
8564
|
+
}, {
|
|
8565
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : _streams$screenShare3.audio,
|
|
8566
|
+
name: 'screenShare audio'
|
|
8567
|
+
}, {
|
|
8568
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare4 = streams.screenShare) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.video,
|
|
8569
|
+
name: 'screenShare video'
|
|
8570
|
+
}];
|
|
8571
|
+
_i = 0, _streamChecks = streamChecks;
|
|
8572
|
+
case 6:
|
|
8573
|
+
if (!(_i < _streamChecks.length)) {
|
|
8574
|
+
_context38.next = 13;
|
|
8415
8575
|
break;
|
|
8416
8576
|
}
|
|
8417
|
-
|
|
8418
|
-
|
|
8577
|
+
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
8578
|
+
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
8579
|
+
_context38.next = 10;
|
|
8580
|
+
break;
|
|
8581
|
+
}
|
|
8582
|
+
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
8583
|
+
case 10:
|
|
8584
|
+
_i++;
|
|
8585
|
+
_context38.next = 6;
|
|
8586
|
+
break;
|
|
8587
|
+
case 13:
|
|
8419
8588
|
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
8420
|
-
if (!(this.isMultistream && (_streams$
|
|
8421
|
-
|
|
8589
|
+
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
8590
|
+
_context38.next = 18;
|
|
8422
8591
|
break;
|
|
8423
8592
|
}
|
|
8424
|
-
|
|
8593
|
+
_context38.next = 17;
|
|
8425
8594
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8426
|
-
case
|
|
8595
|
+
case 17:
|
|
8427
8596
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8428
|
-
case
|
|
8429
|
-
if (!((_streams$
|
|
8430
|
-
|
|
8597
|
+
case 18:
|
|
8598
|
+
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
8599
|
+
_context38.next = 22;
|
|
8431
8600
|
break;
|
|
8432
8601
|
}
|
|
8433
|
-
|
|
8434
|
-
return this.setLocalShareVideoStream((_streams$
|
|
8435
|
-
case
|
|
8602
|
+
_context38.next = 21;
|
|
8603
|
+
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
8604
|
+
case 21:
|
|
8436
8605
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8437
|
-
case
|
|
8606
|
+
case 22:
|
|
8438
8607
|
if (!streams.microphone) {
|
|
8439
|
-
|
|
8608
|
+
_context38.next = 25;
|
|
8440
8609
|
break;
|
|
8441
8610
|
}
|
|
8442
|
-
|
|
8611
|
+
_context38.next = 25;
|
|
8443
8612
|
return this.setLocalAudioStream(streams.microphone);
|
|
8444
|
-
case
|
|
8613
|
+
case 25:
|
|
8445
8614
|
if (!streams.camera) {
|
|
8446
|
-
|
|
8615
|
+
_context38.next = 28;
|
|
8447
8616
|
break;
|
|
8448
8617
|
}
|
|
8449
|
-
|
|
8618
|
+
_context38.next = 28;
|
|
8450
8619
|
return this.setLocalVideoStream(streams.camera);
|
|
8451
|
-
case
|
|
8620
|
+
case 28:
|
|
8452
8621
|
if (this.isMultistream) {
|
|
8453
|
-
|
|
8622
|
+
_context38.next = 31;
|
|
8454
8623
|
break;
|
|
8455
8624
|
}
|
|
8456
|
-
|
|
8625
|
+
_context38.next = 31;
|
|
8457
8626
|
return this.updateTranscodedMediaConnection();
|
|
8458
|
-
case
|
|
8627
|
+
case 31:
|
|
8459
8628
|
if (!floorRequestNeeded) {
|
|
8460
|
-
|
|
8629
|
+
_context38.next = 37;
|
|
8461
8630
|
break;
|
|
8462
8631
|
}
|
|
8463
8632
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8481,13 +8650,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8481
8650
|
// we're sending the http request to Locus to request the screen share floor
|
|
8482
8651
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8483
8652
|
// and also if sharing from the start, we need confluence to have been created
|
|
8484
|
-
|
|
8653
|
+
_context38.next = 37;
|
|
8485
8654
|
return this.enqueueScreenShareFloorRequest();
|
|
8486
|
-
case
|
|
8655
|
+
case 37:
|
|
8487
8656
|
case "end":
|
|
8488
|
-
return
|
|
8657
|
+
return _context38.stop();
|
|
8489
8658
|
}
|
|
8490
|
-
},
|
|
8659
|
+
}, _callee38, this);
|
|
8491
8660
|
}));
|
|
8492
8661
|
function publishStreams(_x41) {
|
|
8493
8662
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8504,11 +8673,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8504
8673
|
}, {
|
|
8505
8674
|
key: "unpublishStreams",
|
|
8506
8675
|
value: (function () {
|
|
8507
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8676
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
|
|
8508
8677
|
var promises, _iterator, _step, stream;
|
|
8509
|
-
return _regenerator.default.wrap(function
|
|
8510
|
-
while (1) switch (
|
|
8678
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8679
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8511
8680
|
case 0:
|
|
8681
|
+
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8512
8682
|
this.checkMediaConnection();
|
|
8513
8683
|
promises = [];
|
|
8514
8684
|
_iterator = _createForOfIteratorHelper(streams.filter(function (t) {
|
|
@@ -8538,9 +8708,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8538
8708
|
if (!this.isMultistream) {
|
|
8539
8709
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8540
8710
|
}
|
|
8541
|
-
|
|
8711
|
+
_context39.next = 8;
|
|
8542
8712
|
return _promise.default.all(promises);
|
|
8543
|
-
case
|
|
8713
|
+
case 8:
|
|
8544
8714
|
// we're allowing for the SDK to support just audio share as well
|
|
8545
8715
|
// so a share could be active with only video, only audio, or both
|
|
8546
8716
|
// we're only releasing the floor if both streams have ended
|
|
@@ -8557,11 +8727,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8557
8727
|
// nothing to do here, error is logged already inside releaseScreenShareFloor()
|
|
8558
8728
|
}
|
|
8559
8729
|
}
|
|
8560
|
-
case
|
|
8730
|
+
case 9:
|
|
8561
8731
|
case "end":
|
|
8562
|
-
return
|
|
8732
|
+
return _context39.stop();
|
|
8563
8733
|
}
|
|
8564
|
-
},
|
|
8734
|
+
}, _callee39, this);
|
|
8565
8735
|
}));
|
|
8566
8736
|
function unpublishStreams(_x42) {
|
|
8567
8737
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8623,55 +8793,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8623
8793
|
}], [{
|
|
8624
8794
|
key: "handleDeviceLogging",
|
|
8625
8795
|
value: (function () {
|
|
8626
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8796
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee40(isAudioEnabled, isVideoEnabled) {
|
|
8627
8797
|
var devices;
|
|
8628
|
-
return _regenerator.default.wrap(function
|
|
8629
|
-
while (1) switch (
|
|
8798
|
+
return _regenerator.default.wrap(function _callee40$(_context40) {
|
|
8799
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
8630
8800
|
case 0:
|
|
8631
|
-
|
|
8801
|
+
_context40.prev = 0;
|
|
8632
8802
|
devices = [];
|
|
8633
8803
|
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8634
|
-
|
|
8804
|
+
_context40.next = 8;
|
|
8635
8805
|
break;
|
|
8636
8806
|
}
|
|
8637
|
-
|
|
8807
|
+
_context40.next = 5;
|
|
8638
8808
|
return (0, _mediaHelpers.getDevices)();
|
|
8639
8809
|
case 5:
|
|
8640
|
-
devices =
|
|
8641
|
-
|
|
8810
|
+
devices = _context40.sent;
|
|
8811
|
+
_context40.next = 18;
|
|
8642
8812
|
break;
|
|
8643
8813
|
case 8:
|
|
8644
8814
|
if (!isVideoEnabled) {
|
|
8645
|
-
|
|
8815
|
+
_context40.next = 14;
|
|
8646
8816
|
break;
|
|
8647
8817
|
}
|
|
8648
|
-
|
|
8818
|
+
_context40.next = 11;
|
|
8649
8819
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8650
8820
|
case 11:
|
|
8651
|
-
devices =
|
|
8652
|
-
|
|
8821
|
+
devices = _context40.sent;
|
|
8822
|
+
_context40.next = 18;
|
|
8653
8823
|
break;
|
|
8654
8824
|
case 14:
|
|
8655
8825
|
if (!isAudioEnabled) {
|
|
8656
|
-
|
|
8826
|
+
_context40.next = 18;
|
|
8657
8827
|
break;
|
|
8658
8828
|
}
|
|
8659
|
-
|
|
8829
|
+
_context40.next = 17;
|
|
8660
8830
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8661
8831
|
case 17:
|
|
8662
|
-
devices =
|
|
8832
|
+
devices = _context40.sent;
|
|
8663
8833
|
case 18:
|
|
8664
8834
|
_util2.default.handleDeviceLogging(devices);
|
|
8665
|
-
|
|
8835
|
+
_context40.next = 23;
|
|
8666
8836
|
break;
|
|
8667
8837
|
case 21:
|
|
8668
|
-
|
|
8669
|
-
|
|
8838
|
+
_context40.prev = 21;
|
|
8839
|
+
_context40.t0 = _context40["catch"](0);
|
|
8670
8840
|
case 23:
|
|
8671
8841
|
case "end":
|
|
8672
|
-
return
|
|
8842
|
+
return _context40.stop();
|
|
8673
8843
|
}
|
|
8674
|
-
},
|
|
8844
|
+
}, _callee40, null, [[0, 21]]);
|
|
8675
8845
|
}));
|
|
8676
8846
|
function handleDeviceLogging(_x43, _x44) {
|
|
8677
8847
|
return _handleDeviceLogging.apply(this, arguments);
|