@webex/plugin-meetings 3.6.0 → 3.7.0-next.2
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 +4 -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 +762 -528
- 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 +98 -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 +3 -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 +33 -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 +3 -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 +219 -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 +31 -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 +329 -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 +71 -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
|
@@ -39,6 +39,7 @@ var _lodash = require("lodash");
|
|
|
39
39
|
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
40
40
|
var _webexCore = require("@webex/webex-core");
|
|
41
41
|
var _common = require("@webex/common");
|
|
42
|
+
var _commonTimers = require("@webex/common-timers");
|
|
42
43
|
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
43
44
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
44
45
|
var _mediaHelpers = require("@webex/media-helpers");
|
|
@@ -86,6 +87,7 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
86
87
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
87
88
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
88
89
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
90
|
+
var _webinarRegistrationError = _interopRequireDefault(require("../common/errors/webinar-registration-error"));
|
|
89
91
|
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
92
|
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
93
|
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; }
|
|
@@ -551,6 +553,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
551
553
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
552
554
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
553
555
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
556
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "uploadLogsTimer", void 0);
|
|
557
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "logUploadIntervalIndex", void 0);
|
|
554
558
|
/**
|
|
555
559
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
556
560
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1003,7 +1007,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1003
1007
|
});
|
|
1004
1008
|
_this.iceCandidatesCount = 0;
|
|
1005
1009
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE, function (event) {
|
|
1006
|
-
if (event.candidate) {
|
|
1010
|
+
if (event.candidate && event.candidate.candidate && event.candidate.candidate.length > 0) {
|
|
1007
1011
|
_this.iceCandidatesCount += 1;
|
|
1008
1012
|
}
|
|
1009
1013
|
});
|
|
@@ -1218,31 +1222,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1218
1222
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
1219
1223
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1220
1224
|
case 0:
|
|
1225
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1226
|
+
// current share audio stream has ended, but there might be an active
|
|
1227
|
+
// share video stream. we only leave from wireless share if share has
|
|
1228
|
+
// completely ended, which means no share audio or video streams active
|
|
1221
1229
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1222
|
-
_context2.next =
|
|
1230
|
+
_context2.next = 5;
|
|
1223
1231
|
break;
|
|
1224
1232
|
}
|
|
1225
1233
|
_this.leave({
|
|
1226
1234
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1227
1235
|
});
|
|
1228
|
-
_context2.next =
|
|
1236
|
+
_context2.next = 13;
|
|
1229
1237
|
break;
|
|
1230
|
-
case
|
|
1231
|
-
_context2.prev =
|
|
1232
|
-
_context2.next =
|
|
1238
|
+
case 5:
|
|
1239
|
+
_context2.prev = 5;
|
|
1240
|
+
_context2.next = 8;
|
|
1233
1241
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1234
|
-
case
|
|
1235
|
-
_context2.next =
|
|
1242
|
+
case 8:
|
|
1243
|
+
_context2.next = 13;
|
|
1236
1244
|
break;
|
|
1237
|
-
case
|
|
1238
|
-
_context2.prev =
|
|
1239
|
-
_context2.t0 = _context2["catch"](
|
|
1245
|
+
case 10:
|
|
1246
|
+
_context2.prev = 10;
|
|
1247
|
+
_context2.t0 = _context2["catch"](5);
|
|
1240
1248
|
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _context2.t0);
|
|
1241
|
-
case
|
|
1249
|
+
case 13:
|
|
1242
1250
|
case "end":
|
|
1243
1251
|
return _context2.stop();
|
|
1244
1252
|
}
|
|
1245
|
-
}, _callee2, null, [[
|
|
1253
|
+
}, _callee2, null, [[5, 10]]);
|
|
1246
1254
|
})));
|
|
1247
1255
|
/**
|
|
1248
1256
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1270,33 +1278,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1270
1278
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1271
1279
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1272
1280
|
case 0:
|
|
1281
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1282
|
+
// current share video stream has ended, but there might be an active
|
|
1283
|
+
// share audio stream. we only leave from wireless share if share has
|
|
1284
|
+
// completely ended, which means no share audio or video streams active
|
|
1273
1285
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1274
|
-
_context3.next =
|
|
1286
|
+
_context3.next = 5;
|
|
1275
1287
|
break;
|
|
1276
1288
|
}
|
|
1277
1289
|
_this.leave({
|
|
1278
1290
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1279
1291
|
});
|
|
1280
|
-
_context3.next =
|
|
1292
|
+
_context3.next = 13;
|
|
1281
1293
|
break;
|
|
1282
|
-
case
|
|
1283
|
-
_context3.prev =
|
|
1284
|
-
_context3.next =
|
|
1294
|
+
case 5:
|
|
1295
|
+
_context3.prev = 5;
|
|
1296
|
+
_context3.next = 8;
|
|
1285
1297
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1286
|
-
case
|
|
1287
|
-
_context3.next =
|
|
1298
|
+
case 8:
|
|
1299
|
+
_context3.next = 13;
|
|
1288
1300
|
break;
|
|
1289
|
-
case
|
|
1290
|
-
_context3.prev =
|
|
1291
|
-
_context3.t0 = _context3["catch"](
|
|
1301
|
+
case 10:
|
|
1302
|
+
_context3.prev = 10;
|
|
1303
|
+
_context3.t0 = _context3["catch"](5);
|
|
1292
1304
|
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _context3.t0);
|
|
1293
|
-
case 12:
|
|
1294
|
-
_this.triggerStoppedSharing();
|
|
1295
1305
|
case 13:
|
|
1306
|
+
_this.triggerStoppedSharing();
|
|
1307
|
+
case 14:
|
|
1296
1308
|
case "end":
|
|
1297
1309
|
return _context3.stop();
|
|
1298
1310
|
}
|
|
1299
|
-
}, _callee3, null, [[
|
|
1311
|
+
}, _callee3, null, [[5, 10]]);
|
|
1300
1312
|
})));
|
|
1301
1313
|
/**
|
|
1302
1314
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -1425,6 +1437,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1425
1437
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1426
1438
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1427
1439
|
}
|
|
1440
|
+
_this.logUploadIntervalIndex = 0;
|
|
1441
|
+
|
|
1428
1442
|
/**
|
|
1429
1443
|
* @instance
|
|
1430
1444
|
* @type {String}
|
|
@@ -2413,8 +2427,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2413
2427
|
}
|
|
2414
2428
|
throw new _permission.default();
|
|
2415
2429
|
case 21:
|
|
2430
|
+
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2WebinarRegistrationError)) {
|
|
2431
|
+
_context5.next = 28;
|
|
2432
|
+
break;
|
|
2433
|
+
}
|
|
2434
|
+
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2435
|
+
this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
|
|
2436
|
+
if (_context5.t0.meetingInfo) {
|
|
2437
|
+
this.meetingInfo = _context5.t0.meetingInfo;
|
|
2438
|
+
}
|
|
2439
|
+
throw new _webinarRegistrationError.default();
|
|
2440
|
+
case 28:
|
|
2416
2441
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2417
|
-
_context5.next =
|
|
2442
|
+
_context5.next = 40;
|
|
2418
2443
|
break;
|
|
2419
2444
|
}
|
|
2420
2445
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2429,16 +2454,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2429
2454
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2430
2455
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2431
2456
|
if (!this.requiredCaptcha) {
|
|
2432
|
-
_context5.next =
|
|
2457
|
+
_context5.next = 37;
|
|
2433
2458
|
break;
|
|
2434
2459
|
}
|
|
2435
|
-
_context5.next =
|
|
2460
|
+
_context5.next = 37;
|
|
2436
2461
|
return this.refreshCaptcha();
|
|
2437
|
-
case
|
|
2462
|
+
case 37:
|
|
2438
2463
|
throw new _passwordError.default();
|
|
2439
|
-
case
|
|
2464
|
+
case 40:
|
|
2440
2465
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2441
|
-
_context5.next =
|
|
2466
|
+
_context5.next = 49;
|
|
2442
2467
|
break;
|
|
2443
2468
|
}
|
|
2444
2469
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2450,10 +2475,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2450
2475
|
}
|
|
2451
2476
|
this.requiredCaptcha = _context5.t0.captchaInfo;
|
|
2452
2477
|
throw new _captchaError.default();
|
|
2453
|
-
case
|
|
2478
|
+
case 49:
|
|
2454
2479
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2455
2480
|
throw _context5.t0;
|
|
2456
|
-
case
|
|
2481
|
+
case 51:
|
|
2457
2482
|
case "end":
|
|
2458
2483
|
return _context5.stop();
|
|
2459
2484
|
}
|
|
@@ -2682,6 +2707,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2682
2707
|
this.setUpLocusInfoSelfListener();
|
|
2683
2708
|
this.setUpLocusInfoMeetingListener();
|
|
2684
2709
|
this.setUpLocusServicesListener();
|
|
2710
|
+
this.setUpLocusResourcesListener();
|
|
2685
2711
|
// members update listeners
|
|
2686
2712
|
this.setUpLocusFullStateListener();
|
|
2687
2713
|
this.setUpLocusUrlListener();
|
|
@@ -3198,8 +3224,44 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3198
3224
|
state: state
|
|
3199
3225
|
});
|
|
3200
3226
|
});
|
|
3201
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3227
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref22) {
|
|
3202
3228
|
var state = _ref22.state;
|
|
3229
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3230
|
+
file: 'meeting/index',
|
|
3231
|
+
function: 'setupLocusControlsListener'
|
|
3232
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_WEBCAST_UPDATED, {
|
|
3233
|
+
state: state
|
|
3234
|
+
});
|
|
3235
|
+
});
|
|
3236
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref23) {
|
|
3237
|
+
var state = _ref23.state;
|
|
3238
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3239
|
+
file: 'meeting/index',
|
|
3240
|
+
function: 'setupLocusControlsListener'
|
|
3241
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MEETING_FULL_UPDATED, {
|
|
3242
|
+
state: state
|
|
3243
|
+
});
|
|
3244
|
+
});
|
|
3245
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref24) {
|
|
3246
|
+
var state = _ref24.state;
|
|
3247
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3248
|
+
file: 'meeting/index',
|
|
3249
|
+
function: 'setupLocusControlsListener'
|
|
3250
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, {
|
|
3251
|
+
state: state
|
|
3252
|
+
});
|
|
3253
|
+
});
|
|
3254
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
|
|
3255
|
+
var state = _ref25.state;
|
|
3256
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3257
|
+
file: 'meeting/index',
|
|
3258
|
+
function: 'setupLocusControlsListener'
|
|
3259
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_STAGE_VIEW_UPDATED, {
|
|
3260
|
+
state: state
|
|
3261
|
+
});
|
|
3262
|
+
});
|
|
3263
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
|
|
3264
|
+
var state = _ref26.state;
|
|
3203
3265
|
_triggerProxy.default.trigger(_this13, {
|
|
3204
3266
|
file: 'meeting/index',
|
|
3205
3267
|
function: 'setupLocusControlsListener'
|
|
@@ -3246,7 +3308,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3246
3308
|
var _this14 = this;
|
|
3247
3309
|
// Will get triggered on local and remote share
|
|
3248
3310
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3249
|
-
var
|
|
3311
|
+
var _ref27 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3250
3312
|
var _payload$previous, _payload$previous2;
|
|
3251
3313
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3252
3314
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3288,8 +3350,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3288
3350
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
|
3289
3351
|
newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
3290
3352
|
}
|
|
3353
|
+
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3291
3354
|
if (!(newShareStatus !== _this14.shareStatus)) {
|
|
3292
|
-
_context8.next =
|
|
3355
|
+
_context8.next = 46;
|
|
3293
3356
|
break;
|
|
3294
3357
|
}
|
|
3295
3358
|
oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
|
|
@@ -3297,37 +3360,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3297
3360
|
|
|
3298
3361
|
// send out "stop" notifications for the old state
|
|
3299
3362
|
_context8.t0 = oldShareStatus;
|
|
3300
|
-
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3363
|
+
_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
3364
|
break;
|
|
3302
|
-
case
|
|
3365
|
+
case 15:
|
|
3303
3366
|
_triggerProxy.default.trigger(_this14, {
|
|
3304
3367
|
file: 'meetings/index',
|
|
3305
3368
|
function: 'remoteShare'
|
|
3306
3369
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3307
|
-
return _context8.abrupt("break",
|
|
3308
|
-
case
|
|
3370
|
+
return _context8.abrupt("break", 23);
|
|
3371
|
+
case 17:
|
|
3309
3372
|
_triggerProxy.default.trigger(_this14, {
|
|
3310
3373
|
file: 'meeting/index',
|
|
3311
3374
|
function: 'localShare'
|
|
3312
3375
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3313
3376
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3314
3377
|
});
|
|
3315
|
-
return _context8.abrupt("break",
|
|
3316
|
-
case
|
|
3378
|
+
return _context8.abrupt("break", 23);
|
|
3379
|
+
case 19:
|
|
3317
3380
|
_triggerProxy.default.trigger(_this14, {
|
|
3318
3381
|
file: 'meeting/index',
|
|
3319
3382
|
function: 'stopWhiteboardShare'
|
|
3320
3383
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
|
|
3321
|
-
return _context8.abrupt("break",
|
|
3322
|
-
case 20:
|
|
3323
|
-
return _context8.abrupt("break", 22);
|
|
3384
|
+
return _context8.abrupt("break", 23);
|
|
3324
3385
|
case 21:
|
|
3325
|
-
return _context8.abrupt("break",
|
|
3386
|
+
return _context8.abrupt("break", 23);
|
|
3326
3387
|
case 22:
|
|
3388
|
+
return _context8.abrupt("break", 23);
|
|
3389
|
+
case 23:
|
|
3327
3390
|
_context8.t1 = newShareStatus;
|
|
3328
|
-
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3391
|
+
_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
3392
|
break;
|
|
3330
|
-
case
|
|
3393
|
+
case 26:
|
|
3331
3394
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
3332
3395
|
_this14.remoteShareInstanceId = contentShare.shareInstanceId;
|
|
3333
3396
|
_triggerProxy.default.trigger(_this14, {
|
|
@@ -3341,20 +3404,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3341
3404
|
resourceType: contentShare.resourceType
|
|
3342
3405
|
});
|
|
3343
3406
|
};
|
|
3344
|
-
_context8.prev =
|
|
3407
|
+
_context8.prev = 27;
|
|
3345
3408
|
if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3346
|
-
_context8.next =
|
|
3409
|
+
_context8.next = 31;
|
|
3347
3410
|
break;
|
|
3348
3411
|
}
|
|
3349
|
-
_context8.next =
|
|
3412
|
+
_context8.next = 31;
|
|
3350
3413
|
return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
|
|
3351
|
-
case
|
|
3352
|
-
_context8.prev =
|
|
3414
|
+
case 31:
|
|
3415
|
+
_context8.prev = 31;
|
|
3353
3416
|
sendStartedSharingRemote();
|
|
3354
|
-
return _context8.finish(
|
|
3355
|
-
case 33:
|
|
3356
|
-
return _context8.abrupt("break", 42);
|
|
3417
|
+
return _context8.finish(31);
|
|
3357
3418
|
case 34:
|
|
3419
|
+
return _context8.abrupt("break", 43);
|
|
3420
|
+
case 35:
|
|
3358
3421
|
_triggerProxy.default.trigger(_this14, {
|
|
3359
3422
|
file: 'meeting/index',
|
|
3360
3423
|
function: 'share'
|
|
@@ -3370,8 +3433,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3370
3433
|
meetingId: _this14.id
|
|
3371
3434
|
}
|
|
3372
3435
|
});
|
|
3373
|
-
return _context8.abrupt("break",
|
|
3374
|
-
case
|
|
3436
|
+
return _context8.abrupt("break", 43);
|
|
3437
|
+
case 38:
|
|
3375
3438
|
_triggerProxy.default.trigger(_this14, {
|
|
3376
3439
|
file: 'meeting/index',
|
|
3377
3440
|
function: 'startWhiteboardShare'
|
|
@@ -3389,16 +3452,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3389
3452
|
meetingId: _this14.id
|
|
3390
3453
|
}
|
|
3391
3454
|
});
|
|
3392
|
-
return _context8.abrupt("break",
|
|
3393
|
-
case 40:
|
|
3394
|
-
return _context8.abrupt("break", 42);
|
|
3455
|
+
return _context8.abrupt("break", 43);
|
|
3395
3456
|
case 41:
|
|
3396
|
-
return _context8.abrupt("break",
|
|
3457
|
+
return _context8.abrupt("break", 43);
|
|
3397
3458
|
case 42:
|
|
3459
|
+
return _context8.abrupt("break", 43);
|
|
3460
|
+
case 43:
|
|
3398
3461
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3399
|
-
_context8.next =
|
|
3462
|
+
_context8.next = 47;
|
|
3400
3463
|
break;
|
|
3401
|
-
case
|
|
3464
|
+
case 46:
|
|
3402
3465
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
3403
3466
|
// if we got here, then some remote participant has stolen
|
|
3404
3467
|
// the presentation from another remote participant
|
|
@@ -3436,14 +3499,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3436
3499
|
});
|
|
3437
3500
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3438
3501
|
}
|
|
3439
|
-
case
|
|
3502
|
+
case 47:
|
|
3440
3503
|
case "end":
|
|
3441
3504
|
return _context8.stop();
|
|
3442
3505
|
}
|
|
3443
|
-
}, _callee8, null, [[
|
|
3506
|
+
}, _callee8, null, [[27,, 31, 34]]);
|
|
3444
3507
|
}));
|
|
3445
3508
|
return function (_x8) {
|
|
3446
|
-
return
|
|
3509
|
+
return _ref27.apply(this, arguments);
|
|
3447
3510
|
};
|
|
3448
3511
|
}());
|
|
3449
3512
|
}
|
|
@@ -3493,14 +3556,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3493
3556
|
value: function setUpLocusServicesListener() {
|
|
3494
3557
|
var _this16 = this;
|
|
3495
3558
|
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
|
|
3559
|
+
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
3560
|
_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
3561
|
_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
3562
|
_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
3563
|
_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
3564
|
_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
|
-
|
|
3565
|
+
});
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
/**
|
|
3569
|
+
* Set up the locus info resources link listener
|
|
3570
|
+
* update the locusInfo for webcast instance url
|
|
3571
|
+
* @param {Object} payload - The event payload
|
|
3572
|
+
* @returns {undefined}
|
|
3573
|
+
* @private
|
|
3574
|
+
* @memberof Meeting
|
|
3575
|
+
*/
|
|
3576
|
+
}, {
|
|
3577
|
+
key: "setUpLocusResourcesListener",
|
|
3578
|
+
value: function setUpLocusResourcesListener() {
|
|
3579
|
+
var _this17 = this;
|
|
3580
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_RESOURCES, function (payload) {
|
|
3581
|
+
_this17.webinar.updateWebcastUrl(payload);
|
|
3504
3582
|
});
|
|
3505
3583
|
}
|
|
3506
3584
|
|
|
@@ -3513,10 +3591,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3513
3591
|
}, {
|
|
3514
3592
|
key: "setUpLocusInfoMeetingInfoListener",
|
|
3515
3593
|
value: function setUpLocusInfoMeetingInfoListener() {
|
|
3516
|
-
var
|
|
3594
|
+
var _this18 = this;
|
|
3517
3595
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
|
|
3518
3596
|
if (payload) {
|
|
3519
|
-
_triggerProxy.default.trigger(
|
|
3597
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3520
3598
|
file: 'meeting/index',
|
|
3521
3599
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3522
3600
|
}, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
|
|
@@ -3526,7 +3604,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3526
3604
|
});
|
|
3527
3605
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
|
|
3528
3606
|
if (payload) {
|
|
3529
|
-
_triggerProxy.default.trigger(
|
|
3607
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3530
3608
|
file: 'meeting/index',
|
|
3531
3609
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3532
3610
|
}, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
|
|
@@ -3534,16 +3612,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3534
3612
|
});
|
|
3535
3613
|
}
|
|
3536
3614
|
});
|
|
3537
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3538
|
-
var isInitializing =
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3615
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref28) {
|
|
3616
|
+
var isInitializing = _ref28.isInitializing;
|
|
3617
|
+
_this18.updateMeetingActions();
|
|
3618
|
+
_this18.recordingController.setDisplayHints(_this18.userDisplayHints);
|
|
3619
|
+
_this18.recordingController.setUserPolicy(_this18.selfUserPolicies);
|
|
3620
|
+
_this18.controlsOptionsManager.setDisplayHints(_this18.userDisplayHints);
|
|
3621
|
+
_this18.handleDataChannelUrlChange(_this18.datachannelUrl);
|
|
3544
3622
|
if (!isInitializing) {
|
|
3545
3623
|
// send updated trigger only if locus is not initializing the meeting
|
|
3546
|
-
_triggerProxy.default.trigger(
|
|
3624
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3547
3625
|
file: 'meetings',
|
|
3548
3626
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3549
3627
|
}, _constants.EVENT_TRIGGERS.MEETING_INFO_UPDATED);
|
|
@@ -3574,10 +3652,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3574
3652
|
}, {
|
|
3575
3653
|
key: "setUpLocusEmbeddedAppsListener",
|
|
3576
3654
|
value: function setUpLocusEmbeddedAppsListener() {
|
|
3577
|
-
var
|
|
3655
|
+
var _this19 = this;
|
|
3578
3656
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
|
|
3579
3657
|
if (embeddedApps) {
|
|
3580
|
-
_triggerProxy.default.trigger(
|
|
3658
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3581
3659
|
file: 'meeting/index',
|
|
3582
3660
|
function: 'setUpLocusEmbeddedAppsListener'
|
|
3583
3661
|
}, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
|
|
@@ -3594,11 +3672,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3594
3672
|
}, {
|
|
3595
3673
|
key: "setUpLocusInfoSelfListener",
|
|
3596
3674
|
value: function setUpLocusInfoSelfListener() {
|
|
3597
|
-
var
|
|
3675
|
+
var _this20 = this;
|
|
3598
3676
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
3599
|
-
if (
|
|
3600
|
-
|
|
3601
|
-
_triggerProxy.default.trigger(
|
|
3677
|
+
if (_this20.audio) {
|
|
3678
|
+
_this20.audio.handleServerLocalUnmuteRequired(_this20, payload.unmuteAllowed);
|
|
3679
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3602
3680
|
file: 'meeting/index',
|
|
3603
3681
|
function: 'setUpLocusInfoSelfListener'
|
|
3604
3682
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3608,13 +3686,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3608
3686
|
});
|
|
3609
3687
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
|
|
3610
3688
|
if (payload) {
|
|
3611
|
-
if (
|
|
3689
|
+
if (_this20.video) {
|
|
3612
3690
|
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
|
-
|
|
3691
|
+
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
|
|
3692
|
+
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
|
|
3693
|
+
_this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3616
3694
|
}
|
|
3617
|
-
_triggerProxy.default.trigger(
|
|
3695
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3618
3696
|
file: 'meeting/index',
|
|
3619
3697
|
function: 'setUpLocusInfoSelfListener'
|
|
3620
3698
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
|
|
@@ -3624,15 +3702,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3624
3702
|
});
|
|
3625
3703
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
|
|
3626
3704
|
if (payload) {
|
|
3627
|
-
var
|
|
3628
|
-
if (
|
|
3629
|
-
|
|
3705
|
+
var _this20$audio;
|
|
3706
|
+
if (_this20.audio) {
|
|
3707
|
+
_this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3630
3708
|
}
|
|
3631
3709
|
// with "mute on entry" server will send us remote mute even if we don't have media configured,
|
|
3632
3710
|
// so if being muted by others, always send the notification,
|
|
3633
3711
|
// but if being unmuted, only send it if we are also locally unmuted
|
|
3634
|
-
if (payload.muted || !((
|
|
3635
|
-
_triggerProxy.default.trigger(
|
|
3712
|
+
if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
|
|
3713
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3636
3714
|
file: 'meeting/index',
|
|
3637
3715
|
function: 'setUpLocusInfoSelfListener'
|
|
3638
3716
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3642,7 +3720,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3642
3720
|
}
|
|
3643
3721
|
});
|
|
3644
3722
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
|
|
3645
|
-
_triggerProxy.default.trigger(
|
|
3723
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3646
3724
|
file: 'meeting/index',
|
|
3647
3725
|
function: 'setUpLocusInfoSelfListener'
|
|
3648
3726
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
|
|
@@ -3651,8 +3729,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3651
3729
|
});
|
|
3652
3730
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
|
|
3653
3731
|
if (payload) {
|
|
3654
|
-
|
|
3655
|
-
_triggerProxy.default.trigger(
|
|
3732
|
+
_this20.startKeepAlive();
|
|
3733
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3656
3734
|
file: 'meeting/index',
|
|
3657
3735
|
function: 'setUpLocusInfoSelfListener'
|
|
3658
3736
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
|
|
@@ -3660,24 +3738,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3660
3738
|
});
|
|
3661
3739
|
|
|
3662
3740
|
// @ts-ignore
|
|
3663
|
-
|
|
3741
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3664
3742
|
name: 'client.lobby.entered',
|
|
3665
3743
|
options: {
|
|
3666
|
-
meetingId:
|
|
3744
|
+
meetingId: _this20.id
|
|
3667
3745
|
}
|
|
3668
3746
|
});
|
|
3669
3747
|
}
|
|
3670
|
-
|
|
3748
|
+
_this20.updateLLMConnection();
|
|
3671
3749
|
});
|
|
3672
3750
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3673
|
-
var
|
|
3674
|
-
var
|
|
3751
|
+
var _ref29 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3752
|
+
var _this20$rtcMetrics;
|
|
3675
3753
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3676
3754
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3677
3755
|
case 0:
|
|
3678
|
-
|
|
3756
|
+
_this20.stopKeepAlive();
|
|
3679
3757
|
if (payload) {
|
|
3680
|
-
_triggerProxy.default.trigger(
|
|
3758
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3681
3759
|
file: 'meeting/index',
|
|
3682
3760
|
function: 'setUpLocusInfoSelfListener'
|
|
3683
3761
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
@@ -3685,15 +3763,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3685
3763
|
});
|
|
3686
3764
|
|
|
3687
3765
|
// @ts-ignore
|
|
3688
|
-
|
|
3766
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3689
3767
|
name: 'client.lobby.exited',
|
|
3690
3768
|
options: {
|
|
3691
|
-
meetingId:
|
|
3769
|
+
meetingId: _this20.id
|
|
3692
3770
|
}
|
|
3693
3771
|
});
|
|
3694
3772
|
}
|
|
3695
|
-
(
|
|
3696
|
-
|
|
3773
|
+
(_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
|
|
3774
|
+
_this20.updateLLMConnection();
|
|
3697
3775
|
case 4:
|
|
3698
3776
|
case "end":
|
|
3699
3777
|
return _context9.stop();
|
|
@@ -3701,42 +3779,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3701
3779
|
}, _callee9);
|
|
3702
3780
|
}));
|
|
3703
3781
|
return function (_x9) {
|
|
3704
|
-
return
|
|
3782
|
+
return _ref29.apply(this, arguments);
|
|
3705
3783
|
};
|
|
3706
3784
|
}());
|
|
3707
3785
|
|
|
3708
3786
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
3709
3787
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
3710
3788
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
|
|
3711
|
-
correlation_id:
|
|
3712
|
-
locus_id:
|
|
3789
|
+
correlation_id: _this20.correlationId,
|
|
3790
|
+
locus_id: _this20.locusId
|
|
3713
3791
|
});
|
|
3714
3792
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_INACTIVITY received, reconnecting...');
|
|
3715
|
-
|
|
3793
|
+
_this20.reconnect();
|
|
3716
3794
|
});
|
|
3717
3795
|
|
|
3718
3796
|
// There is two stats for mute one is the actual media being sent or received
|
|
3719
3797
|
// The second on is if the audio is muted, we need to tell the statsAnalyzer when
|
|
3720
3798
|
// the audio is muted or the user is not willing to send media
|
|
3721
3799
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
|
|
3722
|
-
if (
|
|
3723
|
-
var
|
|
3724
|
-
|
|
3800
|
+
if (_this20.statsAnalyzer) {
|
|
3801
|
+
var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
|
|
3802
|
+
_this20.statsAnalyzer.updateMediaStatus({
|
|
3725
3803
|
actual: status,
|
|
3726
3804
|
expected: {
|
|
3727
3805
|
// We need to check what should be the actual direction of media
|
|
3728
|
-
sendAudio: ((
|
|
3729
|
-
sendVideo: ((
|
|
3730
|
-
sendShare: (
|
|
3731
|
-
receiveAudio: (
|
|
3732
|
-
receiveVideo: (
|
|
3733
|
-
receiveShare: (
|
|
3806
|
+
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()),
|
|
3807
|
+
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()),
|
|
3808
|
+
sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
|
|
3809
|
+
receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
|
|
3810
|
+
receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
|
|
3811
|
+
receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
|
|
3734
3812
|
}
|
|
3735
3813
|
});
|
|
3736
3814
|
}
|
|
3737
3815
|
});
|
|
3738
3816
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
|
|
3739
|
-
_triggerProxy.default.trigger(
|
|
3817
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3740
3818
|
file: 'meeting/index',
|
|
3741
3819
|
function: 'setUpLocusInfoSelfListener'
|
|
3742
3820
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
|
|
@@ -3744,29 +3822,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3744
3822
|
});
|
|
3745
3823
|
});
|
|
3746
3824
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
|
|
3747
|
-
|
|
3748
|
-
_triggerProxy.default.trigger(
|
|
3825
|
+
_this20.breakouts.updateBreakoutSessions(payload);
|
|
3826
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3749
3827
|
file: 'meeting/index',
|
|
3750
3828
|
function: 'setUpLocusInfoSelfListener'
|
|
3751
3829
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3752
3830
|
});
|
|
3753
3831
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
3754
|
-
var targetChanged =
|
|
3755
|
-
_triggerProxy.default.trigger(
|
|
3832
|
+
var targetChanged = _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3833
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3756
3834
|
file: 'meeting/index',
|
|
3757
3835
|
function: 'setUpLocusInfoSelfListener'
|
|
3758
3836
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3759
|
-
if (targetChanged &&
|
|
3760
|
-
|
|
3837
|
+
if (targetChanged && _this20.mediaProperties.audioStream) {
|
|
3838
|
+
_this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
3761
3839
|
}
|
|
3762
3840
|
});
|
|
3763
3841
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
3764
|
-
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3
|
|
3842
|
+
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
|
|
3765
3843
|
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(
|
|
3844
|
+
_this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
|
|
3845
|
+
_this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
|
|
3846
|
+
_this20.webinar.updateRoleChanged(payload);
|
|
3847
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3770
3848
|
file: 'meeting/index',
|
|
3771
3849
|
function: 'setUpLocusInfoSelfListener'
|
|
3772
3850
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
|
|
@@ -3774,7 +3852,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3774
3852
|
});
|
|
3775
3853
|
});
|
|
3776
3854
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
|
|
3777
|
-
_triggerProxy.default.trigger(
|
|
3855
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3778
3856
|
file: 'meeting/index',
|
|
3779
3857
|
function: 'setUpLocusInfoSelfListener'
|
|
3780
3858
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
|
|
@@ -3792,42 +3870,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3792
3870
|
}, {
|
|
3793
3871
|
key: "setUpLocusInfoMeetingListener",
|
|
3794
3872
|
value: function setUpLocusInfoMeetingListener() {
|
|
3795
|
-
var
|
|
3873
|
+
var _this21 = this;
|
|
3796
3874
|
this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
|
|
3797
|
-
|
|
3875
|
+
_this21.meetingFiniteStateMachine.remote(payload);
|
|
3798
3876
|
if (payload.remoteDeclined) {
|
|
3799
|
-
|
|
3877
|
+
_this21.leave({
|
|
3800
3878
|
reason: payload.reason
|
|
3801
3879
|
}).then(function () {
|
|
3802
3880
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
|
|
3803
3881
|
}).catch(function (error) {
|
|
3804
3882
|
// @ts-ignore
|
|
3805
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3883
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
|
|
3806
3884
|
});
|
|
3807
3885
|
}
|
|
3808
3886
|
});
|
|
3809
3887
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3810
|
-
var
|
|
3888
|
+
var _ref30 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3811
3889
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3812
3890
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3813
3891
|
case 0:
|
|
3814
|
-
if (!
|
|
3892
|
+
if (!_this21.wirelessShare) {
|
|
3815
3893
|
_context10.next = 7;
|
|
3816
3894
|
break;
|
|
3817
3895
|
}
|
|
3818
|
-
if (!
|
|
3896
|
+
if (!_this21.mediaProperties.shareVideoStream) {
|
|
3819
3897
|
_context10.next = 4;
|
|
3820
3898
|
break;
|
|
3821
3899
|
}
|
|
3822
3900
|
_context10.next = 4;
|
|
3823
|
-
return
|
|
3901
|
+
return _this21.setLocalShareVideoStream(undefined);
|
|
3824
3902
|
case 4:
|
|
3825
|
-
if (!
|
|
3903
|
+
if (!_this21.mediaProperties.shareAudioStream) {
|
|
3826
3904
|
_context10.next = 7;
|
|
3827
3905
|
break;
|
|
3828
3906
|
}
|
|
3829
3907
|
_context10.next = 7;
|
|
3830
|
-
return
|
|
3908
|
+
return _this21.setLocalShareAudioStream(undefined);
|
|
3831
3909
|
case 7:
|
|
3832
3910
|
if (!payload.shouldLeave) {
|
|
3833
3911
|
_context10.next = 19;
|
|
@@ -3835,7 +3913,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3835
3913
|
}
|
|
3836
3914
|
_context10.prev = 8;
|
|
3837
3915
|
_context10.next = 11;
|
|
3838
|
-
return
|
|
3916
|
+
return _this21.leave({
|
|
3839
3917
|
reason: payload.reason
|
|
3840
3918
|
});
|
|
3841
3919
|
case 11:
|
|
@@ -3846,19 +3924,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3846
3924
|
_context10.prev = 14;
|
|
3847
3925
|
_context10.t0 = _context10["catch"](8);
|
|
3848
3926
|
// @ts-ignore
|
|
3849
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3927
|
+
_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
3928
|
case 17:
|
|
3851
3929
|
_context10.next = 22;
|
|
3852
3930
|
break;
|
|
3853
3931
|
case 19:
|
|
3854
3932
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3855
|
-
_util2.default.cleanUp(
|
|
3856
|
-
_triggerProxy.default.trigger(
|
|
3933
|
+
_util2.default.cleanUp(_this21);
|
|
3934
|
+
_triggerProxy.default.trigger(_this21, {
|
|
3857
3935
|
file: 'meeting/index',
|
|
3858
3936
|
function: 'setUpLocusInfoMeetingListener'
|
|
3859
3937
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
3860
3938
|
reason: payload.reason,
|
|
3861
|
-
meetingId:
|
|
3939
|
+
meetingId: _this21.id
|
|
3862
3940
|
});
|
|
3863
3941
|
case 22:
|
|
3864
3942
|
case "end":
|
|
@@ -3867,7 +3945,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3867
3945
|
}, _callee10, null, [[8, 14]]);
|
|
3868
3946
|
}));
|
|
3869
3947
|
return function (_x10) {
|
|
3870
|
-
return
|
|
3948
|
+
return _ref30.apply(this, arguments);
|
|
3871
3949
|
};
|
|
3872
3950
|
}());
|
|
3873
3951
|
}
|
|
@@ -3883,13 +3961,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3883
3961
|
}, {
|
|
3884
3962
|
key: "updateMeetingObject",
|
|
3885
3963
|
value: function updateMeetingObject(object) {
|
|
3886
|
-
var
|
|
3964
|
+
var _this22 = this;
|
|
3887
3965
|
// Validate if these are valid meeting object property
|
|
3888
3966
|
// TODO: add a check to make sure the value passed in the constructor
|
|
3889
3967
|
// is not changed by any delta event
|
|
3890
3968
|
if (object && (0, _keys.default)(object).length) {
|
|
3891
3969
|
(0, _keys.default)(object).forEach(function (key) {
|
|
3892
|
-
|
|
3970
|
+
_this22[key] = object[key];
|
|
3893
3971
|
});
|
|
3894
3972
|
}
|
|
3895
3973
|
}
|
|
@@ -4219,6 +4297,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4219
4297
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
4220
4298
|
displayHints: this.userDisplayHints
|
|
4221
4299
|
}),
|
|
4300
|
+
canEnableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4301
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4302
|
+
displayHints: this.userDisplayHints
|
|
4303
|
+
}),
|
|
4304
|
+
canDisableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4305
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4306
|
+
displayHints: this.userDisplayHints
|
|
4307
|
+
}),
|
|
4308
|
+
canEnableShowAttendeeCount: _util5.default.hasHints({
|
|
4309
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_ATTENDEE_COUNT],
|
|
4310
|
+
displayHints: this.userDisplayHints
|
|
4311
|
+
}),
|
|
4312
|
+
canDisableShowAttendeeCount: _util5.default.hasHints({
|
|
4313
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_ATTENDEE_COUNT],
|
|
4314
|
+
displayHints: this.userDisplayHints
|
|
4315
|
+
}),
|
|
4222
4316
|
canEnableRaiseHand: _util5.default.hasHints({
|
|
4223
4317
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
4224
4318
|
displayHints: this.userDisplayHints
|
|
@@ -4235,6 +4329,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4235
4329
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
4236
4330
|
displayHints: this.userDisplayHints
|
|
4237
4331
|
}),
|
|
4332
|
+
canStartWebcast: _util5.default.hasHints({
|
|
4333
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_START],
|
|
4334
|
+
displayHints: this.userDisplayHints
|
|
4335
|
+
}),
|
|
4336
|
+
canStopWebcast: _util5.default.hasHints({
|
|
4337
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_STOP],
|
|
4338
|
+
displayHints: this.userDisplayHints
|
|
4339
|
+
}),
|
|
4340
|
+
canShowStageView: _util5.default.hasHints({
|
|
4341
|
+
requiredHints: [_constants.DISPLAY_HINTS.STAGE_VIEW_ACTIVE],
|
|
4342
|
+
displayHints: this.userDisplayHints
|
|
4343
|
+
}),
|
|
4344
|
+
canEnableStageView: _util5.default.hasHints({
|
|
4345
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_STAGE_VIEW],
|
|
4346
|
+
displayHints: this.userDisplayHints
|
|
4347
|
+
}),
|
|
4348
|
+
canDisableStageView: _util5.default.hasHints({
|
|
4349
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_STAGE_VIEW],
|
|
4350
|
+
displayHints: this.userDisplayHints
|
|
4351
|
+
}),
|
|
4238
4352
|
canShareFile: _util5.default.hasHints({
|
|
4239
4353
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
4240
4354
|
displayHints: this.userDisplayHints
|
|
@@ -4379,6 +4493,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4379
4493
|
_triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
4380
4494
|
}
|
|
4381
4495
|
|
|
4496
|
+
/**
|
|
4497
|
+
* sets the timer for periodic log upload
|
|
4498
|
+
* @returns {void}
|
|
4499
|
+
*/
|
|
4500
|
+
}, {
|
|
4501
|
+
key: "setLogUploadTimer",
|
|
4502
|
+
value: function setLogUploadTimer() {
|
|
4503
|
+
var _this23 = this;
|
|
4504
|
+
// start with short timeouts and increase them later on so in case users have very long multi-hour meetings we don't get too fragmented logs
|
|
4505
|
+
var LOG_UPLOAD_INTERVALS = [0.1, 1, 15, 15, 30, 30, 30, 60];
|
|
4506
|
+
var delay = 1000 *
|
|
4507
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4508
|
+
this.config.logUploadIntervalMultiplicationFactor * LOG_UPLOAD_INTERVALS[this.logUploadIntervalIndex];
|
|
4509
|
+
if (this.logUploadIntervalIndex < LOG_UPLOAD_INTERVALS.length - 1) {
|
|
4510
|
+
this.logUploadIntervalIndex += 1;
|
|
4511
|
+
}
|
|
4512
|
+
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4513
|
+
_this23.uploadLogsTimer = undefined;
|
|
4514
|
+
_this23.uploadLogs();
|
|
4515
|
+
|
|
4516
|
+
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4517
|
+
// and the page remains opened, we stop it if there is no media connection
|
|
4518
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4519
|
+
return;
|
|
4520
|
+
}
|
|
4521
|
+
_this23.setLogUploadTimer();
|
|
4522
|
+
}, delay);
|
|
4523
|
+
}
|
|
4524
|
+
|
|
4525
|
+
/**
|
|
4526
|
+
* Starts a periodic upload of logs
|
|
4527
|
+
*
|
|
4528
|
+
* @returns {undefined}
|
|
4529
|
+
*/
|
|
4530
|
+
}, {
|
|
4531
|
+
key: "startPeriodicLogUpload",
|
|
4532
|
+
value: function startPeriodicLogUpload() {
|
|
4533
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4534
|
+
if (this.config.logUploadIntervalMultiplicationFactor && !this.uploadLogsTimer) {
|
|
4535
|
+
this.logUploadIntervalIndex = 0;
|
|
4536
|
+
this.setLogUploadTimer();
|
|
4537
|
+
}
|
|
4538
|
+
}
|
|
4539
|
+
|
|
4540
|
+
/**
|
|
4541
|
+
* Stops the periodic upload of logs
|
|
4542
|
+
*
|
|
4543
|
+
* @returns {undefined}
|
|
4544
|
+
*/
|
|
4545
|
+
}, {
|
|
4546
|
+
key: "stopPeriodicLogUpload",
|
|
4547
|
+
value: function stopPeriodicLogUpload() {
|
|
4548
|
+
if (this.uploadLogsTimer) {
|
|
4549
|
+
clearTimeout(this.uploadLogsTimer);
|
|
4550
|
+
this.uploadLogsTimer = undefined;
|
|
4551
|
+
}
|
|
4552
|
+
}
|
|
4553
|
+
|
|
4382
4554
|
/**
|
|
4383
4555
|
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
4384
4556
|
* @returns {undefined}
|
|
@@ -4413,7 +4585,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4413
4585
|
}, {
|
|
4414
4586
|
key: "closeRemoteStreams",
|
|
4415
4587
|
value: function closeRemoteStreams() {
|
|
4416
|
-
var
|
|
4588
|
+
var _this24 = this;
|
|
4417
4589
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4418
4590
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4419
4591
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4427,7 +4599,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4427
4599
|
*/
|
|
4428
4600
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4429
4601
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4430
|
-
_triggerProxy.default.trigger(
|
|
4602
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4431
4603
|
file: 'meeting/index',
|
|
4432
4604
|
function: 'closeRemoteStreams'
|
|
4433
4605
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4735,7 +4907,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4735
4907
|
}, {
|
|
4736
4908
|
key: "setMercuryListener",
|
|
4737
4909
|
value: function setMercuryListener() {
|
|
4738
|
-
var
|
|
4910
|
+
var _this25 = this;
|
|
4739
4911
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4740
4912
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4741
4913
|
// @ts-ignore
|
|
@@ -4743,33 +4915,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4743
4915
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4744
4916
|
|
|
4745
4917
|
// Only send restore event when it was disconnected before and for connected later
|
|
4746
|
-
if (!
|
|
4918
|
+
if (!_this25.hasWebsocketConnected) {
|
|
4747
4919
|
// @ts-ignore
|
|
4748
|
-
|
|
4920
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4749
4921
|
name: 'client.mercury.connection.restored',
|
|
4750
4922
|
options: {
|
|
4751
|
-
meetingId:
|
|
4923
|
+
meetingId: _this25.id
|
|
4752
4924
|
}
|
|
4753
4925
|
});
|
|
4754
4926
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4755
|
-
correlation_id:
|
|
4927
|
+
correlation_id: _this25.correlationId
|
|
4756
4928
|
});
|
|
4757
4929
|
}
|
|
4758
|
-
|
|
4930
|
+
_this25.hasWebsocketConnected = true;
|
|
4759
4931
|
});
|
|
4760
4932
|
|
|
4761
4933
|
// @ts-ignore
|
|
4762
4934
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4763
4935
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4764
4936
|
// @ts-ignore
|
|
4765
|
-
|
|
4937
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4766
4938
|
name: 'client.mercury.connection.lost',
|
|
4767
4939
|
options: {
|
|
4768
|
-
meetingId:
|
|
4940
|
+
meetingId: _this25.id
|
|
4769
4941
|
}
|
|
4770
4942
|
});
|
|
4771
4943
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4772
|
-
correlation_id:
|
|
4944
|
+
correlation_id: _this25.correlationId
|
|
4773
4945
|
});
|
|
4774
4946
|
});
|
|
4775
4947
|
}
|
|
@@ -4871,7 +5043,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4871
5043
|
}, {
|
|
4872
5044
|
key: "muteAudio",
|
|
4873
5045
|
value: function muteAudio() {
|
|
4874
|
-
var
|
|
5046
|
+
var _this26 = this;
|
|
4875
5047
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4876
5048
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4877
5049
|
}
|
|
@@ -4887,22 +5059,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4887
5059
|
|
|
4888
5060
|
// First, stop sending the local audio media
|
|
4889
5061
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4890
|
-
_util2.default.handleAudioLogging(
|
|
5062
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
4891
5063
|
// @ts-ignore
|
|
4892
|
-
|
|
5064
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4893
5065
|
name: 'client.muted',
|
|
4894
5066
|
payload: {
|
|
4895
5067
|
trigger: 'user-interaction',
|
|
4896
5068
|
mediaType: 'audio'
|
|
4897
5069
|
},
|
|
4898
5070
|
options: {
|
|
4899
|
-
meetingId:
|
|
5071
|
+
meetingId: _this26.id
|
|
4900
5072
|
}
|
|
4901
5073
|
});
|
|
4902
5074
|
}).catch(function (error) {
|
|
4903
5075
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
4904
|
-
correlation_id:
|
|
4905
|
-
locus_id:
|
|
5076
|
+
correlation_id: _this26.correlationId,
|
|
5077
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4906
5078
|
reason: error.message,
|
|
4907
5079
|
stack: error.stack
|
|
4908
5080
|
});
|
|
@@ -4921,7 +5093,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4921
5093
|
}, {
|
|
4922
5094
|
key: "unmuteAudio",
|
|
4923
5095
|
value: function unmuteAudio() {
|
|
4924
|
-
var
|
|
5096
|
+
var _this27 = this;
|
|
4925
5097
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4926
5098
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4927
5099
|
}
|
|
@@ -4937,22 +5109,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4937
5109
|
|
|
4938
5110
|
// First, send the control to unmute the participant on the server
|
|
4939
5111
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4940
|
-
_util2.default.handleAudioLogging(
|
|
5112
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
4941
5113
|
// @ts-ignore
|
|
4942
|
-
|
|
5114
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4943
5115
|
name: 'client.unmuted',
|
|
4944
5116
|
payload: {
|
|
4945
5117
|
trigger: 'user-interaction',
|
|
4946
5118
|
mediaType: 'audio'
|
|
4947
5119
|
},
|
|
4948
5120
|
options: {
|
|
4949
|
-
meetingId:
|
|
5121
|
+
meetingId: _this27.id
|
|
4950
5122
|
}
|
|
4951
5123
|
});
|
|
4952
5124
|
}).catch(function (error) {
|
|
4953
5125
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4954
|
-
correlation_id:
|
|
4955
|
-
locus_id:
|
|
5126
|
+
correlation_id: _this27.correlationId,
|
|
5127
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
4956
5128
|
reason: error.message,
|
|
4957
5129
|
stack: error.stack
|
|
4958
5130
|
});
|
|
@@ -4971,7 +5143,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4971
5143
|
}, {
|
|
4972
5144
|
key: "muteVideo",
|
|
4973
5145
|
value: function muteVideo() {
|
|
4974
|
-
var
|
|
5146
|
+
var _this28 = this;
|
|
4975
5147
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4976
5148
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4977
5149
|
}
|
|
@@ -4985,22 +5157,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4985
5157
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4986
5158
|
}
|
|
4987
5159
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4988
|
-
_util2.default.handleVideoLogging(
|
|
5160
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
4989
5161
|
// @ts-ignore
|
|
4990
|
-
|
|
5162
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
4991
5163
|
name: 'client.muted',
|
|
4992
5164
|
payload: {
|
|
4993
5165
|
trigger: 'user-interaction',
|
|
4994
5166
|
mediaType: 'video'
|
|
4995
5167
|
},
|
|
4996
5168
|
options: {
|
|
4997
|
-
meetingId:
|
|
5169
|
+
meetingId: _this28.id
|
|
4998
5170
|
}
|
|
4999
5171
|
});
|
|
5000
5172
|
}).catch(function (error) {
|
|
5001
5173
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5002
|
-
correlation_id:
|
|
5003
|
-
locus_id:
|
|
5174
|
+
correlation_id: _this28.correlationId,
|
|
5175
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5004
5176
|
reason: error.message,
|
|
5005
5177
|
stack: error.stack
|
|
5006
5178
|
});
|
|
@@ -5019,7 +5191,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5019
5191
|
}, {
|
|
5020
5192
|
key: "unmuteVideo",
|
|
5021
5193
|
value: function unmuteVideo() {
|
|
5022
|
-
var
|
|
5194
|
+
var _this29 = this;
|
|
5023
5195
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5024
5196
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5025
5197
|
}
|
|
@@ -5033,22 +5205,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5033
5205
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5034
5206
|
}
|
|
5035
5207
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5036
|
-
_util2.default.handleVideoLogging(
|
|
5208
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5037
5209
|
// @ts-ignore
|
|
5038
|
-
|
|
5210
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5039
5211
|
name: 'client.unmuted',
|
|
5040
5212
|
payload: {
|
|
5041
5213
|
trigger: 'user-interaction',
|
|
5042
5214
|
mediaType: 'video'
|
|
5043
5215
|
},
|
|
5044
5216
|
options: {
|
|
5045
|
-
meetingId:
|
|
5217
|
+
meetingId: _this29.id
|
|
5046
5218
|
}
|
|
5047
5219
|
});
|
|
5048
5220
|
}).catch(function (error) {
|
|
5049
5221
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5050
|
-
correlation_id:
|
|
5051
|
-
locus_id:
|
|
5222
|
+
correlation_id: _this29.correlationId,
|
|
5223
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5052
5224
|
reason: error.message,
|
|
5053
5225
|
stack: error.stack
|
|
5054
5226
|
});
|
|
@@ -5078,7 +5250,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5078
5250
|
key: "joinWithMedia",
|
|
5079
5251
|
value: (function () {
|
|
5080
5252
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5081
|
-
var
|
|
5253
|
+
var _this30 = this;
|
|
5082
5254
|
var options,
|
|
5083
5255
|
mediaOptions,
|
|
5084
5256
|
_options$joinOptions,
|
|
@@ -5118,34 +5290,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5118
5290
|
_context15.prev = 9;
|
|
5119
5291
|
forceTurnDiscovery = false;
|
|
5120
5292
|
if (joinResponse) {
|
|
5121
|
-
_context15.next =
|
|
5293
|
+
_context15.next = 33;
|
|
5122
5294
|
break;
|
|
5123
5295
|
}
|
|
5124
5296
|
_context15.next = 14;
|
|
5125
|
-
return this.webex.meetings.reachability.getReachabilityResults();
|
|
5126
|
-
case 14:
|
|
5127
|
-
joinOptions.reachability = _context15.sent;
|
|
5128
|
-
_context15.next = 17;
|
|
5129
5297
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5130
|
-
case
|
|
5298
|
+
case 14:
|
|
5131
5299
|
turnDiscoveryRequest = _context15.sent;
|
|
5132
5300
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5133
5301
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5134
5302
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5135
|
-
_context15.next =
|
|
5303
|
+
_context15.next = 20;
|
|
5136
5304
|
return this.join(joinOptions);
|
|
5137
|
-
case
|
|
5305
|
+
case 20:
|
|
5138
5306
|
joinResponse = _context15.sent;
|
|
5139
5307
|
joined = true;
|
|
5140
5308
|
|
|
5141
5309
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5142
5310
|
if (!joinOptions.roapMessage) {
|
|
5143
|
-
_context15.next =
|
|
5311
|
+
_context15.next = 31;
|
|
5144
5312
|
break;
|
|
5145
5313
|
}
|
|
5146
|
-
_context15.next =
|
|
5314
|
+
_context15.next = 25;
|
|
5147
5315
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5148
|
-
case
|
|
5316
|
+
case 25:
|
|
5149
5317
|
_yield$this$roap$hand = _context15.sent;
|
|
5150
5318
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5151
5319
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -5154,20 +5322,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5154
5322
|
if (turnServerInfo === undefined) {
|
|
5155
5323
|
this.roap.abortTurnDiscovery();
|
|
5156
5324
|
}
|
|
5157
|
-
case
|
|
5158
|
-
_context15.next =
|
|
5325
|
+
case 31:
|
|
5326
|
+
_context15.next = 35;
|
|
5159
5327
|
break;
|
|
5160
|
-
case
|
|
5328
|
+
case 33:
|
|
5161
5329
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
5162
5330
|
// but we need to ensure that it also does a new TURN discovery
|
|
5163
5331
|
forceTurnDiscovery = true;
|
|
5164
5332
|
joined = true;
|
|
5165
|
-
case
|
|
5166
|
-
_context15.next =
|
|
5333
|
+
case 35:
|
|
5334
|
+
_context15.next = 37;
|
|
5167
5335
|
return this.addMediaInternal(function () {
|
|
5168
|
-
return
|
|
5336
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5169
5337
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5170
|
-
case
|
|
5338
|
+
case 37:
|
|
5171
5339
|
mediaResponse = _context15.sent;
|
|
5172
5340
|
this.joinWithMediaRetryInfo = {
|
|
5173
5341
|
isRetry: false,
|
|
@@ -5177,30 +5345,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5177
5345
|
join: joinResponse,
|
|
5178
5346
|
media: mediaResponse
|
|
5179
5347
|
});
|
|
5180
|
-
case
|
|
5181
|
-
_context15.prev =
|
|
5348
|
+
case 42:
|
|
5349
|
+
_context15.prev = 42;
|
|
5182
5350
|
_context15.t0 = _context15["catch"](9);
|
|
5183
5351
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
5184
5352
|
this.roap.abortTurnDiscovery();
|
|
5185
5353
|
if (!(joined && isRetry)) {
|
|
5186
|
-
_context15.next =
|
|
5354
|
+
_context15.next = 56;
|
|
5187
5355
|
break;
|
|
5188
5356
|
}
|
|
5189
|
-
_context15.prev =
|
|
5190
|
-
_context15.next =
|
|
5357
|
+
_context15.prev = 47;
|
|
5358
|
+
_context15.next = 50;
|
|
5191
5359
|
return this.leave({
|
|
5192
5360
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5193
5361
|
reason: 'joinWithMedia failure'
|
|
5194
5362
|
});
|
|
5195
|
-
case
|
|
5196
|
-
_context15.next =
|
|
5363
|
+
case 50:
|
|
5364
|
+
_context15.next = 56;
|
|
5197
5365
|
break;
|
|
5198
|
-
case
|
|
5199
|
-
_context15.prev =
|
|
5200
|
-
_context15.t1 = _context15["catch"](
|
|
5366
|
+
case 52:
|
|
5367
|
+
_context15.prev = 52;
|
|
5368
|
+
_context15.t1 = _context15["catch"](47);
|
|
5201
5369
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
5202
5370
|
leaveError = _context15.t1;
|
|
5203
|
-
case
|
|
5371
|
+
case 56:
|
|
5204
5372
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5205
5373
|
correlation_id: this.correlationId,
|
|
5206
5374
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
@@ -5221,24 +5389,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5221
5389
|
shouldRetry = false;
|
|
5222
5390
|
}
|
|
5223
5391
|
if (!shouldRetry) {
|
|
5224
|
-
_context15.next =
|
|
5392
|
+
_context15.next = 64;
|
|
5225
5393
|
break;
|
|
5226
5394
|
}
|
|
5227
5395
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5228
5396
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5229
5397
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5230
5398
|
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5231
|
-
case
|
|
5399
|
+
case 64:
|
|
5232
5400
|
this.joinWithMediaRetryInfo = {
|
|
5233
5401
|
isRetry: false,
|
|
5234
5402
|
prevJoinResponse: undefined
|
|
5235
5403
|
};
|
|
5236
5404
|
throw _context15.t0;
|
|
5237
|
-
case
|
|
5405
|
+
case 66:
|
|
5238
5406
|
case "end":
|
|
5239
5407
|
return _context15.stop();
|
|
5240
5408
|
}
|
|
5241
|
-
}, _callee15, this, [[9,
|
|
5409
|
+
}, _callee15, this, [[9, 42], [47, 52]]);
|
|
5242
5410
|
}));
|
|
5243
5411
|
function joinWithMedia() {
|
|
5244
5412
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5257,7 +5425,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5257
5425
|
}, {
|
|
5258
5426
|
key: "reconnect",
|
|
5259
5427
|
value: function reconnect(options) {
|
|
5260
|
-
var
|
|
5428
|
+
var _this31 = this;
|
|
5261
5429
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5262
5430
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5263
5431
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5267,15 +5435,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5267
5435
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5268
5436
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5269
5437
|
}
|
|
5438
|
+
this.cleanUpBeforeReconnection();
|
|
5270
5439
|
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5271
5440
|
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5272
5441
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5273
5442
|
case 0:
|
|
5274
5443
|
_context16.next = 2;
|
|
5275
|
-
return
|
|
5444
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5276
5445
|
case 2:
|
|
5277
5446
|
_context16.next = 4;
|
|
5278
|
-
return
|
|
5447
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5279
5448
|
case 4:
|
|
5280
5449
|
case "end":
|
|
5281
5450
|
return _context16.stop();
|
|
@@ -5289,7 +5458,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5289
5458
|
return _promise.default.resolve();
|
|
5290
5459
|
}
|
|
5291
5460
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5292
|
-
|
|
5461
|
+
_this31.uploadLogs({
|
|
5293
5462
|
file: 'meeting/index',
|
|
5294
5463
|
function: 'reconnect'
|
|
5295
5464
|
});
|
|
@@ -5336,19 +5505,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5336
5505
|
}, {
|
|
5337
5506
|
key: "setCaptionLanguage",
|
|
5338
5507
|
value: function setCaptionLanguage(language) {
|
|
5339
|
-
var
|
|
5508
|
+
var _this32 = this;
|
|
5340
5509
|
return new _promise.default(function (resolve, reject) {
|
|
5341
|
-
if (!
|
|
5510
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5342
5511
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5343
5512
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5344
5513
|
}
|
|
5345
5514
|
try {
|
|
5346
5515
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5347
5516
|
// @ts-ignore
|
|
5348
|
-
|
|
5517
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5349
5518
|
var statusCode = payload.statusCode;
|
|
5350
5519
|
if (statusCode === 200) {
|
|
5351
|
-
|
|
5520
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5352
5521
|
currentCaptionLanguage: language
|
|
5353
5522
|
});
|
|
5354
5523
|
resolve(language);
|
|
@@ -5357,9 +5526,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5357
5526
|
}
|
|
5358
5527
|
};
|
|
5359
5528
|
// @ts-ignore
|
|
5360
|
-
|
|
5529
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5361
5530
|
// @ts-ignore
|
|
5362
|
-
|
|
5531
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5363
5532
|
} catch (error) {
|
|
5364
5533
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5365
5534
|
reject(error);
|
|
@@ -5375,23 +5544,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5375
5544
|
}, {
|
|
5376
5545
|
key: "setSpokenLanguage",
|
|
5377
5546
|
value: function setSpokenLanguage(language) {
|
|
5378
|
-
var
|
|
5547
|
+
var _this33 = this;
|
|
5379
5548
|
return new _promise.default(function (resolve, reject) {
|
|
5380
|
-
if (!
|
|
5549
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5381
5550
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5382
5551
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5383
5552
|
}
|
|
5384
|
-
if (
|
|
5553
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5385
5554
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5386
5555
|
reject(new Error('Only host can set spoken language'));
|
|
5387
5556
|
}
|
|
5388
5557
|
try {
|
|
5389
5558
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5390
5559
|
// @ts-ignore
|
|
5391
|
-
|
|
5560
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5392
5561
|
var languageCode = payload.languageCode;
|
|
5393
5562
|
if (languageCode) {
|
|
5394
|
-
|
|
5563
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5395
5564
|
currentSpokenLanguage: languageCode
|
|
5396
5565
|
});
|
|
5397
5566
|
resolve(languageCode);
|
|
@@ -5401,10 +5570,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5401
5570
|
};
|
|
5402
5571
|
|
|
5403
5572
|
// @ts-ignore
|
|
5404
|
-
|
|
5573
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5405
5574
|
|
|
5406
5575
|
// @ts-ignore
|
|
5407
|
-
|
|
5576
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5408
5577
|
} catch (error) {
|
|
5409
5578
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5410
5579
|
reject(error);
|
|
@@ -5524,7 +5693,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5524
5693
|
*/
|
|
5525
5694
|
function () {
|
|
5526
5695
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5527
|
-
var
|
|
5696
|
+
var _this34 = this;
|
|
5528
5697
|
var options,
|
|
5529
5698
|
errorMessage,
|
|
5530
5699
|
error,
|
|
@@ -5670,62 +5839,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5670
5839
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5671
5840
|
case 51:
|
|
5672
5841
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5673
|
-
|
|
5674
|
-
|
|
5842
|
+
_this34.meetingFiniteStateMachine.join();
|
|
5843
|
+
_this34.setupLocusMediaRequest();
|
|
5675
5844
|
|
|
5676
5845
|
// @ts-ignore
|
|
5677
|
-
|
|
5678
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5846
|
+
_this34.webex.internal.device.meetingStarted();
|
|
5847
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5679
5848
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5680
5849
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5681
|
-
correlation_id:
|
|
5850
|
+
correlation_id: _this34.correlationId
|
|
5682
5851
|
});
|
|
5683
5852
|
joinSuccess(join);
|
|
5684
|
-
|
|
5853
|
+
_this34.deferJoin = undefined;
|
|
5685
5854
|
return join;
|
|
5686
5855
|
}).catch(function (error) {
|
|
5687
|
-
var
|
|
5688
|
-
|
|
5856
|
+
var _this34$meetingInfo, _error$error;
|
|
5857
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
5689
5858
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5690
5859
|
|
|
5691
5860
|
// @ts-ignore
|
|
5692
|
-
|
|
5861
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
5693
5862
|
name: 'client.locus.join.response',
|
|
5694
5863
|
payload: {
|
|
5695
5864
|
identifiers: {
|
|
5696
|
-
meetingLookupUrl: (
|
|
5865
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
5697
5866
|
}
|
|
5698
5867
|
},
|
|
5699
5868
|
options: {
|
|
5700
|
-
meetingId:
|
|
5869
|
+
meetingId: _this34.id,
|
|
5701
5870
|
rawError: error
|
|
5702
5871
|
}
|
|
5703
5872
|
});
|
|
5704
5873
|
|
|
5705
5874
|
// TODO: change this to error codes and pre defined dictionary
|
|
5706
5875
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5707
|
-
correlation_id:
|
|
5876
|
+
correlation_id: _this34.correlationId,
|
|
5708
5877
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5709
5878
|
stack: error.stack
|
|
5710
5879
|
});
|
|
5711
5880
|
|
|
5712
5881
|
// Upload logs on join Failure
|
|
5713
|
-
_triggerProxy.default.trigger(
|
|
5882
|
+
_triggerProxy.default.trigger(_this34, {
|
|
5714
5883
|
file: 'meeting/index',
|
|
5715
5884
|
function: 'join'
|
|
5716
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5885
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
5717
5886
|
joinFailed(error);
|
|
5718
|
-
|
|
5887
|
+
_this34.deferJoin = undefined;
|
|
5719
5888
|
return _promise.default.reject(error);
|
|
5720
5889
|
}).then(function (join) {
|
|
5721
5890
|
// @ts-ignore - config coming from registerPlugin
|
|
5722
|
-
if (
|
|
5891
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
5723
5892
|
// @ts-ignore
|
|
5724
|
-
|
|
5725
|
-
|
|
5893
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
5894
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
5726
5895
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5727
5896
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5728
|
-
correlation_id:
|
|
5897
|
+
correlation_id: _this34.correlationId,
|
|
5729
5898
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5730
5899
|
stack: error.stack
|
|
5731
5900
|
});
|
|
@@ -5757,7 +5926,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5757
5926
|
key: "updateLLMConnection",
|
|
5758
5927
|
value: (function () {
|
|
5759
5928
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5760
|
-
var
|
|
5929
|
+
var _this35 = this;
|
|
5761
5930
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5762
5931
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5763
5932
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5793,9 +5962,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5793
5962
|
case 10:
|
|
5794
5963
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5795
5964
|
// @ts-ignore - Fix type
|
|
5796
|
-
|
|
5965
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
5797
5966
|
// @ts-ignore - Fix type
|
|
5798
|
-
|
|
5967
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
5799
5968
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5800
5969
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5801
5970
|
}));
|
|
@@ -5849,7 +6018,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5849
6018
|
}, {
|
|
5850
6019
|
key: "dialInPstn",
|
|
5851
6020
|
value: function dialInPstn() {
|
|
5852
|
-
var
|
|
6021
|
+
var _this36 = this;
|
|
5853
6022
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5854
6023
|
|
|
5855
6024
|
var correlationId = this.correlationId,
|
|
@@ -5865,10 +6034,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5865
6034
|
}).catch(function (error) {
|
|
5866
6035
|
var _error$error2;
|
|
5867
6036
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5868
|
-
correlation_id:
|
|
5869
|
-
dial_in_url:
|
|
6037
|
+
correlation_id: _this36.correlationId,
|
|
6038
|
+
dial_in_url: _this36.dialInUrl,
|
|
5870
6039
|
locus_id: locusUrl.split('/').pop(),
|
|
5871
|
-
client_url:
|
|
6040
|
+
client_url: _this36.deviceUrl,
|
|
5872
6041
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5873
6042
|
stack: error.stack
|
|
5874
6043
|
});
|
|
@@ -5886,7 +6055,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5886
6055
|
}, {
|
|
5887
6056
|
key: "dialOutPstn",
|
|
5888
6057
|
value: function dialOutPstn(phoneNumber) {
|
|
5889
|
-
var
|
|
6058
|
+
var _this37 = this;
|
|
5890
6059
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5891
6060
|
|
|
5892
6061
|
var correlationId = this.correlationId,
|
|
@@ -5903,10 +6072,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5903
6072
|
}).catch(function (error) {
|
|
5904
6073
|
var _error$error3;
|
|
5905
6074
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5906
|
-
correlation_id:
|
|
5907
|
-
dial_out_url:
|
|
6075
|
+
correlation_id: _this37.correlationId,
|
|
6076
|
+
dial_out_url: _this37.dialOutUrl,
|
|
5908
6077
|
locus_id: locusUrl.split('/').pop(),
|
|
5909
|
-
client_url:
|
|
6078
|
+
client_url: _this37.deviceUrl,
|
|
5910
6079
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5911
6080
|
stack: error.stack
|
|
5912
6081
|
});
|
|
@@ -5937,7 +6106,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5937
6106
|
}, {
|
|
5938
6107
|
key: "moveTo",
|
|
5939
6108
|
value: function moveTo(resourceId) {
|
|
5940
|
-
var
|
|
6109
|
+
var _this38 = this;
|
|
5941
6110
|
if (!resourceId) {
|
|
5942
6111
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5943
6112
|
}
|
|
@@ -5981,12 +6150,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5981
6150
|
while (1) switch (_context20.prev = _context20.next) {
|
|
5982
6151
|
case 0:
|
|
5983
6152
|
_context20.prev = 0;
|
|
5984
|
-
if (!(
|
|
6153
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5985
6154
|
_context20.next = 4;
|
|
5986
6155
|
break;
|
|
5987
6156
|
}
|
|
5988
6157
|
_context20.next = 4;
|
|
5989
|
-
return
|
|
6158
|
+
return _this38.releaseScreenShareFloor();
|
|
5990
6159
|
case 4:
|
|
5991
6160
|
mediaSettings = {
|
|
5992
6161
|
mediaDirection: {
|
|
@@ -5998,37 +6167,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5998
6167
|
receiveShare: true
|
|
5999
6168
|
}
|
|
6000
6169
|
};
|
|
6001
|
-
|
|
6002
|
-
|
|
6170
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6171
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6003
6172
|
|
|
6004
6173
|
// 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
6174
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6006
|
-
if (!
|
|
6175
|
+
if (!_this38.statsAnalyzer) {
|
|
6007
6176
|
_context20.next = 10;
|
|
6008
6177
|
break;
|
|
6009
6178
|
}
|
|
6010
6179
|
_context20.next = 10;
|
|
6011
|
-
return
|
|
6180
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6012
6181
|
case 10:
|
|
6013
6182
|
_context20.next = 12;
|
|
6014
|
-
return
|
|
6183
|
+
return _this38.closeRemoteStreams();
|
|
6015
6184
|
case 12:
|
|
6016
6185
|
_context20.next = 14;
|
|
6017
|
-
return
|
|
6186
|
+
return _this38.closePeerConnections();
|
|
6018
6187
|
case 14:
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6188
|
+
_this38.cleanupLocalStreams();
|
|
6189
|
+
_this38.unsetRemoteStreams();
|
|
6190
|
+
_this38.unsetPeerConnections();
|
|
6191
|
+
_this38.reconnectionManager.cleanUp();
|
|
6023
6192
|
_context20.next = 20;
|
|
6024
|
-
return
|
|
6193
|
+
return _this38.addMedia({
|
|
6025
6194
|
audioEnabled: false,
|
|
6026
6195
|
videoEnabled: false,
|
|
6027
6196
|
shareVideoEnabled: true
|
|
6028
6197
|
});
|
|
6029
6198
|
case 20:
|
|
6030
6199
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6031
|
-
|
|
6200
|
+
_this38.isMoveToInProgress = false;
|
|
6032
6201
|
_context20.next = 29;
|
|
6033
6202
|
break;
|
|
6034
6203
|
case 24:
|
|
@@ -6036,12 +6205,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6036
6205
|
_context20.t0 = _context20["catch"](0);
|
|
6037
6206
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6038
6207
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6039
|
-
correlation_id:
|
|
6040
|
-
locus_id:
|
|
6208
|
+
correlation_id: _this38.correlationId,
|
|
6209
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6041
6210
|
reason: _context20.t0.message,
|
|
6042
6211
|
stack: _context20.t0.stack
|
|
6043
6212
|
});
|
|
6044
|
-
|
|
6213
|
+
_this38.isMoveToInProgress = false;
|
|
6045
6214
|
case 29:
|
|
6046
6215
|
case "end":
|
|
6047
6216
|
return _context20.stop();
|
|
@@ -6057,17 +6226,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6057
6226
|
resourceId: resourceId,
|
|
6058
6227
|
moveToResource: true
|
|
6059
6228
|
}).then(function () {
|
|
6060
|
-
|
|
6229
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6061
6230
|
}).catch(function (error) {
|
|
6062
|
-
|
|
6231
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6063
6232
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6064
|
-
correlation_id:
|
|
6065
|
-
locus_id:
|
|
6233
|
+
correlation_id: _this38.correlationId,
|
|
6234
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6066
6235
|
reason: error.message,
|
|
6067
6236
|
stack: error.stack
|
|
6068
6237
|
});
|
|
6069
6238
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6070
|
-
|
|
6239
|
+
_this38.isMoveToInProgress = false;
|
|
6071
6240
|
return _promise.default.reject(error);
|
|
6072
6241
|
});
|
|
6073
6242
|
}
|
|
@@ -6082,7 +6251,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6082
6251
|
}, {
|
|
6083
6252
|
key: "moveFrom",
|
|
6084
6253
|
value: function moveFrom(resourceId) {
|
|
6085
|
-
var
|
|
6254
|
+
var _this39 = this;
|
|
6086
6255
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6087
6256
|
if (!resourceId) {
|
|
6088
6257
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6097,19 +6266,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6097
6266
|
}
|
|
6098
6267
|
});
|
|
6099
6268
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6100
|
-
return _util2.default.leaveMeeting(
|
|
6269
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6101
6270
|
resourceId: resourceId,
|
|
6102
6271
|
correlationId: oldCorrelationId,
|
|
6103
6272
|
moveMeeting: true
|
|
6104
6273
|
}).then(function () {
|
|
6105
|
-
|
|
6274
|
+
_this39.resourceId = '';
|
|
6106
6275
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6107
6276
|
});
|
|
6108
6277
|
}).catch(function (error) {
|
|
6109
|
-
|
|
6278
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6110
6279
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6111
|
-
correlation_id:
|
|
6112
|
-
locus_id:
|
|
6280
|
+
correlation_id: _this39.correlationId,
|
|
6281
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6113
6282
|
reason: error.message,
|
|
6114
6283
|
stack: error.stack
|
|
6115
6284
|
});
|
|
@@ -6222,9 +6391,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6222
6391
|
}, {
|
|
6223
6392
|
key: "forwardEvent",
|
|
6224
6393
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6225
|
-
var
|
|
6394
|
+
var _this40 = this;
|
|
6226
6395
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6227
|
-
return _triggerProxy.default.trigger(
|
|
6396
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6228
6397
|
file: 'meetings',
|
|
6229
6398
|
function: 'addMedia'
|
|
6230
6399
|
}, meetingEventType, data);
|
|
@@ -6411,7 +6580,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6411
6580
|
*/
|
|
6412
6581
|
function () {
|
|
6413
6582
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6414
|
-
var
|
|
6583
|
+
var _this41 = this;
|
|
6415
6584
|
var LOG_HEADER, deferSDPAnswer;
|
|
6416
6585
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6417
6586
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6428,18 +6597,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6428
6597
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6429
6598
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6430
6599
|
// @ts-ignore
|
|
6431
|
-
|
|
6600
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6432
6601
|
name: 'client.media-engine.remote-sdp-received',
|
|
6433
6602
|
payload: {
|
|
6434
6603
|
canProceed: false,
|
|
6435
6604
|
errors: [
|
|
6436
6605
|
// @ts-ignore
|
|
6437
|
-
|
|
6606
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6438
6607
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6439
6608
|
})]
|
|
6440
6609
|
},
|
|
6441
6610
|
options: {
|
|
6442
|
-
meetingId:
|
|
6611
|
+
meetingId: _this41.id,
|
|
6443
6612
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6444
6613
|
}
|
|
6445
6614
|
});
|
|
@@ -6825,6 +6994,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6825
6994
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
6826
6995
|
}
|
|
6827
6996
|
return cleanUpBeforeRetryWithTurnServer;
|
|
6997
|
+
}())
|
|
6998
|
+
}, {
|
|
6999
|
+
key: "cleanUpBeforeReconnection",
|
|
7000
|
+
value: function () {
|
|
7001
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7002
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
7003
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7004
|
+
case 0:
|
|
7005
|
+
_context32.prev = 0;
|
|
7006
|
+
_context32.next = 3;
|
|
7007
|
+
return this.forceSendStatsReport({
|
|
7008
|
+
callFrom: 'cleanUpBeforeReconnection'
|
|
7009
|
+
});
|
|
7010
|
+
case 3:
|
|
7011
|
+
if (!this.statsAnalyzer) {
|
|
7012
|
+
_context32.next = 6;
|
|
7013
|
+
break;
|
|
7014
|
+
}
|
|
7015
|
+
_context32.next = 6;
|
|
7016
|
+
return this.statsAnalyzer.stopAnalyzer();
|
|
7017
|
+
case 6:
|
|
7018
|
+
_context32.next = 11;
|
|
7019
|
+
break;
|
|
7020
|
+
case 8:
|
|
7021
|
+
_context32.prev = 8;
|
|
7022
|
+
_context32.t0 = _context32["catch"](0);
|
|
7023
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context32.t0);
|
|
7024
|
+
case 11:
|
|
7025
|
+
case "end":
|
|
7026
|
+
return _context32.stop();
|
|
7027
|
+
}
|
|
7028
|
+
}, _callee32, this, [[0, 8]]);
|
|
7029
|
+
}));
|
|
7030
|
+
function cleanUpBeforeReconnection() {
|
|
7031
|
+
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
7032
|
+
}
|
|
7033
|
+
return cleanUpBeforeReconnection;
|
|
6828
7034
|
}()
|
|
6829
7035
|
/**
|
|
6830
7036
|
* Creates an instance of LocusMediaRequest for this meeting - it is needed for doing any calls
|
|
@@ -6832,7 +7038,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6832
7038
|
*
|
|
6833
7039
|
* @returns {void}
|
|
6834
7040
|
*/
|
|
6835
|
-
)
|
|
6836
7041
|
}, {
|
|
6837
7042
|
key: "setupLocusMediaRequest",
|
|
6838
7043
|
value: function setupLocusMediaRequest() {
|
|
@@ -6867,10 +7072,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6867
7072
|
}, {
|
|
6868
7073
|
key: "addMedia",
|
|
6869
7074
|
value: function addMedia() {
|
|
6870
|
-
var
|
|
7075
|
+
var _this42 = this;
|
|
6871
7076
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6872
7077
|
return this.addMediaInternal(function () {
|
|
6873
|
-
return
|
|
7078
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
6874
7079
|
}, undefined, false, options);
|
|
6875
7080
|
}
|
|
6876
7081
|
|
|
@@ -6888,7 +7093,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6888
7093
|
}, {
|
|
6889
7094
|
key: "addMediaInternal",
|
|
6890
7095
|
value: (function () {
|
|
6891
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7096
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
6892
7097
|
var options,
|
|
6893
7098
|
LOG_HEADER,
|
|
6894
7099
|
localStreams,
|
|
@@ -6901,6 +7106,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6901
7106
|
_options$shareVideoEn,
|
|
6902
7107
|
shareVideoEnabled,
|
|
6903
7108
|
remoteMediaManagerConfig,
|
|
7109
|
+
_options$bundlePolicy,
|
|
6904
7110
|
bundlePolicy,
|
|
6905
7111
|
_this$remoteMediaMana,
|
|
6906
7112
|
_yield$this$mediaProp,
|
|
@@ -6935,35 +7141,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6935
7141
|
_selectedCandidatePairChanges,
|
|
6936
7142
|
_numTransports,
|
|
6937
7143
|
_iceCandidateErrors,
|
|
6938
|
-
|
|
6939
|
-
return _regenerator.default.wrap(function
|
|
6940
|
-
while (1) switch (
|
|
7144
|
+
_args33 = arguments;
|
|
7145
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7146
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6941
7147
|
case 0:
|
|
6942
|
-
options =
|
|
7148
|
+
options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
|
|
6943
7149
|
this.addMediaData.retriedWithTurnServer = false;
|
|
6944
7150
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
6945
7151
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6946
7152
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6947
7153
|
_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
7154
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6949
|
-
|
|
7155
|
+
_context33.next = 8;
|
|
6950
7156
|
break;
|
|
6951
7157
|
}
|
|
6952
7158
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6953
7159
|
case 8:
|
|
6954
7160
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6955
|
-
|
|
7161
|
+
_context33.next = 10;
|
|
6956
7162
|
break;
|
|
6957
7163
|
}
|
|
6958
7164
|
throw new _webexErrors.UserNotJoinedError();
|
|
6959
7165
|
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;
|
|
7166
|
+
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
7167
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6962
7168
|
|
|
6963
7169
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6964
7170
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6965
7171
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6966
|
-
|
|
7172
|
+
_context33.next = 14;
|
|
6967
7173
|
break;
|
|
6968
7174
|
}
|
|
6969
7175
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7006,45 +7212,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7006
7212
|
});
|
|
7007
7213
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7008
7214
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7009
|
-
|
|
7010
|
-
|
|
7215
|
+
_context33.prev = 18;
|
|
7216
|
+
_context33.next = 21;
|
|
7011
7217
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7012
7218
|
case 21:
|
|
7013
7219
|
this.setMercuryListener();
|
|
7014
7220
|
this.createStatsAnalyzer();
|
|
7015
|
-
|
|
7221
|
+
_context33.next = 25;
|
|
7016
7222
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7017
7223
|
case 25:
|
|
7018
7224
|
if (!(audioEnabled || videoEnabled)) {
|
|
7019
|
-
|
|
7225
|
+
_context33.next = 30;
|
|
7020
7226
|
break;
|
|
7021
7227
|
}
|
|
7022
|
-
|
|
7228
|
+
_context33.next = 28;
|
|
7023
7229
|
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
7024
7230
|
case 28:
|
|
7025
|
-
|
|
7231
|
+
_context33.next = 31;
|
|
7026
7232
|
break;
|
|
7027
7233
|
case 30:
|
|
7028
7234
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
7029
7235
|
case 31:
|
|
7030
7236
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7031
|
-
|
|
7237
|
+
_context33.next = 34;
|
|
7032
7238
|
break;
|
|
7033
7239
|
}
|
|
7034
|
-
|
|
7240
|
+
_context33.next = 34;
|
|
7035
7241
|
return this.enqueueScreenShareFloorRequest();
|
|
7036
7242
|
case 34:
|
|
7037
|
-
|
|
7243
|
+
_context33.next = 36;
|
|
7038
7244
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7039
7245
|
case 36:
|
|
7040
|
-
_yield$this$mediaProp =
|
|
7246
|
+
_yield$this$mediaProp = _context33.sent;
|
|
7041
7247
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7042
7248
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7043
7249
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7044
|
-
|
|
7250
|
+
_context33.next = 42;
|
|
7045
7251
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7046
7252
|
case 42:
|
|
7047
|
-
reachabilityStats =
|
|
7253
|
+
reachabilityStats = _context33.sent;
|
|
7048
7254
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7049
7255
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
7050
7256
|
correlation_id: this.correlationId,
|
|
@@ -7069,31 +7275,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7069
7275
|
|
|
7070
7276
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7071
7277
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7072
|
-
|
|
7278
|
+
this.startPeriodicLogUpload();
|
|
7279
|
+
_context33.next = 69;
|
|
7073
7280
|
break;
|
|
7074
|
-
case
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
7281
|
+
case 51:
|
|
7282
|
+
_context33.prev = 51;
|
|
7283
|
+
_context33.t0 = _context33["catch"](18);
|
|
7284
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7078
7285
|
|
|
7079
7286
|
// @ts-ignore
|
|
7080
|
-
|
|
7287
|
+
_context33.next = 56;
|
|
7081
7288
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7082
|
-
case
|
|
7083
|
-
reachabilityMetrics =
|
|
7084
|
-
|
|
7289
|
+
case 56:
|
|
7290
|
+
reachabilityMetrics = _context33.sent;
|
|
7291
|
+
_context33.next = 59;
|
|
7085
7292
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7086
|
-
case
|
|
7087
|
-
_yield$this$mediaProp2 =
|
|
7293
|
+
case 59:
|
|
7294
|
+
_yield$this$mediaProp2 = _context33.sent;
|
|
7088
7295
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7089
7296
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7090
7297
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7091
7298
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7092
7299
|
correlation_id: this.correlationId,
|
|
7093
7300
|
locus_id: this.locusUrl.split('/').pop(),
|
|
7094
|
-
reason:
|
|
7095
|
-
stack:
|
|
7096
|
-
code:
|
|
7301
|
+
reason: _context33.t0.message,
|
|
7302
|
+
stack: _context33.t0.stack,
|
|
7303
|
+
code: _context33.t0.code,
|
|
7097
7304
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
7098
7305
|
numTransports: _numTransports,
|
|
7099
7306
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -7107,29 +7314,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7107
7314
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7108
7315
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7109
7316
|
}));
|
|
7110
|
-
|
|
7317
|
+
_context33.next = 66;
|
|
7111
7318
|
return this.cleanUpOnAddMediaFailure();
|
|
7112
|
-
case
|
|
7319
|
+
case 66:
|
|
7113
7320
|
// Upload logs on error while adding media
|
|
7114
7321
|
_triggerProxy.default.trigger(this, {
|
|
7115
7322
|
file: 'meeting/index',
|
|
7116
7323
|
function: 'addMedia'
|
|
7117
7324
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
7118
|
-
if (
|
|
7325
|
+
if (_context33.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
7119
7326
|
this.leave({
|
|
7120
7327
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
7121
7328
|
});
|
|
7122
7329
|
}
|
|
7123
|
-
throw
|
|
7124
|
-
case
|
|
7125
|
-
|
|
7330
|
+
throw _context33.t0;
|
|
7331
|
+
case 69:
|
|
7332
|
+
_context33.prev = 69;
|
|
7126
7333
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7127
|
-
return
|
|
7128
|
-
case
|
|
7334
|
+
return _context33.finish(69);
|
|
7335
|
+
case 72:
|
|
7129
7336
|
case "end":
|
|
7130
|
-
return
|
|
7337
|
+
return _context33.stop();
|
|
7131
7338
|
}
|
|
7132
|
-
},
|
|
7339
|
+
}, _callee33, this, [[18, 51, 69, 72]]);
|
|
7133
7340
|
}));
|
|
7134
7341
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7135
7342
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7161,7 +7368,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7161
7368
|
* @memberof Meeting
|
|
7162
7369
|
*/
|
|
7163
7370
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7164
|
-
var
|
|
7371
|
+
var _this43 = this;
|
|
7165
7372
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7166
7373
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7167
7374
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7172,9 +7379,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7172
7379
|
options: options
|
|
7173
7380
|
};
|
|
7174
7381
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7175
|
-
|
|
7382
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7176
7383
|
if (canUpdateMediaNow) {
|
|
7177
|
-
|
|
7384
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7178
7385
|
}
|
|
7179
7386
|
});
|
|
7180
7387
|
}
|
|
@@ -7197,35 +7404,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7197
7404
|
* @memberof Meeting
|
|
7198
7405
|
*/
|
|
7199
7406
|
function () {
|
|
7200
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7407
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
|
|
7201
7408
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
7202
|
-
return _regenerator.default.wrap(function
|
|
7203
|
-
while (1) switch (
|
|
7409
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7410
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7204
7411
|
case 0:
|
|
7205
7412
|
this.checkMediaConnection();
|
|
7206
7413
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
7207
7414
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
7208
7415
|
if (this.canUpdateMedia()) {
|
|
7209
|
-
|
|
7416
|
+
_context34.next = 5;
|
|
7210
7417
|
break;
|
|
7211
7418
|
}
|
|
7212
|
-
return
|
|
7419
|
+
return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
7213
7420
|
case 5:
|
|
7214
7421
|
if (!this.isMultistream) {
|
|
7215
|
-
|
|
7422
|
+
_context34.next = 10;
|
|
7216
7423
|
break;
|
|
7217
7424
|
}
|
|
7218
7425
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
7219
|
-
|
|
7426
|
+
_context34.next = 8;
|
|
7220
7427
|
break;
|
|
7221
7428
|
}
|
|
7222
7429
|
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
7430
|
case 8:
|
|
7224
|
-
|
|
7431
|
+
_context34.next = 12;
|
|
7225
7432
|
break;
|
|
7226
7433
|
case 10:
|
|
7227
7434
|
if (!(shareAudioEnabled !== undefined)) {
|
|
7228
|
-
|
|
7435
|
+
_context34.next = 12;
|
|
7229
7436
|
break;
|
|
7230
7437
|
}
|
|
7231
7438
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -7250,18 +7457,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7250
7457
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
7251
7458
|
}
|
|
7252
7459
|
if (this.isMultistream) {
|
|
7253
|
-
|
|
7460
|
+
_context34.next = 18;
|
|
7254
7461
|
break;
|
|
7255
7462
|
}
|
|
7256
|
-
|
|
7463
|
+
_context34.next = 18;
|
|
7257
7464
|
return this.updateTranscodedMediaConnection();
|
|
7258
7465
|
case 18:
|
|
7259
|
-
return
|
|
7466
|
+
return _context34.abrupt("return", undefined);
|
|
7260
7467
|
case 19:
|
|
7261
7468
|
case "end":
|
|
7262
|
-
return
|
|
7469
|
+
return _context34.stop();
|
|
7263
7470
|
}
|
|
7264
|
-
},
|
|
7471
|
+
}, _callee34, this);
|
|
7265
7472
|
}));
|
|
7266
7473
|
function updateMedia(_x35) {
|
|
7267
7474
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7279,7 +7486,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7279
7486
|
}, {
|
|
7280
7487
|
key: "acknowledge",
|
|
7281
7488
|
value: function acknowledge(type) {
|
|
7282
|
-
var
|
|
7489
|
+
var _this44 = this;
|
|
7283
7490
|
if (!type) {
|
|
7284
7491
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7285
7492
|
}
|
|
@@ -7291,12 +7498,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7291
7498
|
}).then(function (response) {
|
|
7292
7499
|
return _promise.default.resolve(response);
|
|
7293
7500
|
}).then(function (response) {
|
|
7294
|
-
|
|
7501
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7295
7502
|
// @ts-ignore
|
|
7296
|
-
|
|
7503
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7297
7504
|
name: 'client.alert.displayed',
|
|
7298
7505
|
options: {
|
|
7299
|
-
meetingId:
|
|
7506
|
+
meetingId: _this44.id
|
|
7300
7507
|
}
|
|
7301
7508
|
});
|
|
7302
7509
|
return _promise.default.resolve({
|
|
@@ -7321,12 +7528,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7321
7528
|
}, {
|
|
7322
7529
|
key: "decline",
|
|
7323
7530
|
value: function decline(reason) {
|
|
7324
|
-
var
|
|
7531
|
+
var _this45 = this;
|
|
7325
7532
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7326
|
-
|
|
7533
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7327
7534
|
return _promise.default.resolve(decline);
|
|
7328
7535
|
}).catch(function (error) {
|
|
7329
|
-
|
|
7536
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7330
7537
|
return _promise.default.reject(error);
|
|
7331
7538
|
});
|
|
7332
7539
|
}
|
|
@@ -7377,7 +7584,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7377
7584
|
}, {
|
|
7378
7585
|
key: "leave",
|
|
7379
7586
|
value: function leave() {
|
|
7380
|
-
var
|
|
7587
|
+
var _this46 = this;
|
|
7381
7588
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7382
7589
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7383
7590
|
|
|
@@ -7389,7 +7596,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7389
7596
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7390
7597
|
return (
|
|
7391
7598
|
// @ts-ignore
|
|
7392
|
-
|
|
7599
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7393
7600
|
name: 'client.call.leave',
|
|
7394
7601
|
payload: _objectSpread({
|
|
7395
7602
|
trigger: 'user-interaction',
|
|
@@ -7397,7 +7604,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7397
7604
|
leaveReason: options.clientEventLeaveReason
|
|
7398
7605
|
}, payload),
|
|
7399
7606
|
options: {
|
|
7400
|
-
meetingId:
|
|
7607
|
+
meetingId: _this46.id
|
|
7401
7608
|
}
|
|
7402
7609
|
})
|
|
7403
7610
|
);
|
|
@@ -7406,24 +7613,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7406
7613
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7407
7614
|
// CA team recommends submitting this *after* locus /leave
|
|
7408
7615
|
submitLeaveMetric();
|
|
7409
|
-
|
|
7410
|
-
|
|
7616
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7617
|
+
_this46.clearMeetingData();
|
|
7411
7618
|
|
|
7412
7619
|
// upload logs on leave irrespective of meeting delete
|
|
7413
|
-
_triggerProxy.default.trigger(
|
|
7620
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7414
7621
|
file: 'meeting/index',
|
|
7415
7622
|
function: 'leave'
|
|
7416
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7623
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7417
7624
|
|
|
7418
7625
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7419
|
-
if (
|
|
7626
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7420
7627
|
// If screen sharing clean the meeting object
|
|
7421
|
-
_triggerProxy.default.trigger(
|
|
7628
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7422
7629
|
file: 'meeting/index',
|
|
7423
7630
|
function: 'leave'
|
|
7424
7631
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7425
7632
|
reason: options.reason,
|
|
7426
|
-
meetingId:
|
|
7633
|
+
meetingId: _this46.id
|
|
7427
7634
|
});
|
|
7428
7635
|
}
|
|
7429
7636
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7440,16 +7647,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7440
7647
|
shownToUser: false
|
|
7441
7648
|
}]
|
|
7442
7649
|
});
|
|
7443
|
-
|
|
7650
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7444
7651
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7445
7652
|
// upload logs on leave irrespective of meeting delete
|
|
7446
|
-
_triggerProxy.default.trigger(
|
|
7653
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7447
7654
|
file: 'meeting/index',
|
|
7448
7655
|
function: 'leave'
|
|
7449
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7656
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7450
7657
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7451
|
-
correlation_id:
|
|
7452
|
-
locus_id:
|
|
7658
|
+
correlation_id: _this46.correlationId,
|
|
7659
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7453
7660
|
reason: error.message,
|
|
7454
7661
|
stack: error.stack,
|
|
7455
7662
|
code: error.code
|
|
@@ -7469,7 +7676,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7469
7676
|
}, {
|
|
7470
7677
|
key: "startWhiteboardShare",
|
|
7471
7678
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7472
|
-
var
|
|
7679
|
+
var _this47 = this;
|
|
7473
7680
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7474
7681
|
return element.name === 'whiteboard';
|
|
7475
7682
|
});
|
|
@@ -7498,13 +7705,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7498
7705
|
body.resourceToken = resourceToken;
|
|
7499
7706
|
}
|
|
7500
7707
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7501
|
-
|
|
7708
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7502
7709
|
return _promise.default.resolve();
|
|
7503
7710
|
}).catch(function (error) {
|
|
7504
7711
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7505
7712
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7506
|
-
correlation_id:
|
|
7507
|
-
locus_id:
|
|
7713
|
+
correlation_id: _this47.correlationId,
|
|
7714
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7508
7715
|
reason: error.message,
|
|
7509
7716
|
stack: error.stack,
|
|
7510
7717
|
board: {
|
|
@@ -7527,7 +7734,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7527
7734
|
}, {
|
|
7528
7735
|
key: "stopWhiteboardShare",
|
|
7529
7736
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7530
|
-
var
|
|
7737
|
+
var _this48 = this;
|
|
7531
7738
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7532
7739
|
return element.name === 'whiteboard';
|
|
7533
7740
|
});
|
|
@@ -7550,8 +7757,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7550
7757
|
}).catch(function (error) {
|
|
7551
7758
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7552
7759
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7553
|
-
correlation_id:
|
|
7554
|
-
locus_id:
|
|
7760
|
+
correlation_id: _this48.correlationId,
|
|
7761
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7555
7762
|
reason: error.message,
|
|
7556
7763
|
stack: error.stack,
|
|
7557
7764
|
board: {
|
|
@@ -7573,7 +7780,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7573
7780
|
}, {
|
|
7574
7781
|
key: "requestScreenShareFloor",
|
|
7575
7782
|
value: function requestScreenShareFloor() {
|
|
7576
|
-
var
|
|
7783
|
+
var _this49 = this;
|
|
7577
7784
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7578
7785
|
_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
7786
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7604,34 +7811,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7604
7811
|
resourceUrl: this.resourceUrl,
|
|
7605
7812
|
shareInstanceId: this.localShareInstanceId
|
|
7606
7813
|
}).then(function () {
|
|
7607
|
-
|
|
7814
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7608
7815
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7609
|
-
correlation_id:
|
|
7610
|
-
locus_id:
|
|
7816
|
+
correlation_id: _this49.correlationId,
|
|
7817
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
7611
7818
|
});
|
|
7612
7819
|
return _promise.default.resolve();
|
|
7613
7820
|
}).catch(function (error) {
|
|
7614
7821
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7615
7822
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7616
|
-
correlation_id:
|
|
7617
|
-
locus_id:
|
|
7823
|
+
correlation_id: _this49.correlationId,
|
|
7824
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7618
7825
|
reason: error.message,
|
|
7619
7826
|
stack: error.stack
|
|
7620
7827
|
});
|
|
7621
7828
|
|
|
7622
7829
|
// @ts-ignore
|
|
7623
|
-
|
|
7830
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
7624
7831
|
name: 'client.share.floor-granted.local',
|
|
7625
7832
|
payload: {
|
|
7626
7833
|
mediaType: 'share',
|
|
7627
7834
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7628
|
-
shareInstanceId:
|
|
7835
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
7629
7836
|
},
|
|
7630
7837
|
options: {
|
|
7631
|
-
meetingId:
|
|
7838
|
+
meetingId: _this49.id
|
|
7632
7839
|
}
|
|
7633
7840
|
});
|
|
7634
|
-
|
|
7841
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7635
7842
|
return _promise.default.reject(error);
|
|
7636
7843
|
});
|
|
7637
7844
|
}
|
|
@@ -7654,10 +7861,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7654
7861
|
}, {
|
|
7655
7862
|
key: "requestScreenShareFloorIfPending",
|
|
7656
7863
|
value: function requestScreenShareFloorIfPending() {
|
|
7657
|
-
var
|
|
7864
|
+
var _this50 = this;
|
|
7658
7865
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7659
7866
|
this.requestScreenShareFloor().then(function () {
|
|
7660
|
-
|
|
7867
|
+
_this50.floorGrantPending = false;
|
|
7661
7868
|
});
|
|
7662
7869
|
}
|
|
7663
7870
|
}
|
|
@@ -7671,7 +7878,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7671
7878
|
}, {
|
|
7672
7879
|
key: "releaseScreenShareFloor",
|
|
7673
7880
|
value: function releaseScreenShareFloor() {
|
|
7674
|
-
var
|
|
7881
|
+
var _this51 = this;
|
|
7675
7882
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7676
7883
|
return element.name === _constants.CONTENT;
|
|
7677
7884
|
});
|
|
@@ -7706,8 +7913,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7706
7913
|
}).catch(function (error) {
|
|
7707
7914
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7708
7915
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7709
|
-
correlation_id:
|
|
7710
|
-
locus_id:
|
|
7916
|
+
correlation_id: _this51.correlationId,
|
|
7917
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
7711
7918
|
reason: error.message,
|
|
7712
7919
|
stack: error.stack
|
|
7713
7920
|
});
|
|
@@ -7763,13 +7970,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7763
7970
|
* @param {boolean} mutedEnabled
|
|
7764
7971
|
* @param {boolean} disallowUnmuteEnabled
|
|
7765
7972
|
* @param {boolean} muteOnEntryEnabled
|
|
7973
|
+
* @param {array} roles
|
|
7766
7974
|
* @public
|
|
7767
7975
|
* @memberof Meeting
|
|
7768
7976
|
*/
|
|
7769
7977
|
}, {
|
|
7770
7978
|
key: "setMuteAll",
|
|
7771
|
-
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled) {
|
|
7772
|
-
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled);
|
|
7979
|
+
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles) {
|
|
7980
|
+
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles);
|
|
7773
7981
|
}
|
|
7774
7982
|
|
|
7775
7983
|
/**
|
|
@@ -7886,7 +8094,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7886
8094
|
}, {
|
|
7887
8095
|
key: "changeVideoLayout",
|
|
7888
8096
|
value: function changeVideoLayout(layoutType) {
|
|
7889
|
-
var
|
|
8097
|
+
var _this52 = this;
|
|
7890
8098
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7891
8099
|
var main = renderInfo.main,
|
|
7892
8100
|
content = renderInfo.content;
|
|
@@ -7940,7 +8148,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7940
8148
|
}
|
|
7941
8149
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7942
8150
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7943
|
-
_triggerProxy.default.trigger(
|
|
8151
|
+
_triggerProxy.default.trigger(_this52, {
|
|
7944
8152
|
file: 'meeting/index',
|
|
7945
8153
|
function: 'changeVideoLayout'
|
|
7946
8154
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8056,7 +8264,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8056
8264
|
}, {
|
|
8057
8265
|
key: "endMeetingForAll",
|
|
8058
8266
|
value: function endMeetingForAll() {
|
|
8059
|
-
var
|
|
8267
|
+
var _this53 = this;
|
|
8060
8268
|
// @ts-ignore
|
|
8061
8269
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8062
8270
|
name: 'client.call.leave',
|
|
@@ -8074,25 +8282,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8074
8282
|
locus_id: this.locusId
|
|
8075
8283
|
});
|
|
8076
8284
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8077
|
-
|
|
8078
|
-
|
|
8285
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8286
|
+
_this53.clearMeetingData();
|
|
8079
8287
|
// upload logs on leave irrespective of meeting delete
|
|
8080
|
-
_triggerProxy.default.trigger(
|
|
8288
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8081
8289
|
file: 'meeting/index',
|
|
8082
8290
|
function: 'endMeetingForAll'
|
|
8083
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8291
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8084
8292
|
return end;
|
|
8085
8293
|
}).catch(function (error) {
|
|
8086
|
-
|
|
8294
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8087
8295
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8088
8296
|
// upload logs on leave irrespective of meeting delete
|
|
8089
|
-
_triggerProxy.default.trigger(
|
|
8297
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8090
8298
|
file: 'meeting/index',
|
|
8091
8299
|
function: 'endMeetingForAll'
|
|
8092
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8300
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8093
8301
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8094
|
-
correlation_id:
|
|
8095
|
-
locus_id:
|
|
8302
|
+
correlation_id: _this53.correlationId,
|
|
8303
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8096
8304
|
reason: error.message,
|
|
8097
8305
|
stack: error.stack,
|
|
8098
8306
|
code: error.code
|
|
@@ -8181,37 +8389,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8181
8389
|
}, {
|
|
8182
8390
|
key: "enableMusicMode",
|
|
8183
8391
|
value: (function () {
|
|
8184
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8185
|
-
return _regenerator.default.wrap(function
|
|
8186
|
-
while (1) switch (
|
|
8392
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
|
|
8393
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8394
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
8187
8395
|
case 0:
|
|
8188
8396
|
this.checkMediaConnection();
|
|
8189
8397
|
if (this.isMultistream) {
|
|
8190
|
-
|
|
8398
|
+
_context35.next = 3;
|
|
8191
8399
|
break;
|
|
8192
8400
|
}
|
|
8193
8401
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
8194
8402
|
case 3:
|
|
8195
8403
|
if (!shouldEnableMusicMode) {
|
|
8196
|
-
|
|
8404
|
+
_context35.next = 8;
|
|
8197
8405
|
break;
|
|
8198
8406
|
}
|
|
8199
|
-
|
|
8407
|
+
_context35.next = 6;
|
|
8200
8408
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
8201
8409
|
maxaveragebitrate: '64000',
|
|
8202
8410
|
maxplaybackrate: '48000'
|
|
8203
8411
|
});
|
|
8204
8412
|
case 6:
|
|
8205
|
-
|
|
8413
|
+
_context35.next = 10;
|
|
8206
8414
|
break;
|
|
8207
8415
|
case 8:
|
|
8208
|
-
|
|
8416
|
+
_context35.next = 10;
|
|
8209
8417
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
8210
8418
|
case 10:
|
|
8211
8419
|
case "end":
|
|
8212
|
-
return
|
|
8420
|
+
return _context35.stop();
|
|
8213
8421
|
}
|
|
8214
|
-
},
|
|
8422
|
+
}, _callee35, this);
|
|
8215
8423
|
}));
|
|
8216
8424
|
function enableMusicMode(_x36) {
|
|
8217
8425
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -8234,7 +8442,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8234
8442
|
_this$mediaProperties41,
|
|
8235
8443
|
_this$mediaProperties42,
|
|
8236
8444
|
_this$mediaProperties43,
|
|
8237
|
-
|
|
8445
|
+
_this54 = this;
|
|
8238
8446
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8239
8447
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8240
8448
|
if (!this.canUpdateMedia()) {
|
|
@@ -8259,8 +8467,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8259
8467
|
}).catch(function (error) {
|
|
8260
8468
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8261
8469
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8262
|
-
correlation_id:
|
|
8263
|
-
locus_id:
|
|
8470
|
+
correlation_id: _this54.correlationId,
|
|
8471
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8264
8472
|
reason: error.message,
|
|
8265
8473
|
stack: error.stack
|
|
8266
8474
|
});
|
|
@@ -8304,25 +8512,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8304
8512
|
}, {
|
|
8305
8513
|
key: "publishStream",
|
|
8306
8514
|
value: (function () {
|
|
8307
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8308
|
-
return _regenerator.default.wrap(function
|
|
8309
|
-
while (1) switch (
|
|
8515
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8516
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8517
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8310
8518
|
case 0:
|
|
8311
8519
|
if (stream) {
|
|
8312
|
-
|
|
8520
|
+
_context36.next = 2;
|
|
8313
8521
|
break;
|
|
8314
8522
|
}
|
|
8315
|
-
return
|
|
8523
|
+
return _context36.abrupt("return");
|
|
8316
8524
|
case 2:
|
|
8317
8525
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
8318
|
-
|
|
8526
|
+
_context36.next = 7;
|
|
8319
8527
|
break;
|
|
8320
8528
|
}
|
|
8321
8529
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8322
|
-
|
|
8530
|
+
_context36.next = 6;
|
|
8323
8531
|
break;
|
|
8324
8532
|
}
|
|
8325
|
-
|
|
8533
|
+
_context36.next = 6;
|
|
8326
8534
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
8327
8535
|
case 6:
|
|
8328
8536
|
this.emitPublishStateChangeEvent({
|
|
@@ -8333,9 +8541,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8333
8541
|
});
|
|
8334
8542
|
case 7:
|
|
8335
8543
|
case "end":
|
|
8336
|
-
return
|
|
8544
|
+
return _context36.stop();
|
|
8337
8545
|
}
|
|
8338
|
-
},
|
|
8546
|
+
}, _callee36, this);
|
|
8339
8547
|
}));
|
|
8340
8548
|
function publishStream(_x37, _x38) {
|
|
8341
8549
|
return _publishStream.apply(this, arguments);
|
|
@@ -8353,21 +8561,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8353
8561
|
}, {
|
|
8354
8562
|
key: "unpublishStream",
|
|
8355
8563
|
value: (function () {
|
|
8356
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8357
|
-
return _regenerator.default.wrap(function
|
|
8358
|
-
while (1) switch (
|
|
8564
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
|
|
8565
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8566
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8359
8567
|
case 0:
|
|
8360
8568
|
if (stream) {
|
|
8361
|
-
|
|
8569
|
+
_context37.next = 2;
|
|
8362
8570
|
break;
|
|
8363
8571
|
}
|
|
8364
|
-
return
|
|
8572
|
+
return _context37.abrupt("return");
|
|
8365
8573
|
case 2:
|
|
8366
8574
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8367
|
-
|
|
8575
|
+
_context37.next = 5;
|
|
8368
8576
|
break;
|
|
8369
8577
|
}
|
|
8370
|
-
|
|
8578
|
+
_context37.next = 5;
|
|
8371
8579
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8372
8580
|
case 5:
|
|
8373
8581
|
this.emitPublishStateChangeEvent({
|
|
@@ -8378,9 +8586,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8378
8586
|
});
|
|
8379
8587
|
case 6:
|
|
8380
8588
|
case "end":
|
|
8381
|
-
return
|
|
8589
|
+
return _context37.stop();
|
|
8382
8590
|
}
|
|
8383
|
-
},
|
|
8591
|
+
}, _callee37, this);
|
|
8384
8592
|
}));
|
|
8385
8593
|
function unpublishStream(_x39, _x40) {
|
|
8386
8594
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8397,67 +8605,92 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8397
8605
|
}, {
|
|
8398
8606
|
key: "publishStreams",
|
|
8399
8607
|
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 (
|
|
8608
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8609
|
+
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
8610
|
+
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
8611
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8612
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8405
8613
|
case 0:
|
|
8614
|
+
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8406
8615
|
this.checkMediaConnection();
|
|
8407
8616
|
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
|
-
|
|
8617
|
+
_context38.next = 4;
|
|
8409
8618
|
break;
|
|
8410
8619
|
}
|
|
8411
|
-
return
|
|
8412
|
-
case
|
|
8413
|
-
|
|
8414
|
-
|
|
8620
|
+
return _context38.abrupt("return");
|
|
8621
|
+
case 4:
|
|
8622
|
+
streamChecks = [{
|
|
8623
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
8624
|
+
name: 'microphone'
|
|
8625
|
+
}, {
|
|
8626
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.camera,
|
|
8627
|
+
name: 'camera'
|
|
8628
|
+
}, {
|
|
8629
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : _streams$screenShare3.audio,
|
|
8630
|
+
name: 'screenShare audio'
|
|
8631
|
+
}, {
|
|
8632
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare4 = streams.screenShare) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.video,
|
|
8633
|
+
name: 'screenShare video'
|
|
8634
|
+
}];
|
|
8635
|
+
_i = 0, _streamChecks = streamChecks;
|
|
8636
|
+
case 6:
|
|
8637
|
+
if (!(_i < _streamChecks.length)) {
|
|
8638
|
+
_context38.next = 13;
|
|
8415
8639
|
break;
|
|
8416
8640
|
}
|
|
8417
|
-
|
|
8418
|
-
|
|
8641
|
+
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
8642
|
+
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
8643
|
+
_context38.next = 10;
|
|
8644
|
+
break;
|
|
8645
|
+
}
|
|
8646
|
+
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
8647
|
+
case 10:
|
|
8648
|
+
_i++;
|
|
8649
|
+
_context38.next = 6;
|
|
8650
|
+
break;
|
|
8651
|
+
case 13:
|
|
8419
8652
|
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
|
-
|
|
8653
|
+
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
8654
|
+
_context38.next = 18;
|
|
8422
8655
|
break;
|
|
8423
8656
|
}
|
|
8424
|
-
|
|
8657
|
+
_context38.next = 17;
|
|
8425
8658
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8426
|
-
case
|
|
8659
|
+
case 17:
|
|
8427
8660
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8428
|
-
case
|
|
8429
|
-
if (!((_streams$
|
|
8430
|
-
|
|
8661
|
+
case 18:
|
|
8662
|
+
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
8663
|
+
_context38.next = 22;
|
|
8431
8664
|
break;
|
|
8432
8665
|
}
|
|
8433
|
-
|
|
8434
|
-
return this.setLocalShareVideoStream((_streams$
|
|
8435
|
-
case
|
|
8666
|
+
_context38.next = 21;
|
|
8667
|
+
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
8668
|
+
case 21:
|
|
8436
8669
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8437
|
-
case
|
|
8670
|
+
case 22:
|
|
8438
8671
|
if (!streams.microphone) {
|
|
8439
|
-
|
|
8672
|
+
_context38.next = 25;
|
|
8440
8673
|
break;
|
|
8441
8674
|
}
|
|
8442
|
-
|
|
8675
|
+
_context38.next = 25;
|
|
8443
8676
|
return this.setLocalAudioStream(streams.microphone);
|
|
8444
|
-
case
|
|
8677
|
+
case 25:
|
|
8445
8678
|
if (!streams.camera) {
|
|
8446
|
-
|
|
8679
|
+
_context38.next = 28;
|
|
8447
8680
|
break;
|
|
8448
8681
|
}
|
|
8449
|
-
|
|
8682
|
+
_context38.next = 28;
|
|
8450
8683
|
return this.setLocalVideoStream(streams.camera);
|
|
8451
|
-
case
|
|
8684
|
+
case 28:
|
|
8452
8685
|
if (this.isMultistream) {
|
|
8453
|
-
|
|
8686
|
+
_context38.next = 31;
|
|
8454
8687
|
break;
|
|
8455
8688
|
}
|
|
8456
|
-
|
|
8689
|
+
_context38.next = 31;
|
|
8457
8690
|
return this.updateTranscodedMediaConnection();
|
|
8458
|
-
case
|
|
8691
|
+
case 31:
|
|
8459
8692
|
if (!floorRequestNeeded) {
|
|
8460
|
-
|
|
8693
|
+
_context38.next = 37;
|
|
8461
8694
|
break;
|
|
8462
8695
|
}
|
|
8463
8696
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8481,13 +8714,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8481
8714
|
// we're sending the http request to Locus to request the screen share floor
|
|
8482
8715
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8483
8716
|
// and also if sharing from the start, we need confluence to have been created
|
|
8484
|
-
|
|
8717
|
+
_context38.next = 37;
|
|
8485
8718
|
return this.enqueueScreenShareFloorRequest();
|
|
8486
|
-
case
|
|
8719
|
+
case 37:
|
|
8487
8720
|
case "end":
|
|
8488
|
-
return
|
|
8721
|
+
return _context38.stop();
|
|
8489
8722
|
}
|
|
8490
|
-
},
|
|
8723
|
+
}, _callee38, this);
|
|
8491
8724
|
}));
|
|
8492
8725
|
function publishStreams(_x41) {
|
|
8493
8726
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8504,11 +8737,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8504
8737
|
}, {
|
|
8505
8738
|
key: "unpublishStreams",
|
|
8506
8739
|
value: (function () {
|
|
8507
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8740
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
|
|
8508
8741
|
var promises, _iterator, _step, stream;
|
|
8509
|
-
return _regenerator.default.wrap(function
|
|
8510
|
-
while (1) switch (
|
|
8742
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8743
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8511
8744
|
case 0:
|
|
8745
|
+
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8512
8746
|
this.checkMediaConnection();
|
|
8513
8747
|
promises = [];
|
|
8514
8748
|
_iterator = _createForOfIteratorHelper(streams.filter(function (t) {
|
|
@@ -8538,9 +8772,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8538
8772
|
if (!this.isMultistream) {
|
|
8539
8773
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8540
8774
|
}
|
|
8541
|
-
|
|
8775
|
+
_context39.next = 8;
|
|
8542
8776
|
return _promise.default.all(promises);
|
|
8543
|
-
case
|
|
8777
|
+
case 8:
|
|
8544
8778
|
// we're allowing for the SDK to support just audio share as well
|
|
8545
8779
|
// so a share could be active with only video, only audio, or both
|
|
8546
8780
|
// we're only releasing the floor if both streams have ended
|
|
@@ -8557,11 +8791,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8557
8791
|
// nothing to do here, error is logged already inside releaseScreenShareFloor()
|
|
8558
8792
|
}
|
|
8559
8793
|
}
|
|
8560
|
-
case
|
|
8794
|
+
case 9:
|
|
8561
8795
|
case "end":
|
|
8562
|
-
return
|
|
8796
|
+
return _context39.stop();
|
|
8563
8797
|
}
|
|
8564
|
-
},
|
|
8798
|
+
}, _callee39, this);
|
|
8565
8799
|
}));
|
|
8566
8800
|
function unpublishStreams(_x42) {
|
|
8567
8801
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8623,55 +8857,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8623
8857
|
}], [{
|
|
8624
8858
|
key: "handleDeviceLogging",
|
|
8625
8859
|
value: (function () {
|
|
8626
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8860
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee40(isAudioEnabled, isVideoEnabled) {
|
|
8627
8861
|
var devices;
|
|
8628
|
-
return _regenerator.default.wrap(function
|
|
8629
|
-
while (1) switch (
|
|
8862
|
+
return _regenerator.default.wrap(function _callee40$(_context40) {
|
|
8863
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
8630
8864
|
case 0:
|
|
8631
|
-
|
|
8865
|
+
_context40.prev = 0;
|
|
8632
8866
|
devices = [];
|
|
8633
8867
|
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8634
|
-
|
|
8868
|
+
_context40.next = 8;
|
|
8635
8869
|
break;
|
|
8636
8870
|
}
|
|
8637
|
-
|
|
8871
|
+
_context40.next = 5;
|
|
8638
8872
|
return (0, _mediaHelpers.getDevices)();
|
|
8639
8873
|
case 5:
|
|
8640
|
-
devices =
|
|
8641
|
-
|
|
8874
|
+
devices = _context40.sent;
|
|
8875
|
+
_context40.next = 18;
|
|
8642
8876
|
break;
|
|
8643
8877
|
case 8:
|
|
8644
8878
|
if (!isVideoEnabled) {
|
|
8645
|
-
|
|
8879
|
+
_context40.next = 14;
|
|
8646
8880
|
break;
|
|
8647
8881
|
}
|
|
8648
|
-
|
|
8882
|
+
_context40.next = 11;
|
|
8649
8883
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8650
8884
|
case 11:
|
|
8651
|
-
devices =
|
|
8652
|
-
|
|
8885
|
+
devices = _context40.sent;
|
|
8886
|
+
_context40.next = 18;
|
|
8653
8887
|
break;
|
|
8654
8888
|
case 14:
|
|
8655
8889
|
if (!isAudioEnabled) {
|
|
8656
|
-
|
|
8890
|
+
_context40.next = 18;
|
|
8657
8891
|
break;
|
|
8658
8892
|
}
|
|
8659
|
-
|
|
8893
|
+
_context40.next = 17;
|
|
8660
8894
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8661
8895
|
case 17:
|
|
8662
|
-
devices =
|
|
8896
|
+
devices = _context40.sent;
|
|
8663
8897
|
case 18:
|
|
8664
8898
|
_util2.default.handleDeviceLogging(devices);
|
|
8665
|
-
|
|
8899
|
+
_context40.next = 23;
|
|
8666
8900
|
break;
|
|
8667
8901
|
case 21:
|
|
8668
|
-
|
|
8669
|
-
|
|
8902
|
+
_context40.prev = 21;
|
|
8903
|
+
_context40.t0 = _context40["catch"](0);
|
|
8670
8904
|
case 23:
|
|
8671
8905
|
case "end":
|
|
8672
|
-
return
|
|
8906
|
+
return _context40.stop();
|
|
8673
8907
|
}
|
|
8674
|
-
},
|
|
8908
|
+
}, _callee40, null, [[0, 21]]);
|
|
8675
8909
|
}));
|
|
8676
8910
|
function handleDeviceLogging(_x43, _x44) {
|
|
8677
8911
|
return _handleDeviceLogging.apply(this, arguments);
|