@webex/plugin-meetings 3.6.0 → 3.7.0-next.10
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 +40 -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 +29 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +786 -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 +29 -2
- 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 +13 -7
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +4 -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 +12 -15
- 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/recording-controller/enums.js +8 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +18 -9
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +13 -9
- package/dist/recording-controller/util.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 +33 -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 +28 -0
- package/dist/types/meeting/index.d.ts +34 -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 +13 -1
- package/dist/types/members/index.d.ts +2 -1
- package/dist/types/members/util.d.ts +5 -1
- package/dist/types/metrics/constants.d.ts +3 -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/recording-controller/enums.d.ts +5 -2
- package/dist/types/recording-controller/index.d.ts +1 -0
- package/dist/types/recording-controller/util.d.ts +2 -1
- package/dist/types/roap/request.d.ts +1 -13
- package/dist/webinar/index.js +64 -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 +41 -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 +58 -0
- package/src/meeting/index.ts +247 -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 +74 -40
- package/src/members/index.ts +4 -2
- package/src/members/util.ts +4 -1
- package/src/metrics/constants.ts +3 -0
- package/src/multistream/remoteMedia.ts +5 -0
- package/src/reachability/clusterReachability.ts +5 -15
- package/src/reachability/index.ts +285 -77
- package/src/reachability/reachability.types.ts +85 -0
- package/src/reachability/request.ts +55 -30
- package/src/recording-controller/enums.ts +5 -2
- package/src/recording-controller/index.ts +17 -4
- package/src/recording-controller/util.ts +20 -5
- 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 +62 -16
- 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 +31 -1
- package/test/unit/spec/meeting/index.js +346 -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 +41 -6
- 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 +110 -1
- package/test/unit/spec/multistream/remoteMedia.ts +16 -2
- package/test/unit/spec/reachability/clusterReachability.ts +7 -0
- package/test/unit/spec/reachability/index.ts +265 -1
- package/test/unit/spec/reachability/request.js +56 -15
- package/test/unit/spec/recording-controller/index.js +61 -5
- package/test/unit/spec/recording-controller/util.js +39 -3
- 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 +128 -15
- 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,45 @@ 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
|
+
_this13.webinar.updatePracticeSessionStatus(state);
|
|
3248
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3249
|
+
file: 'meeting/index',
|
|
3250
|
+
function: 'setupLocusControlsListener'
|
|
3251
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, {
|
|
3252
|
+
state: state
|
|
3253
|
+
});
|
|
3254
|
+
});
|
|
3255
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
|
|
3256
|
+
var state = _ref25.state;
|
|
3257
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3258
|
+
file: 'meeting/index',
|
|
3259
|
+
function: 'setupLocusControlsListener'
|
|
3260
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_STAGE_VIEW_UPDATED, {
|
|
3261
|
+
state: state
|
|
3262
|
+
});
|
|
3263
|
+
});
|
|
3264
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
|
|
3265
|
+
var state = _ref26.state;
|
|
3203
3266
|
_triggerProxy.default.trigger(_this13, {
|
|
3204
3267
|
file: 'meeting/index',
|
|
3205
3268
|
function: 'setupLocusControlsListener'
|
|
@@ -3246,7 +3309,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3246
3309
|
var _this14 = this;
|
|
3247
3310
|
// Will get triggered on local and remote share
|
|
3248
3311
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3249
|
-
var
|
|
3312
|
+
var _ref27 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3250
3313
|
var _payload$previous, _payload$previous2;
|
|
3251
3314
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3252
3315
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3288,8 +3351,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3288
3351
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
|
3289
3352
|
newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
3290
3353
|
}
|
|
3354
|
+
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3291
3355
|
if (!(newShareStatus !== _this14.shareStatus)) {
|
|
3292
|
-
_context8.next =
|
|
3356
|
+
_context8.next = 46;
|
|
3293
3357
|
break;
|
|
3294
3358
|
}
|
|
3295
3359
|
oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
|
|
@@ -3297,37 +3361,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3297
3361
|
|
|
3298
3362
|
// send out "stop" notifications for the old state
|
|
3299
3363
|
_context8.t0 = oldShareStatus;
|
|
3300
|
-
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3364
|
+
_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
3365
|
break;
|
|
3302
|
-
case
|
|
3366
|
+
case 15:
|
|
3303
3367
|
_triggerProxy.default.trigger(_this14, {
|
|
3304
3368
|
file: 'meetings/index',
|
|
3305
3369
|
function: 'remoteShare'
|
|
3306
3370
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3307
|
-
return _context8.abrupt("break",
|
|
3308
|
-
case
|
|
3371
|
+
return _context8.abrupt("break", 23);
|
|
3372
|
+
case 17:
|
|
3309
3373
|
_triggerProxy.default.trigger(_this14, {
|
|
3310
3374
|
file: 'meeting/index',
|
|
3311
3375
|
function: 'localShare'
|
|
3312
3376
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3313
3377
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3314
3378
|
});
|
|
3315
|
-
return _context8.abrupt("break",
|
|
3316
|
-
case
|
|
3379
|
+
return _context8.abrupt("break", 23);
|
|
3380
|
+
case 19:
|
|
3317
3381
|
_triggerProxy.default.trigger(_this14, {
|
|
3318
3382
|
file: 'meeting/index',
|
|
3319
3383
|
function: 'stopWhiteboardShare'
|
|
3320
3384
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
|
|
3321
|
-
return _context8.abrupt("break",
|
|
3322
|
-
case 20:
|
|
3323
|
-
return _context8.abrupt("break", 22);
|
|
3385
|
+
return _context8.abrupt("break", 23);
|
|
3324
3386
|
case 21:
|
|
3325
|
-
return _context8.abrupt("break",
|
|
3387
|
+
return _context8.abrupt("break", 23);
|
|
3326
3388
|
case 22:
|
|
3389
|
+
return _context8.abrupt("break", 23);
|
|
3390
|
+
case 23:
|
|
3327
3391
|
_context8.t1 = newShareStatus;
|
|
3328
|
-
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3392
|
+
_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
3393
|
break;
|
|
3330
|
-
case
|
|
3394
|
+
case 26:
|
|
3331
3395
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
3332
3396
|
_this14.remoteShareInstanceId = contentShare.shareInstanceId;
|
|
3333
3397
|
_triggerProxy.default.trigger(_this14, {
|
|
@@ -3341,20 +3405,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3341
3405
|
resourceType: contentShare.resourceType
|
|
3342
3406
|
});
|
|
3343
3407
|
};
|
|
3344
|
-
_context8.prev =
|
|
3408
|
+
_context8.prev = 27;
|
|
3345
3409
|
if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3346
|
-
_context8.next =
|
|
3410
|
+
_context8.next = 31;
|
|
3347
3411
|
break;
|
|
3348
3412
|
}
|
|
3349
|
-
_context8.next =
|
|
3413
|
+
_context8.next = 31;
|
|
3350
3414
|
return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
|
|
3351
|
-
case
|
|
3352
|
-
_context8.prev =
|
|
3415
|
+
case 31:
|
|
3416
|
+
_context8.prev = 31;
|
|
3353
3417
|
sendStartedSharingRemote();
|
|
3354
|
-
return _context8.finish(
|
|
3355
|
-
case 33:
|
|
3356
|
-
return _context8.abrupt("break", 42);
|
|
3418
|
+
return _context8.finish(31);
|
|
3357
3419
|
case 34:
|
|
3420
|
+
return _context8.abrupt("break", 43);
|
|
3421
|
+
case 35:
|
|
3358
3422
|
_triggerProxy.default.trigger(_this14, {
|
|
3359
3423
|
file: 'meeting/index',
|
|
3360
3424
|
function: 'share'
|
|
@@ -3370,8 +3434,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3370
3434
|
meetingId: _this14.id
|
|
3371
3435
|
}
|
|
3372
3436
|
});
|
|
3373
|
-
return _context8.abrupt("break",
|
|
3374
|
-
case
|
|
3437
|
+
return _context8.abrupt("break", 43);
|
|
3438
|
+
case 38:
|
|
3375
3439
|
_triggerProxy.default.trigger(_this14, {
|
|
3376
3440
|
file: 'meeting/index',
|
|
3377
3441
|
function: 'startWhiteboardShare'
|
|
@@ -3389,16 +3453,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3389
3453
|
meetingId: _this14.id
|
|
3390
3454
|
}
|
|
3391
3455
|
});
|
|
3392
|
-
return _context8.abrupt("break",
|
|
3393
|
-
case 40:
|
|
3394
|
-
return _context8.abrupt("break", 42);
|
|
3456
|
+
return _context8.abrupt("break", 43);
|
|
3395
3457
|
case 41:
|
|
3396
|
-
return _context8.abrupt("break",
|
|
3458
|
+
return _context8.abrupt("break", 43);
|
|
3397
3459
|
case 42:
|
|
3460
|
+
return _context8.abrupt("break", 43);
|
|
3461
|
+
case 43:
|
|
3398
3462
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3399
|
-
_context8.next =
|
|
3463
|
+
_context8.next = 47;
|
|
3400
3464
|
break;
|
|
3401
|
-
case
|
|
3465
|
+
case 46:
|
|
3402
3466
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
3403
3467
|
// if we got here, then some remote participant has stolen
|
|
3404
3468
|
// the presentation from another remote participant
|
|
@@ -3436,14 +3500,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3436
3500
|
});
|
|
3437
3501
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3438
3502
|
}
|
|
3439
|
-
case
|
|
3503
|
+
case 47:
|
|
3440
3504
|
case "end":
|
|
3441
3505
|
return _context8.stop();
|
|
3442
3506
|
}
|
|
3443
|
-
}, _callee8, null, [[
|
|
3507
|
+
}, _callee8, null, [[27,, 31, 34]]);
|
|
3444
3508
|
}));
|
|
3445
3509
|
return function (_x8) {
|
|
3446
|
-
return
|
|
3510
|
+
return _ref27.apply(this, arguments);
|
|
3447
3511
|
};
|
|
3448
3512
|
}());
|
|
3449
3513
|
}
|
|
@@ -3493,14 +3557,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3493
3557
|
value: function setUpLocusServicesListener() {
|
|
3494
3558
|
var _this16 = this;
|
|
3495
3559
|
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
|
|
3560
|
+
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
3561
|
_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
3562
|
_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
3563
|
_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
3564
|
_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
3565
|
_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
|
-
|
|
3566
|
+
});
|
|
3567
|
+
}
|
|
3568
|
+
|
|
3569
|
+
/**
|
|
3570
|
+
* Set up the locus info resources link listener
|
|
3571
|
+
* update the locusInfo for webcast instance url
|
|
3572
|
+
* @param {Object} payload - The event payload
|
|
3573
|
+
* @returns {undefined}
|
|
3574
|
+
* @private
|
|
3575
|
+
* @memberof Meeting
|
|
3576
|
+
*/
|
|
3577
|
+
}, {
|
|
3578
|
+
key: "setUpLocusResourcesListener",
|
|
3579
|
+
value: function setUpLocusResourcesListener() {
|
|
3580
|
+
var _this17 = this;
|
|
3581
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_RESOURCES, function (payload) {
|
|
3582
|
+
_this17.webinar.updateWebcastUrl(payload);
|
|
3504
3583
|
});
|
|
3505
3584
|
}
|
|
3506
3585
|
|
|
@@ -3513,10 +3592,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3513
3592
|
}, {
|
|
3514
3593
|
key: "setUpLocusInfoMeetingInfoListener",
|
|
3515
3594
|
value: function setUpLocusInfoMeetingInfoListener() {
|
|
3516
|
-
var
|
|
3595
|
+
var _this18 = this;
|
|
3517
3596
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
|
|
3518
3597
|
if (payload) {
|
|
3519
|
-
_triggerProxy.default.trigger(
|
|
3598
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3520
3599
|
file: 'meeting/index',
|
|
3521
3600
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3522
3601
|
}, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
|
|
@@ -3526,7 +3605,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3526
3605
|
});
|
|
3527
3606
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
|
|
3528
3607
|
if (payload) {
|
|
3529
|
-
_triggerProxy.default.trigger(
|
|
3608
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3530
3609
|
file: 'meeting/index',
|
|
3531
3610
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3532
3611
|
}, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
|
|
@@ -3534,16 +3613,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3534
3613
|
});
|
|
3535
3614
|
}
|
|
3536
3615
|
});
|
|
3537
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3538
|
-
var isInitializing =
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3616
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref28) {
|
|
3617
|
+
var isInitializing = _ref28.isInitializing;
|
|
3618
|
+
_this18.updateMeetingActions();
|
|
3619
|
+
_this18.recordingController.setDisplayHints(_this18.userDisplayHints);
|
|
3620
|
+
_this18.recordingController.setUserPolicy(_this18.selfUserPolicies);
|
|
3621
|
+
_this18.controlsOptionsManager.setDisplayHints(_this18.userDisplayHints);
|
|
3622
|
+
_this18.handleDataChannelUrlChange(_this18.datachannelUrl);
|
|
3544
3623
|
if (!isInitializing) {
|
|
3545
3624
|
// send updated trigger only if locus is not initializing the meeting
|
|
3546
|
-
_triggerProxy.default.trigger(
|
|
3625
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3547
3626
|
file: 'meetings',
|
|
3548
3627
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3549
3628
|
}, _constants.EVENT_TRIGGERS.MEETING_INFO_UPDATED);
|
|
@@ -3574,10 +3653,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3574
3653
|
}, {
|
|
3575
3654
|
key: "setUpLocusEmbeddedAppsListener",
|
|
3576
3655
|
value: function setUpLocusEmbeddedAppsListener() {
|
|
3577
|
-
var
|
|
3656
|
+
var _this19 = this;
|
|
3578
3657
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
|
|
3579
3658
|
if (embeddedApps) {
|
|
3580
|
-
_triggerProxy.default.trigger(
|
|
3659
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3581
3660
|
file: 'meeting/index',
|
|
3582
3661
|
function: 'setUpLocusEmbeddedAppsListener'
|
|
3583
3662
|
}, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
|
|
@@ -3594,11 +3673,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3594
3673
|
}, {
|
|
3595
3674
|
key: "setUpLocusInfoSelfListener",
|
|
3596
3675
|
value: function setUpLocusInfoSelfListener() {
|
|
3597
|
-
var
|
|
3676
|
+
var _this20 = this;
|
|
3598
3677
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
3599
|
-
if (
|
|
3600
|
-
|
|
3601
|
-
_triggerProxy.default.trigger(
|
|
3678
|
+
if (_this20.audio) {
|
|
3679
|
+
_this20.audio.handleServerLocalUnmuteRequired(_this20, payload.unmuteAllowed);
|
|
3680
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3602
3681
|
file: 'meeting/index',
|
|
3603
3682
|
function: 'setUpLocusInfoSelfListener'
|
|
3604
3683
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3608,13 +3687,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3608
3687
|
});
|
|
3609
3688
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
|
|
3610
3689
|
if (payload) {
|
|
3611
|
-
if (
|
|
3690
|
+
if (_this20.video) {
|
|
3612
3691
|
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
|
-
|
|
3692
|
+
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
|
|
3693
|
+
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
|
|
3694
|
+
_this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3616
3695
|
}
|
|
3617
|
-
_triggerProxy.default.trigger(
|
|
3696
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3618
3697
|
file: 'meeting/index',
|
|
3619
3698
|
function: 'setUpLocusInfoSelfListener'
|
|
3620
3699
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
|
|
@@ -3624,15 +3703,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3624
3703
|
});
|
|
3625
3704
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
|
|
3626
3705
|
if (payload) {
|
|
3627
|
-
var
|
|
3628
|
-
if (
|
|
3629
|
-
|
|
3706
|
+
var _this20$audio;
|
|
3707
|
+
if (_this20.audio) {
|
|
3708
|
+
_this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3630
3709
|
}
|
|
3631
3710
|
// with "mute on entry" server will send us remote mute even if we don't have media configured,
|
|
3632
3711
|
// so if being muted by others, always send the notification,
|
|
3633
3712
|
// but if being unmuted, only send it if we are also locally unmuted
|
|
3634
|
-
if (payload.muted || !((
|
|
3635
|
-
_triggerProxy.default.trigger(
|
|
3713
|
+
if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
|
|
3714
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3636
3715
|
file: 'meeting/index',
|
|
3637
3716
|
function: 'setUpLocusInfoSelfListener'
|
|
3638
3717
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3642,7 +3721,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3642
3721
|
}
|
|
3643
3722
|
});
|
|
3644
3723
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
|
|
3645
|
-
_triggerProxy.default.trigger(
|
|
3724
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3646
3725
|
file: 'meeting/index',
|
|
3647
3726
|
function: 'setUpLocusInfoSelfListener'
|
|
3648
3727
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
|
|
@@ -3651,8 +3730,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3651
3730
|
});
|
|
3652
3731
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
|
|
3653
3732
|
if (payload) {
|
|
3654
|
-
|
|
3655
|
-
_triggerProxy.default.trigger(
|
|
3733
|
+
_this20.startKeepAlive();
|
|
3734
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3656
3735
|
file: 'meeting/index',
|
|
3657
3736
|
function: 'setUpLocusInfoSelfListener'
|
|
3658
3737
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
|
|
@@ -3660,24 +3739,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3660
3739
|
});
|
|
3661
3740
|
|
|
3662
3741
|
// @ts-ignore
|
|
3663
|
-
|
|
3742
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3664
3743
|
name: 'client.lobby.entered',
|
|
3665
3744
|
options: {
|
|
3666
|
-
meetingId:
|
|
3745
|
+
meetingId: _this20.id
|
|
3667
3746
|
}
|
|
3668
3747
|
});
|
|
3669
3748
|
}
|
|
3670
|
-
|
|
3749
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_ENTERED_LOBBY, {
|
|
3750
|
+
correlation_id: _this20.correlationId
|
|
3751
|
+
});
|
|
3752
|
+
_this20.updateLLMConnection();
|
|
3671
3753
|
});
|
|
3672
3754
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3673
|
-
var
|
|
3674
|
-
var
|
|
3755
|
+
var _ref29 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3756
|
+
var _this20$rtcMetrics;
|
|
3675
3757
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3676
3758
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3677
3759
|
case 0:
|
|
3678
|
-
|
|
3760
|
+
_this20.stopKeepAlive();
|
|
3679
3761
|
if (payload) {
|
|
3680
|
-
_triggerProxy.default.trigger(
|
|
3762
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3681
3763
|
file: 'meeting/index',
|
|
3682
3764
|
function: 'setUpLocusInfoSelfListener'
|
|
3683
3765
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
@@ -3685,15 +3767,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3685
3767
|
});
|
|
3686
3768
|
|
|
3687
3769
|
// @ts-ignore
|
|
3688
|
-
|
|
3770
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3689
3771
|
name: 'client.lobby.exited',
|
|
3690
3772
|
options: {
|
|
3691
|
-
meetingId:
|
|
3773
|
+
meetingId: _this20.id
|
|
3692
3774
|
}
|
|
3693
3775
|
});
|
|
3776
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
|
|
3777
|
+
correlation_id: _this20.correlationId
|
|
3778
|
+
});
|
|
3694
3779
|
}
|
|
3695
|
-
(
|
|
3696
|
-
|
|
3780
|
+
(_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
|
|
3781
|
+
_this20.updateLLMConnection();
|
|
3697
3782
|
case 4:
|
|
3698
3783
|
case "end":
|
|
3699
3784
|
return _context9.stop();
|
|
@@ -3701,42 +3786,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3701
3786
|
}, _callee9);
|
|
3702
3787
|
}));
|
|
3703
3788
|
return function (_x9) {
|
|
3704
|
-
return
|
|
3789
|
+
return _ref29.apply(this, arguments);
|
|
3705
3790
|
};
|
|
3706
3791
|
}());
|
|
3707
3792
|
|
|
3708
3793
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
3709
3794
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
3710
3795
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
|
|
3711
|
-
correlation_id:
|
|
3712
|
-
locus_id:
|
|
3796
|
+
correlation_id: _this20.correlationId,
|
|
3797
|
+
locus_id: _this20.locusId
|
|
3713
3798
|
});
|
|
3714
3799
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_INACTIVITY received, reconnecting...');
|
|
3715
|
-
|
|
3800
|
+
_this20.reconnect();
|
|
3716
3801
|
});
|
|
3717
3802
|
|
|
3718
3803
|
// There is two stats for mute one is the actual media being sent or received
|
|
3719
3804
|
// The second on is if the audio is muted, we need to tell the statsAnalyzer when
|
|
3720
3805
|
// the audio is muted or the user is not willing to send media
|
|
3721
3806
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
|
|
3722
|
-
if (
|
|
3723
|
-
var
|
|
3724
|
-
|
|
3807
|
+
if (_this20.statsAnalyzer) {
|
|
3808
|
+
var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
|
|
3809
|
+
_this20.statsAnalyzer.updateMediaStatus({
|
|
3725
3810
|
actual: status,
|
|
3726
3811
|
expected: {
|
|
3727
3812
|
// We need to check what should be the actual direction of media
|
|
3728
|
-
sendAudio: ((
|
|
3729
|
-
sendVideo: ((
|
|
3730
|
-
sendShare: (
|
|
3731
|
-
receiveAudio: (
|
|
3732
|
-
receiveVideo: (
|
|
3733
|
-
receiveShare: (
|
|
3813
|
+
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()),
|
|
3814
|
+
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()),
|
|
3815
|
+
sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
|
|
3816
|
+
receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
|
|
3817
|
+
receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
|
|
3818
|
+
receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
|
|
3734
3819
|
}
|
|
3735
3820
|
});
|
|
3736
3821
|
}
|
|
3737
3822
|
});
|
|
3738
3823
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
|
|
3739
|
-
_triggerProxy.default.trigger(
|
|
3824
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3740
3825
|
file: 'meeting/index',
|
|
3741
3826
|
function: 'setUpLocusInfoSelfListener'
|
|
3742
3827
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
|
|
@@ -3744,29 +3829,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3744
3829
|
});
|
|
3745
3830
|
});
|
|
3746
3831
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
|
|
3747
|
-
|
|
3748
|
-
_triggerProxy.default.trigger(
|
|
3832
|
+
_this20.breakouts.updateBreakoutSessions(payload);
|
|
3833
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3749
3834
|
file: 'meeting/index',
|
|
3750
3835
|
function: 'setUpLocusInfoSelfListener'
|
|
3751
3836
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3752
3837
|
});
|
|
3753
3838
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
3754
|
-
var targetChanged =
|
|
3755
|
-
_triggerProxy.default.trigger(
|
|
3839
|
+
var targetChanged = _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3840
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3756
3841
|
file: 'meeting/index',
|
|
3757
3842
|
function: 'setUpLocusInfoSelfListener'
|
|
3758
3843
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3759
|
-
if (targetChanged &&
|
|
3760
|
-
|
|
3844
|
+
if (targetChanged && _this20.mediaProperties.audioStream) {
|
|
3845
|
+
_this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
3761
3846
|
}
|
|
3762
3847
|
});
|
|
3763
3848
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
3764
|
-
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3
|
|
3849
|
+
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
|
|
3765
3850
|
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(
|
|
3851
|
+
_this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
|
|
3852
|
+
_this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
|
|
3853
|
+
_this20.webinar.updateRoleChanged(payload);
|
|
3854
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3770
3855
|
file: 'meeting/index',
|
|
3771
3856
|
function: 'setUpLocusInfoSelfListener'
|
|
3772
3857
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
|
|
@@ -3774,7 +3859,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3774
3859
|
});
|
|
3775
3860
|
});
|
|
3776
3861
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
|
|
3777
|
-
_triggerProxy.default.trigger(
|
|
3862
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3778
3863
|
file: 'meeting/index',
|
|
3779
3864
|
function: 'setUpLocusInfoSelfListener'
|
|
3780
3865
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
|
|
@@ -3792,42 +3877,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3792
3877
|
}, {
|
|
3793
3878
|
key: "setUpLocusInfoMeetingListener",
|
|
3794
3879
|
value: function setUpLocusInfoMeetingListener() {
|
|
3795
|
-
var
|
|
3880
|
+
var _this21 = this;
|
|
3796
3881
|
this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
|
|
3797
|
-
|
|
3882
|
+
_this21.meetingFiniteStateMachine.remote(payload);
|
|
3798
3883
|
if (payload.remoteDeclined) {
|
|
3799
|
-
|
|
3884
|
+
_this21.leave({
|
|
3800
3885
|
reason: payload.reason
|
|
3801
3886
|
}).then(function () {
|
|
3802
3887
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
|
|
3803
3888
|
}).catch(function (error) {
|
|
3804
3889
|
// @ts-ignore
|
|
3805
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3890
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
|
|
3806
3891
|
});
|
|
3807
3892
|
}
|
|
3808
3893
|
});
|
|
3809
3894
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3810
|
-
var
|
|
3895
|
+
var _ref30 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3811
3896
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3812
3897
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3813
3898
|
case 0:
|
|
3814
|
-
if (!
|
|
3899
|
+
if (!_this21.wirelessShare) {
|
|
3815
3900
|
_context10.next = 7;
|
|
3816
3901
|
break;
|
|
3817
3902
|
}
|
|
3818
|
-
if (!
|
|
3903
|
+
if (!_this21.mediaProperties.shareVideoStream) {
|
|
3819
3904
|
_context10.next = 4;
|
|
3820
3905
|
break;
|
|
3821
3906
|
}
|
|
3822
3907
|
_context10.next = 4;
|
|
3823
|
-
return
|
|
3908
|
+
return _this21.setLocalShareVideoStream(undefined);
|
|
3824
3909
|
case 4:
|
|
3825
|
-
if (!
|
|
3910
|
+
if (!_this21.mediaProperties.shareAudioStream) {
|
|
3826
3911
|
_context10.next = 7;
|
|
3827
3912
|
break;
|
|
3828
3913
|
}
|
|
3829
3914
|
_context10.next = 7;
|
|
3830
|
-
return
|
|
3915
|
+
return _this21.setLocalShareAudioStream(undefined);
|
|
3831
3916
|
case 7:
|
|
3832
3917
|
if (!payload.shouldLeave) {
|
|
3833
3918
|
_context10.next = 19;
|
|
@@ -3835,7 +3920,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3835
3920
|
}
|
|
3836
3921
|
_context10.prev = 8;
|
|
3837
3922
|
_context10.next = 11;
|
|
3838
|
-
return
|
|
3923
|
+
return _this21.leave({
|
|
3839
3924
|
reason: payload.reason
|
|
3840
3925
|
});
|
|
3841
3926
|
case 11:
|
|
@@ -3846,19 +3931,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3846
3931
|
_context10.prev = 14;
|
|
3847
3932
|
_context10.t0 = _context10["catch"](8);
|
|
3848
3933
|
// @ts-ignore
|
|
3849
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3934
|
+
_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
3935
|
case 17:
|
|
3851
3936
|
_context10.next = 22;
|
|
3852
3937
|
break;
|
|
3853
3938
|
case 19:
|
|
3854
3939
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3855
|
-
_util2.default.cleanUp(
|
|
3856
|
-
_triggerProxy.default.trigger(
|
|
3940
|
+
_util2.default.cleanUp(_this21);
|
|
3941
|
+
_triggerProxy.default.trigger(_this21, {
|
|
3857
3942
|
file: 'meeting/index',
|
|
3858
3943
|
function: 'setUpLocusInfoMeetingListener'
|
|
3859
3944
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
3860
3945
|
reason: payload.reason,
|
|
3861
|
-
meetingId:
|
|
3946
|
+
meetingId: _this21.id
|
|
3862
3947
|
});
|
|
3863
3948
|
case 22:
|
|
3864
3949
|
case "end":
|
|
@@ -3867,7 +3952,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3867
3952
|
}, _callee10, null, [[8, 14]]);
|
|
3868
3953
|
}));
|
|
3869
3954
|
return function (_x10) {
|
|
3870
|
-
return
|
|
3955
|
+
return _ref30.apply(this, arguments);
|
|
3871
3956
|
};
|
|
3872
3957
|
}());
|
|
3873
3958
|
}
|
|
@@ -3883,13 +3968,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3883
3968
|
}, {
|
|
3884
3969
|
key: "updateMeetingObject",
|
|
3885
3970
|
value: function updateMeetingObject(object) {
|
|
3886
|
-
var
|
|
3971
|
+
var _this22 = this;
|
|
3887
3972
|
// Validate if these are valid meeting object property
|
|
3888
3973
|
// TODO: add a check to make sure the value passed in the constructor
|
|
3889
3974
|
// is not changed by any delta event
|
|
3890
3975
|
if (object && (0, _keys.default)(object).length) {
|
|
3891
3976
|
(0, _keys.default)(object).forEach(function (key) {
|
|
3892
|
-
|
|
3977
|
+
_this22[key] = object[key];
|
|
3893
3978
|
});
|
|
3894
3979
|
}
|
|
3895
3980
|
}
|
|
@@ -4142,6 +4227,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4142
4227
|
canStopRecording: _util4.default.canUserStop(this.userDisplayHints, this.selfUserPolicies),
|
|
4143
4228
|
canPauseRecording: _util4.default.canUserPause(this.userDisplayHints, this.selfUserPolicies),
|
|
4144
4229
|
canResumeRecording: _util4.default.canUserResume(this.userDisplayHints, this.selfUserPolicies),
|
|
4230
|
+
isPremiseRecordingEnabled: _util4.default.isPremiseRecordingEnabled(this.userDisplayHints, this.selfUserPolicies),
|
|
4145
4231
|
canRaiseHand: _util2.default.canUserRaiseHand(this.userDisplayHints),
|
|
4146
4232
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4147
4233
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
@@ -4219,6 +4305,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4219
4305
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
4220
4306
|
displayHints: this.userDisplayHints
|
|
4221
4307
|
}),
|
|
4308
|
+
canEnableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4309
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4310
|
+
displayHints: this.userDisplayHints
|
|
4311
|
+
}),
|
|
4312
|
+
canDisableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4313
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4314
|
+
displayHints: this.userDisplayHints
|
|
4315
|
+
}),
|
|
4316
|
+
canEnableShowAttendeeCount: _util5.default.hasHints({
|
|
4317
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_ATTENDEE_COUNT],
|
|
4318
|
+
displayHints: this.userDisplayHints
|
|
4319
|
+
}),
|
|
4320
|
+
canDisableShowAttendeeCount: _util5.default.hasHints({
|
|
4321
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_ATTENDEE_COUNT],
|
|
4322
|
+
displayHints: this.userDisplayHints
|
|
4323
|
+
}),
|
|
4222
4324
|
canEnableRaiseHand: _util5.default.hasHints({
|
|
4223
4325
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
4224
4326
|
displayHints: this.userDisplayHints
|
|
@@ -4235,6 +4337,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4235
4337
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
4236
4338
|
displayHints: this.userDisplayHints
|
|
4237
4339
|
}),
|
|
4340
|
+
canStartWebcast: _util5.default.hasHints({
|
|
4341
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_START],
|
|
4342
|
+
displayHints: this.userDisplayHints
|
|
4343
|
+
}),
|
|
4344
|
+
canStopWebcast: _util5.default.hasHints({
|
|
4345
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_STOP],
|
|
4346
|
+
displayHints: this.userDisplayHints
|
|
4347
|
+
}),
|
|
4348
|
+
canShowStageView: _util5.default.hasHints({
|
|
4349
|
+
requiredHints: [_constants.DISPLAY_HINTS.STAGE_VIEW_ACTIVE],
|
|
4350
|
+
displayHints: this.userDisplayHints
|
|
4351
|
+
}),
|
|
4352
|
+
canEnableStageView: _util5.default.hasHints({
|
|
4353
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_STAGE_VIEW],
|
|
4354
|
+
displayHints: this.userDisplayHints
|
|
4355
|
+
}),
|
|
4356
|
+
canDisableStageView: _util5.default.hasHints({
|
|
4357
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_STAGE_VIEW],
|
|
4358
|
+
displayHints: this.userDisplayHints
|
|
4359
|
+
}),
|
|
4360
|
+
isPracticeSessionOn: _util5.default.hasHints({
|
|
4361
|
+
requiredHints: [_constants.DISPLAY_HINTS.PRACTICE_SESSION_ON],
|
|
4362
|
+
displayHints: this.userDisplayHints
|
|
4363
|
+
}),
|
|
4364
|
+
isPracticeSessionOff: _util5.default.hasHints({
|
|
4365
|
+
requiredHints: [_constants.DISPLAY_HINTS.PRACTICE_SESSION_OFF],
|
|
4366
|
+
displayHints: this.userDisplayHints
|
|
4367
|
+
}),
|
|
4368
|
+
canStartPracticeSession: _util5.default.hasHints({
|
|
4369
|
+
requiredHints: [_constants.DISPLAY_HINTS.SHOW_PRACTICE_SESSION_START],
|
|
4370
|
+
displayHints: this.userDisplayHints
|
|
4371
|
+
}),
|
|
4372
|
+
canStopPracticeSession: _util5.default.hasHints({
|
|
4373
|
+
requiredHints: [_constants.DISPLAY_HINTS.SHOW_PRACTICE_SESSION_STOP],
|
|
4374
|
+
displayHints: this.userDisplayHints
|
|
4375
|
+
}),
|
|
4238
4376
|
canShareFile: _util5.default.hasHints({
|
|
4239
4377
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
4240
4378
|
displayHints: this.userDisplayHints
|
|
@@ -4379,6 +4517,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4379
4517
|
_triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
4380
4518
|
}
|
|
4381
4519
|
|
|
4520
|
+
/**
|
|
4521
|
+
* sets the timer for periodic log upload
|
|
4522
|
+
* @returns {void}
|
|
4523
|
+
*/
|
|
4524
|
+
}, {
|
|
4525
|
+
key: "setLogUploadTimer",
|
|
4526
|
+
value: function setLogUploadTimer() {
|
|
4527
|
+
var _this23 = this;
|
|
4528
|
+
// 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
|
|
4529
|
+
var LOG_UPLOAD_INTERVALS = [0.1, 1, 15, 15, 30, 30, 30, 60];
|
|
4530
|
+
var delay = 1000 *
|
|
4531
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4532
|
+
this.config.logUploadIntervalMultiplicationFactor * LOG_UPLOAD_INTERVALS[this.logUploadIntervalIndex];
|
|
4533
|
+
if (this.logUploadIntervalIndex < LOG_UPLOAD_INTERVALS.length - 1) {
|
|
4534
|
+
this.logUploadIntervalIndex += 1;
|
|
4535
|
+
}
|
|
4536
|
+
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4537
|
+
_this23.uploadLogsTimer = undefined;
|
|
4538
|
+
_this23.uploadLogs();
|
|
4539
|
+
|
|
4540
|
+
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4541
|
+
// and the page remains opened, we stop it if there is no media connection
|
|
4542
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4543
|
+
return;
|
|
4544
|
+
}
|
|
4545
|
+
_this23.setLogUploadTimer();
|
|
4546
|
+
}, delay);
|
|
4547
|
+
}
|
|
4548
|
+
|
|
4549
|
+
/**
|
|
4550
|
+
* Starts a periodic upload of logs
|
|
4551
|
+
*
|
|
4552
|
+
* @returns {undefined}
|
|
4553
|
+
*/
|
|
4554
|
+
}, {
|
|
4555
|
+
key: "startPeriodicLogUpload",
|
|
4556
|
+
value: function startPeriodicLogUpload() {
|
|
4557
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4558
|
+
if (this.config.logUploadIntervalMultiplicationFactor && !this.uploadLogsTimer) {
|
|
4559
|
+
this.logUploadIntervalIndex = 0;
|
|
4560
|
+
this.setLogUploadTimer();
|
|
4561
|
+
}
|
|
4562
|
+
}
|
|
4563
|
+
|
|
4564
|
+
/**
|
|
4565
|
+
* Stops the periodic upload of logs
|
|
4566
|
+
*
|
|
4567
|
+
* @returns {undefined}
|
|
4568
|
+
*/
|
|
4569
|
+
}, {
|
|
4570
|
+
key: "stopPeriodicLogUpload",
|
|
4571
|
+
value: function stopPeriodicLogUpload() {
|
|
4572
|
+
if (this.uploadLogsTimer) {
|
|
4573
|
+
clearTimeout(this.uploadLogsTimer);
|
|
4574
|
+
this.uploadLogsTimer = undefined;
|
|
4575
|
+
}
|
|
4576
|
+
}
|
|
4577
|
+
|
|
4382
4578
|
/**
|
|
4383
4579
|
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
4384
4580
|
* @returns {undefined}
|
|
@@ -4413,7 +4609,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4413
4609
|
}, {
|
|
4414
4610
|
key: "closeRemoteStreams",
|
|
4415
4611
|
value: function closeRemoteStreams() {
|
|
4416
|
-
var
|
|
4612
|
+
var _this24 = this;
|
|
4417
4613
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4418
4614
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4419
4615
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4427,7 +4623,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4427
4623
|
*/
|
|
4428
4624
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4429
4625
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4430
|
-
_triggerProxy.default.trigger(
|
|
4626
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4431
4627
|
file: 'meeting/index',
|
|
4432
4628
|
function: 'closeRemoteStreams'
|
|
4433
4629
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4735,7 +4931,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4735
4931
|
}, {
|
|
4736
4932
|
key: "setMercuryListener",
|
|
4737
4933
|
value: function setMercuryListener() {
|
|
4738
|
-
var
|
|
4934
|
+
var _this25 = this;
|
|
4739
4935
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4740
4936
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4741
4937
|
// @ts-ignore
|
|
@@ -4743,33 +4939,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4743
4939
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4744
4940
|
|
|
4745
4941
|
// Only send restore event when it was disconnected before and for connected later
|
|
4746
|
-
if (!
|
|
4942
|
+
if (!_this25.hasWebsocketConnected) {
|
|
4747
4943
|
// @ts-ignore
|
|
4748
|
-
|
|
4944
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4749
4945
|
name: 'client.mercury.connection.restored',
|
|
4750
4946
|
options: {
|
|
4751
|
-
meetingId:
|
|
4947
|
+
meetingId: _this25.id
|
|
4752
4948
|
}
|
|
4753
4949
|
});
|
|
4754
4950
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4755
|
-
correlation_id:
|
|
4951
|
+
correlation_id: _this25.correlationId
|
|
4756
4952
|
});
|
|
4757
4953
|
}
|
|
4758
|
-
|
|
4954
|
+
_this25.hasWebsocketConnected = true;
|
|
4759
4955
|
});
|
|
4760
4956
|
|
|
4761
4957
|
// @ts-ignore
|
|
4762
4958
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4763
4959
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4764
4960
|
// @ts-ignore
|
|
4765
|
-
|
|
4961
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4766
4962
|
name: 'client.mercury.connection.lost',
|
|
4767
4963
|
options: {
|
|
4768
|
-
meetingId:
|
|
4964
|
+
meetingId: _this25.id
|
|
4769
4965
|
}
|
|
4770
4966
|
});
|
|
4771
4967
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4772
|
-
correlation_id:
|
|
4968
|
+
correlation_id: _this25.correlationId
|
|
4773
4969
|
});
|
|
4774
4970
|
});
|
|
4775
4971
|
}
|
|
@@ -4871,7 +5067,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4871
5067
|
}, {
|
|
4872
5068
|
key: "muteAudio",
|
|
4873
5069
|
value: function muteAudio() {
|
|
4874
|
-
var
|
|
5070
|
+
var _this26 = this;
|
|
4875
5071
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4876
5072
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4877
5073
|
}
|
|
@@ -4887,22 +5083,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4887
5083
|
|
|
4888
5084
|
// First, stop sending the local audio media
|
|
4889
5085
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4890
|
-
_util2.default.handleAudioLogging(
|
|
5086
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
4891
5087
|
// @ts-ignore
|
|
4892
|
-
|
|
5088
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4893
5089
|
name: 'client.muted',
|
|
4894
5090
|
payload: {
|
|
4895
5091
|
trigger: 'user-interaction',
|
|
4896
5092
|
mediaType: 'audio'
|
|
4897
5093
|
},
|
|
4898
5094
|
options: {
|
|
4899
|
-
meetingId:
|
|
5095
|
+
meetingId: _this26.id
|
|
4900
5096
|
}
|
|
4901
5097
|
});
|
|
4902
5098
|
}).catch(function (error) {
|
|
4903
5099
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
4904
|
-
correlation_id:
|
|
4905
|
-
locus_id:
|
|
5100
|
+
correlation_id: _this26.correlationId,
|
|
5101
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4906
5102
|
reason: error.message,
|
|
4907
5103
|
stack: error.stack
|
|
4908
5104
|
});
|
|
@@ -4921,7 +5117,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4921
5117
|
}, {
|
|
4922
5118
|
key: "unmuteAudio",
|
|
4923
5119
|
value: function unmuteAudio() {
|
|
4924
|
-
var
|
|
5120
|
+
var _this27 = this;
|
|
4925
5121
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4926
5122
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4927
5123
|
}
|
|
@@ -4937,22 +5133,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4937
5133
|
|
|
4938
5134
|
// First, send the control to unmute the participant on the server
|
|
4939
5135
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4940
|
-
_util2.default.handleAudioLogging(
|
|
5136
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
4941
5137
|
// @ts-ignore
|
|
4942
|
-
|
|
5138
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4943
5139
|
name: 'client.unmuted',
|
|
4944
5140
|
payload: {
|
|
4945
5141
|
trigger: 'user-interaction',
|
|
4946
5142
|
mediaType: 'audio'
|
|
4947
5143
|
},
|
|
4948
5144
|
options: {
|
|
4949
|
-
meetingId:
|
|
5145
|
+
meetingId: _this27.id
|
|
4950
5146
|
}
|
|
4951
5147
|
});
|
|
4952
5148
|
}).catch(function (error) {
|
|
4953
5149
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4954
|
-
correlation_id:
|
|
4955
|
-
locus_id:
|
|
5150
|
+
correlation_id: _this27.correlationId,
|
|
5151
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
4956
5152
|
reason: error.message,
|
|
4957
5153
|
stack: error.stack
|
|
4958
5154
|
});
|
|
@@ -4971,7 +5167,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4971
5167
|
}, {
|
|
4972
5168
|
key: "muteVideo",
|
|
4973
5169
|
value: function muteVideo() {
|
|
4974
|
-
var
|
|
5170
|
+
var _this28 = this;
|
|
4975
5171
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4976
5172
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4977
5173
|
}
|
|
@@ -4985,22 +5181,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4985
5181
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4986
5182
|
}
|
|
4987
5183
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4988
|
-
_util2.default.handleVideoLogging(
|
|
5184
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
4989
5185
|
// @ts-ignore
|
|
4990
|
-
|
|
5186
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
4991
5187
|
name: 'client.muted',
|
|
4992
5188
|
payload: {
|
|
4993
5189
|
trigger: 'user-interaction',
|
|
4994
5190
|
mediaType: 'video'
|
|
4995
5191
|
},
|
|
4996
5192
|
options: {
|
|
4997
|
-
meetingId:
|
|
5193
|
+
meetingId: _this28.id
|
|
4998
5194
|
}
|
|
4999
5195
|
});
|
|
5000
5196
|
}).catch(function (error) {
|
|
5001
5197
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5002
|
-
correlation_id:
|
|
5003
|
-
locus_id:
|
|
5198
|
+
correlation_id: _this28.correlationId,
|
|
5199
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5004
5200
|
reason: error.message,
|
|
5005
5201
|
stack: error.stack
|
|
5006
5202
|
});
|
|
@@ -5019,7 +5215,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5019
5215
|
}, {
|
|
5020
5216
|
key: "unmuteVideo",
|
|
5021
5217
|
value: function unmuteVideo() {
|
|
5022
|
-
var
|
|
5218
|
+
var _this29 = this;
|
|
5023
5219
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5024
5220
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5025
5221
|
}
|
|
@@ -5033,22 +5229,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5033
5229
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5034
5230
|
}
|
|
5035
5231
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5036
|
-
_util2.default.handleVideoLogging(
|
|
5232
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5037
5233
|
// @ts-ignore
|
|
5038
|
-
|
|
5234
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5039
5235
|
name: 'client.unmuted',
|
|
5040
5236
|
payload: {
|
|
5041
5237
|
trigger: 'user-interaction',
|
|
5042
5238
|
mediaType: 'video'
|
|
5043
5239
|
},
|
|
5044
5240
|
options: {
|
|
5045
|
-
meetingId:
|
|
5241
|
+
meetingId: _this29.id
|
|
5046
5242
|
}
|
|
5047
5243
|
});
|
|
5048
5244
|
}).catch(function (error) {
|
|
5049
5245
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5050
|
-
correlation_id:
|
|
5051
|
-
locus_id:
|
|
5246
|
+
correlation_id: _this29.correlationId,
|
|
5247
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5052
5248
|
reason: error.message,
|
|
5053
5249
|
stack: error.stack
|
|
5054
5250
|
});
|
|
@@ -5078,7 +5274,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5078
5274
|
key: "joinWithMedia",
|
|
5079
5275
|
value: (function () {
|
|
5080
5276
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5081
|
-
var
|
|
5277
|
+
var _this30 = this;
|
|
5082
5278
|
var options,
|
|
5083
5279
|
mediaOptions,
|
|
5084
5280
|
_options$joinOptions,
|
|
@@ -5118,34 +5314,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5118
5314
|
_context15.prev = 9;
|
|
5119
5315
|
forceTurnDiscovery = false;
|
|
5120
5316
|
if (joinResponse) {
|
|
5121
|
-
_context15.next =
|
|
5317
|
+
_context15.next = 33;
|
|
5122
5318
|
break;
|
|
5123
5319
|
}
|
|
5124
5320
|
_context15.next = 14;
|
|
5125
|
-
return this.webex.meetings.reachability.getReachabilityResults();
|
|
5126
|
-
case 14:
|
|
5127
|
-
joinOptions.reachability = _context15.sent;
|
|
5128
|
-
_context15.next = 17;
|
|
5129
5321
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5130
|
-
case
|
|
5322
|
+
case 14:
|
|
5131
5323
|
turnDiscoveryRequest = _context15.sent;
|
|
5132
5324
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5133
5325
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5134
5326
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5135
|
-
_context15.next =
|
|
5327
|
+
_context15.next = 20;
|
|
5136
5328
|
return this.join(joinOptions);
|
|
5137
|
-
case
|
|
5329
|
+
case 20:
|
|
5138
5330
|
joinResponse = _context15.sent;
|
|
5139
5331
|
joined = true;
|
|
5140
5332
|
|
|
5141
5333
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5142
5334
|
if (!joinOptions.roapMessage) {
|
|
5143
|
-
_context15.next =
|
|
5335
|
+
_context15.next = 31;
|
|
5144
5336
|
break;
|
|
5145
5337
|
}
|
|
5146
|
-
_context15.next =
|
|
5338
|
+
_context15.next = 25;
|
|
5147
5339
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5148
|
-
case
|
|
5340
|
+
case 25:
|
|
5149
5341
|
_yield$this$roap$hand = _context15.sent;
|
|
5150
5342
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5151
5343
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -5154,20 +5346,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5154
5346
|
if (turnServerInfo === undefined) {
|
|
5155
5347
|
this.roap.abortTurnDiscovery();
|
|
5156
5348
|
}
|
|
5157
|
-
case
|
|
5158
|
-
_context15.next =
|
|
5349
|
+
case 31:
|
|
5350
|
+
_context15.next = 35;
|
|
5159
5351
|
break;
|
|
5160
|
-
case
|
|
5352
|
+
case 33:
|
|
5161
5353
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
5162
5354
|
// but we need to ensure that it also does a new TURN discovery
|
|
5163
5355
|
forceTurnDiscovery = true;
|
|
5164
5356
|
joined = true;
|
|
5165
|
-
case
|
|
5166
|
-
_context15.next =
|
|
5357
|
+
case 35:
|
|
5358
|
+
_context15.next = 37;
|
|
5167
5359
|
return this.addMediaInternal(function () {
|
|
5168
|
-
return
|
|
5360
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5169
5361
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5170
|
-
case
|
|
5362
|
+
case 37:
|
|
5171
5363
|
mediaResponse = _context15.sent;
|
|
5172
5364
|
this.joinWithMediaRetryInfo = {
|
|
5173
5365
|
isRetry: false,
|
|
@@ -5177,30 +5369,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5177
5369
|
join: joinResponse,
|
|
5178
5370
|
media: mediaResponse
|
|
5179
5371
|
});
|
|
5180
|
-
case
|
|
5181
|
-
_context15.prev =
|
|
5372
|
+
case 42:
|
|
5373
|
+
_context15.prev = 42;
|
|
5182
5374
|
_context15.t0 = _context15["catch"](9);
|
|
5183
5375
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
5184
5376
|
this.roap.abortTurnDiscovery();
|
|
5185
5377
|
if (!(joined && isRetry)) {
|
|
5186
|
-
_context15.next =
|
|
5378
|
+
_context15.next = 56;
|
|
5187
5379
|
break;
|
|
5188
5380
|
}
|
|
5189
|
-
_context15.prev =
|
|
5190
|
-
_context15.next =
|
|
5381
|
+
_context15.prev = 47;
|
|
5382
|
+
_context15.next = 50;
|
|
5191
5383
|
return this.leave({
|
|
5192
5384
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5193
5385
|
reason: 'joinWithMedia failure'
|
|
5194
5386
|
});
|
|
5195
|
-
case
|
|
5196
|
-
_context15.next =
|
|
5387
|
+
case 50:
|
|
5388
|
+
_context15.next = 56;
|
|
5197
5389
|
break;
|
|
5198
|
-
case
|
|
5199
|
-
_context15.prev =
|
|
5200
|
-
_context15.t1 = _context15["catch"](
|
|
5390
|
+
case 52:
|
|
5391
|
+
_context15.prev = 52;
|
|
5392
|
+
_context15.t1 = _context15["catch"](47);
|
|
5201
5393
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
5202
5394
|
leaveError = _context15.t1;
|
|
5203
|
-
case
|
|
5395
|
+
case 56:
|
|
5204
5396
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5205
5397
|
correlation_id: this.correlationId,
|
|
5206
5398
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
@@ -5221,24 +5413,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5221
5413
|
shouldRetry = false;
|
|
5222
5414
|
}
|
|
5223
5415
|
if (!shouldRetry) {
|
|
5224
|
-
_context15.next =
|
|
5416
|
+
_context15.next = 64;
|
|
5225
5417
|
break;
|
|
5226
5418
|
}
|
|
5227
5419
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5228
5420
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5229
5421
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5230
5422
|
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5231
|
-
case
|
|
5423
|
+
case 64:
|
|
5232
5424
|
this.joinWithMediaRetryInfo = {
|
|
5233
5425
|
isRetry: false,
|
|
5234
5426
|
prevJoinResponse: undefined
|
|
5235
5427
|
};
|
|
5236
5428
|
throw _context15.t0;
|
|
5237
|
-
case
|
|
5429
|
+
case 66:
|
|
5238
5430
|
case "end":
|
|
5239
5431
|
return _context15.stop();
|
|
5240
5432
|
}
|
|
5241
|
-
}, _callee15, this, [[9,
|
|
5433
|
+
}, _callee15, this, [[9, 42], [47, 52]]);
|
|
5242
5434
|
}));
|
|
5243
5435
|
function joinWithMedia() {
|
|
5244
5436
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5257,7 +5449,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5257
5449
|
}, {
|
|
5258
5450
|
key: "reconnect",
|
|
5259
5451
|
value: function reconnect(options) {
|
|
5260
|
-
var
|
|
5452
|
+
var _this31 = this;
|
|
5261
5453
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5262
5454
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5263
5455
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5267,15 +5459,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5267
5459
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5268
5460
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5269
5461
|
}
|
|
5462
|
+
this.cleanUpBeforeReconnection();
|
|
5270
5463
|
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5271
5464
|
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5272
5465
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5273
5466
|
case 0:
|
|
5274
5467
|
_context16.next = 2;
|
|
5275
|
-
return
|
|
5468
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5276
5469
|
case 2:
|
|
5277
5470
|
_context16.next = 4;
|
|
5278
|
-
return
|
|
5471
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5279
5472
|
case 4:
|
|
5280
5473
|
case "end":
|
|
5281
5474
|
return _context16.stop();
|
|
@@ -5289,7 +5482,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5289
5482
|
return _promise.default.resolve();
|
|
5290
5483
|
}
|
|
5291
5484
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5292
|
-
|
|
5485
|
+
_this31.uploadLogs({
|
|
5293
5486
|
file: 'meeting/index',
|
|
5294
5487
|
function: 'reconnect'
|
|
5295
5488
|
});
|
|
@@ -5336,19 +5529,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5336
5529
|
}, {
|
|
5337
5530
|
key: "setCaptionLanguage",
|
|
5338
5531
|
value: function setCaptionLanguage(language) {
|
|
5339
|
-
var
|
|
5532
|
+
var _this32 = this;
|
|
5340
5533
|
return new _promise.default(function (resolve, reject) {
|
|
5341
|
-
if (!
|
|
5534
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5342
5535
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5343
5536
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5344
5537
|
}
|
|
5345
5538
|
try {
|
|
5346
5539
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5347
5540
|
// @ts-ignore
|
|
5348
|
-
|
|
5541
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5349
5542
|
var statusCode = payload.statusCode;
|
|
5350
5543
|
if (statusCode === 200) {
|
|
5351
|
-
|
|
5544
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5352
5545
|
currentCaptionLanguage: language
|
|
5353
5546
|
});
|
|
5354
5547
|
resolve(language);
|
|
@@ -5357,9 +5550,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5357
5550
|
}
|
|
5358
5551
|
};
|
|
5359
5552
|
// @ts-ignore
|
|
5360
|
-
|
|
5553
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5361
5554
|
// @ts-ignore
|
|
5362
|
-
|
|
5555
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5363
5556
|
} catch (error) {
|
|
5364
5557
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5365
5558
|
reject(error);
|
|
@@ -5375,23 +5568,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5375
5568
|
}, {
|
|
5376
5569
|
key: "setSpokenLanguage",
|
|
5377
5570
|
value: function setSpokenLanguage(language) {
|
|
5378
|
-
var
|
|
5571
|
+
var _this33 = this;
|
|
5379
5572
|
return new _promise.default(function (resolve, reject) {
|
|
5380
|
-
if (!
|
|
5573
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5381
5574
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5382
5575
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5383
5576
|
}
|
|
5384
|
-
if (
|
|
5577
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5385
5578
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5386
5579
|
reject(new Error('Only host can set spoken language'));
|
|
5387
5580
|
}
|
|
5388
5581
|
try {
|
|
5389
5582
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5390
5583
|
// @ts-ignore
|
|
5391
|
-
|
|
5584
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5392
5585
|
var languageCode = payload.languageCode;
|
|
5393
5586
|
if (languageCode) {
|
|
5394
|
-
|
|
5587
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5395
5588
|
currentSpokenLanguage: languageCode
|
|
5396
5589
|
});
|
|
5397
5590
|
resolve(languageCode);
|
|
@@ -5401,10 +5594,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5401
5594
|
};
|
|
5402
5595
|
|
|
5403
5596
|
// @ts-ignore
|
|
5404
|
-
|
|
5597
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5405
5598
|
|
|
5406
5599
|
// @ts-ignore
|
|
5407
|
-
|
|
5600
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5408
5601
|
} catch (error) {
|
|
5409
5602
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5410
5603
|
reject(error);
|
|
@@ -5524,7 +5717,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5524
5717
|
*/
|
|
5525
5718
|
function () {
|
|
5526
5719
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5527
|
-
var
|
|
5720
|
+
var _this34 = this;
|
|
5528
5721
|
var options,
|
|
5529
5722
|
errorMessage,
|
|
5530
5723
|
error,
|
|
@@ -5670,62 +5863,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5670
5863
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5671
5864
|
case 51:
|
|
5672
5865
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5673
|
-
|
|
5674
|
-
|
|
5866
|
+
_this34.meetingFiniteStateMachine.join();
|
|
5867
|
+
_this34.setupLocusMediaRequest();
|
|
5675
5868
|
|
|
5676
5869
|
// @ts-ignore
|
|
5677
|
-
|
|
5678
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5870
|
+
_this34.webex.internal.device.meetingStarted();
|
|
5871
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5679
5872
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5680
5873
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5681
|
-
correlation_id:
|
|
5874
|
+
correlation_id: _this34.correlationId
|
|
5682
5875
|
});
|
|
5683
5876
|
joinSuccess(join);
|
|
5684
|
-
|
|
5877
|
+
_this34.deferJoin = undefined;
|
|
5685
5878
|
return join;
|
|
5686
5879
|
}).catch(function (error) {
|
|
5687
|
-
var
|
|
5688
|
-
|
|
5880
|
+
var _this34$meetingInfo, _error$error;
|
|
5881
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
5689
5882
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5690
5883
|
|
|
5691
5884
|
// @ts-ignore
|
|
5692
|
-
|
|
5885
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
5693
5886
|
name: 'client.locus.join.response',
|
|
5694
5887
|
payload: {
|
|
5695
5888
|
identifiers: {
|
|
5696
|
-
meetingLookupUrl: (
|
|
5889
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
5697
5890
|
}
|
|
5698
5891
|
},
|
|
5699
5892
|
options: {
|
|
5700
|
-
meetingId:
|
|
5893
|
+
meetingId: _this34.id,
|
|
5701
5894
|
rawError: error
|
|
5702
5895
|
}
|
|
5703
5896
|
});
|
|
5704
5897
|
|
|
5705
5898
|
// TODO: change this to error codes and pre defined dictionary
|
|
5706
5899
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5707
|
-
correlation_id:
|
|
5900
|
+
correlation_id: _this34.correlationId,
|
|
5708
5901
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5709
5902
|
stack: error.stack
|
|
5710
5903
|
});
|
|
5711
5904
|
|
|
5712
5905
|
// Upload logs on join Failure
|
|
5713
|
-
_triggerProxy.default.trigger(
|
|
5906
|
+
_triggerProxy.default.trigger(_this34, {
|
|
5714
5907
|
file: 'meeting/index',
|
|
5715
5908
|
function: 'join'
|
|
5716
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5909
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
5717
5910
|
joinFailed(error);
|
|
5718
|
-
|
|
5911
|
+
_this34.deferJoin = undefined;
|
|
5719
5912
|
return _promise.default.reject(error);
|
|
5720
5913
|
}).then(function (join) {
|
|
5721
5914
|
// @ts-ignore - config coming from registerPlugin
|
|
5722
|
-
if (
|
|
5915
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
5723
5916
|
// @ts-ignore
|
|
5724
|
-
|
|
5725
|
-
|
|
5917
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
5918
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
5726
5919
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5727
5920
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5728
|
-
correlation_id:
|
|
5921
|
+
correlation_id: _this34.correlationId,
|
|
5729
5922
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5730
5923
|
stack: error.stack
|
|
5731
5924
|
});
|
|
@@ -5757,7 +5950,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5757
5950
|
key: "updateLLMConnection",
|
|
5758
5951
|
value: (function () {
|
|
5759
5952
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5760
|
-
var
|
|
5953
|
+
var _this35 = this;
|
|
5761
5954
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5762
5955
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5763
5956
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5793,9 +5986,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5793
5986
|
case 10:
|
|
5794
5987
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5795
5988
|
// @ts-ignore - Fix type
|
|
5796
|
-
|
|
5989
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
5797
5990
|
// @ts-ignore - Fix type
|
|
5798
|
-
|
|
5991
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
5799
5992
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5800
5993
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5801
5994
|
}));
|
|
@@ -5849,7 +6042,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5849
6042
|
}, {
|
|
5850
6043
|
key: "dialInPstn",
|
|
5851
6044
|
value: function dialInPstn() {
|
|
5852
|
-
var
|
|
6045
|
+
var _this36 = this;
|
|
5853
6046
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5854
6047
|
|
|
5855
6048
|
var correlationId = this.correlationId,
|
|
@@ -5865,10 +6058,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5865
6058
|
}).catch(function (error) {
|
|
5866
6059
|
var _error$error2;
|
|
5867
6060
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5868
|
-
correlation_id:
|
|
5869
|
-
dial_in_url:
|
|
6061
|
+
correlation_id: _this36.correlationId,
|
|
6062
|
+
dial_in_url: _this36.dialInUrl,
|
|
5870
6063
|
locus_id: locusUrl.split('/').pop(),
|
|
5871
|
-
client_url:
|
|
6064
|
+
client_url: _this36.deviceUrl,
|
|
5872
6065
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5873
6066
|
stack: error.stack
|
|
5874
6067
|
});
|
|
@@ -5886,7 +6079,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5886
6079
|
}, {
|
|
5887
6080
|
key: "dialOutPstn",
|
|
5888
6081
|
value: function dialOutPstn(phoneNumber) {
|
|
5889
|
-
var
|
|
6082
|
+
var _this37 = this;
|
|
5890
6083
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5891
6084
|
|
|
5892
6085
|
var correlationId = this.correlationId,
|
|
@@ -5903,10 +6096,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5903
6096
|
}).catch(function (error) {
|
|
5904
6097
|
var _error$error3;
|
|
5905
6098
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5906
|
-
correlation_id:
|
|
5907
|
-
dial_out_url:
|
|
6099
|
+
correlation_id: _this37.correlationId,
|
|
6100
|
+
dial_out_url: _this37.dialOutUrl,
|
|
5908
6101
|
locus_id: locusUrl.split('/').pop(),
|
|
5909
|
-
client_url:
|
|
6102
|
+
client_url: _this37.deviceUrl,
|
|
5910
6103
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5911
6104
|
stack: error.stack
|
|
5912
6105
|
});
|
|
@@ -5937,7 +6130,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5937
6130
|
}, {
|
|
5938
6131
|
key: "moveTo",
|
|
5939
6132
|
value: function moveTo(resourceId) {
|
|
5940
|
-
var
|
|
6133
|
+
var _this38 = this;
|
|
5941
6134
|
if (!resourceId) {
|
|
5942
6135
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5943
6136
|
}
|
|
@@ -5981,12 +6174,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5981
6174
|
while (1) switch (_context20.prev = _context20.next) {
|
|
5982
6175
|
case 0:
|
|
5983
6176
|
_context20.prev = 0;
|
|
5984
|
-
if (!(
|
|
6177
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5985
6178
|
_context20.next = 4;
|
|
5986
6179
|
break;
|
|
5987
6180
|
}
|
|
5988
6181
|
_context20.next = 4;
|
|
5989
|
-
return
|
|
6182
|
+
return _this38.releaseScreenShareFloor();
|
|
5990
6183
|
case 4:
|
|
5991
6184
|
mediaSettings = {
|
|
5992
6185
|
mediaDirection: {
|
|
@@ -5998,37 +6191,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5998
6191
|
receiveShare: true
|
|
5999
6192
|
}
|
|
6000
6193
|
};
|
|
6001
|
-
|
|
6002
|
-
|
|
6194
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6195
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6003
6196
|
|
|
6004
6197
|
// 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
6198
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6006
|
-
if (!
|
|
6199
|
+
if (!_this38.statsAnalyzer) {
|
|
6007
6200
|
_context20.next = 10;
|
|
6008
6201
|
break;
|
|
6009
6202
|
}
|
|
6010
6203
|
_context20.next = 10;
|
|
6011
|
-
return
|
|
6204
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6012
6205
|
case 10:
|
|
6013
6206
|
_context20.next = 12;
|
|
6014
|
-
return
|
|
6207
|
+
return _this38.closeRemoteStreams();
|
|
6015
6208
|
case 12:
|
|
6016
6209
|
_context20.next = 14;
|
|
6017
|
-
return
|
|
6210
|
+
return _this38.closePeerConnections();
|
|
6018
6211
|
case 14:
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6212
|
+
_this38.cleanupLocalStreams();
|
|
6213
|
+
_this38.unsetRemoteStreams();
|
|
6214
|
+
_this38.unsetPeerConnections();
|
|
6215
|
+
_this38.reconnectionManager.cleanUp();
|
|
6023
6216
|
_context20.next = 20;
|
|
6024
|
-
return
|
|
6217
|
+
return _this38.addMedia({
|
|
6025
6218
|
audioEnabled: false,
|
|
6026
6219
|
videoEnabled: false,
|
|
6027
6220
|
shareVideoEnabled: true
|
|
6028
6221
|
});
|
|
6029
6222
|
case 20:
|
|
6030
6223
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6031
|
-
|
|
6224
|
+
_this38.isMoveToInProgress = false;
|
|
6032
6225
|
_context20.next = 29;
|
|
6033
6226
|
break;
|
|
6034
6227
|
case 24:
|
|
@@ -6036,12 +6229,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6036
6229
|
_context20.t0 = _context20["catch"](0);
|
|
6037
6230
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6038
6231
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6039
|
-
correlation_id:
|
|
6040
|
-
locus_id:
|
|
6232
|
+
correlation_id: _this38.correlationId,
|
|
6233
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6041
6234
|
reason: _context20.t0.message,
|
|
6042
6235
|
stack: _context20.t0.stack
|
|
6043
6236
|
});
|
|
6044
|
-
|
|
6237
|
+
_this38.isMoveToInProgress = false;
|
|
6045
6238
|
case 29:
|
|
6046
6239
|
case "end":
|
|
6047
6240
|
return _context20.stop();
|
|
@@ -6057,17 +6250,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6057
6250
|
resourceId: resourceId,
|
|
6058
6251
|
moveToResource: true
|
|
6059
6252
|
}).then(function () {
|
|
6060
|
-
|
|
6253
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6061
6254
|
}).catch(function (error) {
|
|
6062
|
-
|
|
6255
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6063
6256
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6064
|
-
correlation_id:
|
|
6065
|
-
locus_id:
|
|
6257
|
+
correlation_id: _this38.correlationId,
|
|
6258
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6066
6259
|
reason: error.message,
|
|
6067
6260
|
stack: error.stack
|
|
6068
6261
|
});
|
|
6069
6262
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6070
|
-
|
|
6263
|
+
_this38.isMoveToInProgress = false;
|
|
6071
6264
|
return _promise.default.reject(error);
|
|
6072
6265
|
});
|
|
6073
6266
|
}
|
|
@@ -6082,7 +6275,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6082
6275
|
}, {
|
|
6083
6276
|
key: "moveFrom",
|
|
6084
6277
|
value: function moveFrom(resourceId) {
|
|
6085
|
-
var
|
|
6278
|
+
var _this39 = this;
|
|
6086
6279
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6087
6280
|
if (!resourceId) {
|
|
6088
6281
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6097,19 +6290,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6097
6290
|
}
|
|
6098
6291
|
});
|
|
6099
6292
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6100
|
-
return _util2.default.leaveMeeting(
|
|
6293
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6101
6294
|
resourceId: resourceId,
|
|
6102
6295
|
correlationId: oldCorrelationId,
|
|
6103
6296
|
moveMeeting: true
|
|
6104
6297
|
}).then(function () {
|
|
6105
|
-
|
|
6298
|
+
_this39.resourceId = '';
|
|
6106
6299
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6107
6300
|
});
|
|
6108
6301
|
}).catch(function (error) {
|
|
6109
|
-
|
|
6302
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6110
6303
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6111
|
-
correlation_id:
|
|
6112
|
-
locus_id:
|
|
6304
|
+
correlation_id: _this39.correlationId,
|
|
6305
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6113
6306
|
reason: error.message,
|
|
6114
6307
|
stack: error.stack
|
|
6115
6308
|
});
|
|
@@ -6222,9 +6415,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6222
6415
|
}, {
|
|
6223
6416
|
key: "forwardEvent",
|
|
6224
6417
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6225
|
-
var
|
|
6418
|
+
var _this40 = this;
|
|
6226
6419
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6227
|
-
return _triggerProxy.default.trigger(
|
|
6420
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6228
6421
|
file: 'meetings',
|
|
6229
6422
|
function: 'addMedia'
|
|
6230
6423
|
}, meetingEventType, data);
|
|
@@ -6411,7 +6604,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6411
6604
|
*/
|
|
6412
6605
|
function () {
|
|
6413
6606
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6414
|
-
var
|
|
6607
|
+
var _this41 = this;
|
|
6415
6608
|
var LOG_HEADER, deferSDPAnswer;
|
|
6416
6609
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6417
6610
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6428,18 +6621,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6428
6621
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6429
6622
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6430
6623
|
// @ts-ignore
|
|
6431
|
-
|
|
6624
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6432
6625
|
name: 'client.media-engine.remote-sdp-received',
|
|
6433
6626
|
payload: {
|
|
6434
6627
|
canProceed: false,
|
|
6435
6628
|
errors: [
|
|
6436
6629
|
// @ts-ignore
|
|
6437
|
-
|
|
6630
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6438
6631
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6439
6632
|
})]
|
|
6440
6633
|
},
|
|
6441
6634
|
options: {
|
|
6442
|
-
meetingId:
|
|
6635
|
+
meetingId: _this41.id,
|
|
6443
6636
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6444
6637
|
}
|
|
6445
6638
|
});
|
|
@@ -6825,6 +7018,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6825
7018
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
6826
7019
|
}
|
|
6827
7020
|
return cleanUpBeforeRetryWithTurnServer;
|
|
7021
|
+
}())
|
|
7022
|
+
}, {
|
|
7023
|
+
key: "cleanUpBeforeReconnection",
|
|
7024
|
+
value: function () {
|
|
7025
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7026
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
7027
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7028
|
+
case 0:
|
|
7029
|
+
_context32.prev = 0;
|
|
7030
|
+
_context32.next = 3;
|
|
7031
|
+
return this.forceSendStatsReport({
|
|
7032
|
+
callFrom: 'cleanUpBeforeReconnection'
|
|
7033
|
+
});
|
|
7034
|
+
case 3:
|
|
7035
|
+
if (!this.statsAnalyzer) {
|
|
7036
|
+
_context32.next = 6;
|
|
7037
|
+
break;
|
|
7038
|
+
}
|
|
7039
|
+
_context32.next = 6;
|
|
7040
|
+
return this.statsAnalyzer.stopAnalyzer();
|
|
7041
|
+
case 6:
|
|
7042
|
+
_context32.next = 11;
|
|
7043
|
+
break;
|
|
7044
|
+
case 8:
|
|
7045
|
+
_context32.prev = 8;
|
|
7046
|
+
_context32.t0 = _context32["catch"](0);
|
|
7047
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context32.t0);
|
|
7048
|
+
case 11:
|
|
7049
|
+
case "end":
|
|
7050
|
+
return _context32.stop();
|
|
7051
|
+
}
|
|
7052
|
+
}, _callee32, this, [[0, 8]]);
|
|
7053
|
+
}));
|
|
7054
|
+
function cleanUpBeforeReconnection() {
|
|
7055
|
+
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
7056
|
+
}
|
|
7057
|
+
return cleanUpBeforeReconnection;
|
|
6828
7058
|
}()
|
|
6829
7059
|
/**
|
|
6830
7060
|
* Creates an instance of LocusMediaRequest for this meeting - it is needed for doing any calls
|
|
@@ -6832,7 +7062,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6832
7062
|
*
|
|
6833
7063
|
* @returns {void}
|
|
6834
7064
|
*/
|
|
6835
|
-
)
|
|
6836
7065
|
}, {
|
|
6837
7066
|
key: "setupLocusMediaRequest",
|
|
6838
7067
|
value: function setupLocusMediaRequest() {
|
|
@@ -6867,10 +7096,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6867
7096
|
}, {
|
|
6868
7097
|
key: "addMedia",
|
|
6869
7098
|
value: function addMedia() {
|
|
6870
|
-
var
|
|
7099
|
+
var _this42 = this;
|
|
6871
7100
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6872
7101
|
return this.addMediaInternal(function () {
|
|
6873
|
-
return
|
|
7102
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
6874
7103
|
}, undefined, false, options);
|
|
6875
7104
|
}
|
|
6876
7105
|
|
|
@@ -6888,7 +7117,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6888
7117
|
}, {
|
|
6889
7118
|
key: "addMediaInternal",
|
|
6890
7119
|
value: (function () {
|
|
6891
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7120
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
6892
7121
|
var options,
|
|
6893
7122
|
LOG_HEADER,
|
|
6894
7123
|
localStreams,
|
|
@@ -6901,6 +7130,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6901
7130
|
_options$shareVideoEn,
|
|
6902
7131
|
shareVideoEnabled,
|
|
6903
7132
|
remoteMediaManagerConfig,
|
|
7133
|
+
_options$bundlePolicy,
|
|
6904
7134
|
bundlePolicy,
|
|
6905
7135
|
_this$remoteMediaMana,
|
|
6906
7136
|
_yield$this$mediaProp,
|
|
@@ -6935,35 +7165,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6935
7165
|
_selectedCandidatePairChanges,
|
|
6936
7166
|
_numTransports,
|
|
6937
7167
|
_iceCandidateErrors,
|
|
6938
|
-
|
|
6939
|
-
return _regenerator.default.wrap(function
|
|
6940
|
-
while (1) switch (
|
|
7168
|
+
_args33 = arguments;
|
|
7169
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7170
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6941
7171
|
case 0:
|
|
6942
|
-
options =
|
|
7172
|
+
options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
|
|
6943
7173
|
this.addMediaData.retriedWithTurnServer = false;
|
|
6944
7174
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
6945
7175
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6946
7176
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6947
7177
|
_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
7178
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6949
|
-
|
|
7179
|
+
_context33.next = 8;
|
|
6950
7180
|
break;
|
|
6951
7181
|
}
|
|
6952
7182
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6953
7183
|
case 8:
|
|
6954
7184
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6955
|
-
|
|
7185
|
+
_context33.next = 10;
|
|
6956
7186
|
break;
|
|
6957
7187
|
}
|
|
6958
7188
|
throw new _webexErrors.UserNotJoinedError();
|
|
6959
7189
|
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;
|
|
7190
|
+
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
7191
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6962
7192
|
|
|
6963
7193
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6964
7194
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6965
7195
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6966
|
-
|
|
7196
|
+
_context33.next = 14;
|
|
6967
7197
|
break;
|
|
6968
7198
|
}
|
|
6969
7199
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7006,45 +7236,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7006
7236
|
});
|
|
7007
7237
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7008
7238
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7009
|
-
|
|
7010
|
-
|
|
7239
|
+
_context33.prev = 18;
|
|
7240
|
+
_context33.next = 21;
|
|
7011
7241
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7012
7242
|
case 21:
|
|
7013
7243
|
this.setMercuryListener();
|
|
7014
7244
|
this.createStatsAnalyzer();
|
|
7015
|
-
|
|
7245
|
+
_context33.next = 25;
|
|
7016
7246
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7017
7247
|
case 25:
|
|
7018
7248
|
if (!(audioEnabled || videoEnabled)) {
|
|
7019
|
-
|
|
7249
|
+
_context33.next = 30;
|
|
7020
7250
|
break;
|
|
7021
7251
|
}
|
|
7022
|
-
|
|
7252
|
+
_context33.next = 28;
|
|
7023
7253
|
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
7024
7254
|
case 28:
|
|
7025
|
-
|
|
7255
|
+
_context33.next = 31;
|
|
7026
7256
|
break;
|
|
7027
7257
|
case 30:
|
|
7028
7258
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
7029
7259
|
case 31:
|
|
7030
7260
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7031
|
-
|
|
7261
|
+
_context33.next = 34;
|
|
7032
7262
|
break;
|
|
7033
7263
|
}
|
|
7034
|
-
|
|
7264
|
+
_context33.next = 34;
|
|
7035
7265
|
return this.enqueueScreenShareFloorRequest();
|
|
7036
7266
|
case 34:
|
|
7037
|
-
|
|
7267
|
+
_context33.next = 36;
|
|
7038
7268
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7039
7269
|
case 36:
|
|
7040
|
-
_yield$this$mediaProp =
|
|
7270
|
+
_yield$this$mediaProp = _context33.sent;
|
|
7041
7271
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7042
7272
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7043
7273
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7044
|
-
|
|
7274
|
+
_context33.next = 42;
|
|
7045
7275
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7046
7276
|
case 42:
|
|
7047
|
-
reachabilityStats =
|
|
7277
|
+
reachabilityStats = _context33.sent;
|
|
7048
7278
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7049
7279
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
7050
7280
|
correlation_id: this.correlationId,
|
|
@@ -7069,31 +7299,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7069
7299
|
|
|
7070
7300
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7071
7301
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7072
|
-
|
|
7302
|
+
this.startPeriodicLogUpload();
|
|
7303
|
+
_context33.next = 69;
|
|
7073
7304
|
break;
|
|
7074
|
-
case
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
7305
|
+
case 51:
|
|
7306
|
+
_context33.prev = 51;
|
|
7307
|
+
_context33.t0 = _context33["catch"](18);
|
|
7308
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7078
7309
|
|
|
7079
7310
|
// @ts-ignore
|
|
7080
|
-
|
|
7311
|
+
_context33.next = 56;
|
|
7081
7312
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7082
|
-
case
|
|
7083
|
-
reachabilityMetrics =
|
|
7084
|
-
|
|
7313
|
+
case 56:
|
|
7314
|
+
reachabilityMetrics = _context33.sent;
|
|
7315
|
+
_context33.next = 59;
|
|
7085
7316
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7086
|
-
case
|
|
7087
|
-
_yield$this$mediaProp2 =
|
|
7317
|
+
case 59:
|
|
7318
|
+
_yield$this$mediaProp2 = _context33.sent;
|
|
7088
7319
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7089
7320
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7090
7321
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7091
7322
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7092
7323
|
correlation_id: this.correlationId,
|
|
7093
7324
|
locus_id: this.locusUrl.split('/').pop(),
|
|
7094
|
-
reason:
|
|
7095
|
-
stack:
|
|
7096
|
-
code:
|
|
7325
|
+
reason: _context33.t0.message,
|
|
7326
|
+
stack: _context33.t0.stack,
|
|
7327
|
+
code: _context33.t0.code,
|
|
7097
7328
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
7098
7329
|
numTransports: _numTransports,
|
|
7099
7330
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -7107,29 +7338,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7107
7338
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7108
7339
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7109
7340
|
}));
|
|
7110
|
-
|
|
7341
|
+
_context33.next = 66;
|
|
7111
7342
|
return this.cleanUpOnAddMediaFailure();
|
|
7112
|
-
case
|
|
7343
|
+
case 66:
|
|
7113
7344
|
// Upload logs on error while adding media
|
|
7114
7345
|
_triggerProxy.default.trigger(this, {
|
|
7115
7346
|
file: 'meeting/index',
|
|
7116
7347
|
function: 'addMedia'
|
|
7117
7348
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
7118
|
-
if (
|
|
7349
|
+
if (_context33.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
7119
7350
|
this.leave({
|
|
7120
7351
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
7121
7352
|
});
|
|
7122
7353
|
}
|
|
7123
|
-
throw
|
|
7124
|
-
case
|
|
7125
|
-
|
|
7354
|
+
throw _context33.t0;
|
|
7355
|
+
case 69:
|
|
7356
|
+
_context33.prev = 69;
|
|
7126
7357
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7127
|
-
return
|
|
7128
|
-
case
|
|
7358
|
+
return _context33.finish(69);
|
|
7359
|
+
case 72:
|
|
7129
7360
|
case "end":
|
|
7130
|
-
return
|
|
7361
|
+
return _context33.stop();
|
|
7131
7362
|
}
|
|
7132
|
-
},
|
|
7363
|
+
}, _callee33, this, [[18, 51, 69, 72]]);
|
|
7133
7364
|
}));
|
|
7134
7365
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7135
7366
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7161,7 +7392,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7161
7392
|
* @memberof Meeting
|
|
7162
7393
|
*/
|
|
7163
7394
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7164
|
-
var
|
|
7395
|
+
var _this43 = this;
|
|
7165
7396
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7166
7397
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7167
7398
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7172,9 +7403,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7172
7403
|
options: options
|
|
7173
7404
|
};
|
|
7174
7405
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7175
|
-
|
|
7406
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7176
7407
|
if (canUpdateMediaNow) {
|
|
7177
|
-
|
|
7408
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7178
7409
|
}
|
|
7179
7410
|
});
|
|
7180
7411
|
}
|
|
@@ -7197,35 +7428,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7197
7428
|
* @memberof Meeting
|
|
7198
7429
|
*/
|
|
7199
7430
|
function () {
|
|
7200
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7431
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
|
|
7201
7432
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
7202
|
-
return _regenerator.default.wrap(function
|
|
7203
|
-
while (1) switch (
|
|
7433
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7434
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7204
7435
|
case 0:
|
|
7205
7436
|
this.checkMediaConnection();
|
|
7206
7437
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
7207
7438
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
7208
7439
|
if (this.canUpdateMedia()) {
|
|
7209
|
-
|
|
7440
|
+
_context34.next = 5;
|
|
7210
7441
|
break;
|
|
7211
7442
|
}
|
|
7212
|
-
return
|
|
7443
|
+
return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
7213
7444
|
case 5:
|
|
7214
7445
|
if (!this.isMultistream) {
|
|
7215
|
-
|
|
7446
|
+
_context34.next = 10;
|
|
7216
7447
|
break;
|
|
7217
7448
|
}
|
|
7218
7449
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
7219
|
-
|
|
7450
|
+
_context34.next = 8;
|
|
7220
7451
|
break;
|
|
7221
7452
|
}
|
|
7222
7453
|
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
7454
|
case 8:
|
|
7224
|
-
|
|
7455
|
+
_context34.next = 12;
|
|
7225
7456
|
break;
|
|
7226
7457
|
case 10:
|
|
7227
7458
|
if (!(shareAudioEnabled !== undefined)) {
|
|
7228
|
-
|
|
7459
|
+
_context34.next = 12;
|
|
7229
7460
|
break;
|
|
7230
7461
|
}
|
|
7231
7462
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -7250,18 +7481,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7250
7481
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
7251
7482
|
}
|
|
7252
7483
|
if (this.isMultistream) {
|
|
7253
|
-
|
|
7484
|
+
_context34.next = 18;
|
|
7254
7485
|
break;
|
|
7255
7486
|
}
|
|
7256
|
-
|
|
7487
|
+
_context34.next = 18;
|
|
7257
7488
|
return this.updateTranscodedMediaConnection();
|
|
7258
7489
|
case 18:
|
|
7259
|
-
return
|
|
7490
|
+
return _context34.abrupt("return", undefined);
|
|
7260
7491
|
case 19:
|
|
7261
7492
|
case "end":
|
|
7262
|
-
return
|
|
7493
|
+
return _context34.stop();
|
|
7263
7494
|
}
|
|
7264
|
-
},
|
|
7495
|
+
}, _callee34, this);
|
|
7265
7496
|
}));
|
|
7266
7497
|
function updateMedia(_x35) {
|
|
7267
7498
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7279,7 +7510,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7279
7510
|
}, {
|
|
7280
7511
|
key: "acknowledge",
|
|
7281
7512
|
value: function acknowledge(type) {
|
|
7282
|
-
var
|
|
7513
|
+
var _this44 = this;
|
|
7283
7514
|
if (!type) {
|
|
7284
7515
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7285
7516
|
}
|
|
@@ -7291,12 +7522,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7291
7522
|
}).then(function (response) {
|
|
7292
7523
|
return _promise.default.resolve(response);
|
|
7293
7524
|
}).then(function (response) {
|
|
7294
|
-
|
|
7525
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7295
7526
|
// @ts-ignore
|
|
7296
|
-
|
|
7527
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7297
7528
|
name: 'client.alert.displayed',
|
|
7298
7529
|
options: {
|
|
7299
|
-
meetingId:
|
|
7530
|
+
meetingId: _this44.id
|
|
7300
7531
|
}
|
|
7301
7532
|
});
|
|
7302
7533
|
return _promise.default.resolve({
|
|
@@ -7321,12 +7552,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7321
7552
|
}, {
|
|
7322
7553
|
key: "decline",
|
|
7323
7554
|
value: function decline(reason) {
|
|
7324
|
-
var
|
|
7555
|
+
var _this45 = this;
|
|
7325
7556
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7326
|
-
|
|
7557
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7327
7558
|
return _promise.default.resolve(decline);
|
|
7328
7559
|
}).catch(function (error) {
|
|
7329
|
-
|
|
7560
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7330
7561
|
return _promise.default.reject(error);
|
|
7331
7562
|
});
|
|
7332
7563
|
}
|
|
@@ -7377,7 +7608,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7377
7608
|
}, {
|
|
7378
7609
|
key: "leave",
|
|
7379
7610
|
value: function leave() {
|
|
7380
|
-
var
|
|
7611
|
+
var _this46 = this;
|
|
7381
7612
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7382
7613
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7383
7614
|
|
|
@@ -7389,7 +7620,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7389
7620
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7390
7621
|
return (
|
|
7391
7622
|
// @ts-ignore
|
|
7392
|
-
|
|
7623
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7393
7624
|
name: 'client.call.leave',
|
|
7394
7625
|
payload: _objectSpread({
|
|
7395
7626
|
trigger: 'user-interaction',
|
|
@@ -7397,7 +7628,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7397
7628
|
leaveReason: options.clientEventLeaveReason
|
|
7398
7629
|
}, payload),
|
|
7399
7630
|
options: {
|
|
7400
|
-
meetingId:
|
|
7631
|
+
meetingId: _this46.id
|
|
7401
7632
|
}
|
|
7402
7633
|
})
|
|
7403
7634
|
);
|
|
@@ -7406,24 +7637,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7406
7637
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7407
7638
|
// CA team recommends submitting this *after* locus /leave
|
|
7408
7639
|
submitLeaveMetric();
|
|
7409
|
-
|
|
7410
|
-
|
|
7640
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7641
|
+
_this46.clearMeetingData();
|
|
7411
7642
|
|
|
7412
7643
|
// upload logs on leave irrespective of meeting delete
|
|
7413
|
-
_triggerProxy.default.trigger(
|
|
7644
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7414
7645
|
file: 'meeting/index',
|
|
7415
7646
|
function: 'leave'
|
|
7416
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7647
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7417
7648
|
|
|
7418
7649
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7419
|
-
if (
|
|
7650
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7420
7651
|
// If screen sharing clean the meeting object
|
|
7421
|
-
_triggerProxy.default.trigger(
|
|
7652
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7422
7653
|
file: 'meeting/index',
|
|
7423
7654
|
function: 'leave'
|
|
7424
7655
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7425
7656
|
reason: options.reason,
|
|
7426
|
-
meetingId:
|
|
7657
|
+
meetingId: _this46.id
|
|
7427
7658
|
});
|
|
7428
7659
|
}
|
|
7429
7660
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7440,16 +7671,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7440
7671
|
shownToUser: false
|
|
7441
7672
|
}]
|
|
7442
7673
|
});
|
|
7443
|
-
|
|
7674
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7444
7675
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7445
7676
|
// upload logs on leave irrespective of meeting delete
|
|
7446
|
-
_triggerProxy.default.trigger(
|
|
7677
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7447
7678
|
file: 'meeting/index',
|
|
7448
7679
|
function: 'leave'
|
|
7449
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7680
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7450
7681
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7451
|
-
correlation_id:
|
|
7452
|
-
locus_id:
|
|
7682
|
+
correlation_id: _this46.correlationId,
|
|
7683
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7453
7684
|
reason: error.message,
|
|
7454
7685
|
stack: error.stack,
|
|
7455
7686
|
code: error.code
|
|
@@ -7469,7 +7700,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7469
7700
|
}, {
|
|
7470
7701
|
key: "startWhiteboardShare",
|
|
7471
7702
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7472
|
-
var
|
|
7703
|
+
var _this47 = this;
|
|
7473
7704
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7474
7705
|
return element.name === 'whiteboard';
|
|
7475
7706
|
});
|
|
@@ -7498,13 +7729,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7498
7729
|
body.resourceToken = resourceToken;
|
|
7499
7730
|
}
|
|
7500
7731
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7501
|
-
|
|
7732
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7502
7733
|
return _promise.default.resolve();
|
|
7503
7734
|
}).catch(function (error) {
|
|
7504
7735
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7505
7736
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7506
|
-
correlation_id:
|
|
7507
|
-
locus_id:
|
|
7737
|
+
correlation_id: _this47.correlationId,
|
|
7738
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7508
7739
|
reason: error.message,
|
|
7509
7740
|
stack: error.stack,
|
|
7510
7741
|
board: {
|
|
@@ -7527,7 +7758,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7527
7758
|
}, {
|
|
7528
7759
|
key: "stopWhiteboardShare",
|
|
7529
7760
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7530
|
-
var
|
|
7761
|
+
var _this48 = this;
|
|
7531
7762
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7532
7763
|
return element.name === 'whiteboard';
|
|
7533
7764
|
});
|
|
@@ -7550,8 +7781,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7550
7781
|
}).catch(function (error) {
|
|
7551
7782
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7552
7783
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7553
|
-
correlation_id:
|
|
7554
|
-
locus_id:
|
|
7784
|
+
correlation_id: _this48.correlationId,
|
|
7785
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7555
7786
|
reason: error.message,
|
|
7556
7787
|
stack: error.stack,
|
|
7557
7788
|
board: {
|
|
@@ -7573,7 +7804,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7573
7804
|
}, {
|
|
7574
7805
|
key: "requestScreenShareFloor",
|
|
7575
7806
|
value: function requestScreenShareFloor() {
|
|
7576
|
-
var
|
|
7807
|
+
var _this49 = this;
|
|
7577
7808
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7578
7809
|
_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
7810
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7604,34 +7835,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7604
7835
|
resourceUrl: this.resourceUrl,
|
|
7605
7836
|
shareInstanceId: this.localShareInstanceId
|
|
7606
7837
|
}).then(function () {
|
|
7607
|
-
|
|
7838
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7608
7839
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7609
|
-
correlation_id:
|
|
7610
|
-
locus_id:
|
|
7840
|
+
correlation_id: _this49.correlationId,
|
|
7841
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
7611
7842
|
});
|
|
7612
7843
|
return _promise.default.resolve();
|
|
7613
7844
|
}).catch(function (error) {
|
|
7614
7845
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7615
7846
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7616
|
-
correlation_id:
|
|
7617
|
-
locus_id:
|
|
7847
|
+
correlation_id: _this49.correlationId,
|
|
7848
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7618
7849
|
reason: error.message,
|
|
7619
7850
|
stack: error.stack
|
|
7620
7851
|
});
|
|
7621
7852
|
|
|
7622
7853
|
// @ts-ignore
|
|
7623
|
-
|
|
7854
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
7624
7855
|
name: 'client.share.floor-granted.local',
|
|
7625
7856
|
payload: {
|
|
7626
7857
|
mediaType: 'share',
|
|
7627
7858
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7628
|
-
shareInstanceId:
|
|
7859
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
7629
7860
|
},
|
|
7630
7861
|
options: {
|
|
7631
|
-
meetingId:
|
|
7862
|
+
meetingId: _this49.id
|
|
7632
7863
|
}
|
|
7633
7864
|
});
|
|
7634
|
-
|
|
7865
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7635
7866
|
return _promise.default.reject(error);
|
|
7636
7867
|
});
|
|
7637
7868
|
}
|
|
@@ -7654,10 +7885,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7654
7885
|
}, {
|
|
7655
7886
|
key: "requestScreenShareFloorIfPending",
|
|
7656
7887
|
value: function requestScreenShareFloorIfPending() {
|
|
7657
|
-
var
|
|
7888
|
+
var _this50 = this;
|
|
7658
7889
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7659
7890
|
this.requestScreenShareFloor().then(function () {
|
|
7660
|
-
|
|
7891
|
+
_this50.floorGrantPending = false;
|
|
7661
7892
|
});
|
|
7662
7893
|
}
|
|
7663
7894
|
}
|
|
@@ -7671,7 +7902,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7671
7902
|
}, {
|
|
7672
7903
|
key: "releaseScreenShareFloor",
|
|
7673
7904
|
value: function releaseScreenShareFloor() {
|
|
7674
|
-
var
|
|
7905
|
+
var _this51 = this;
|
|
7675
7906
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7676
7907
|
return element.name === _constants.CONTENT;
|
|
7677
7908
|
});
|
|
@@ -7706,8 +7937,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7706
7937
|
}).catch(function (error) {
|
|
7707
7938
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7708
7939
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7709
|
-
correlation_id:
|
|
7710
|
-
locus_id:
|
|
7940
|
+
correlation_id: _this51.correlationId,
|
|
7941
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
7711
7942
|
reason: error.message,
|
|
7712
7943
|
stack: error.stack
|
|
7713
7944
|
});
|
|
@@ -7763,13 +7994,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7763
7994
|
* @param {boolean} mutedEnabled
|
|
7764
7995
|
* @param {boolean} disallowUnmuteEnabled
|
|
7765
7996
|
* @param {boolean} muteOnEntryEnabled
|
|
7997
|
+
* @param {array} roles
|
|
7766
7998
|
* @public
|
|
7767
7999
|
* @memberof Meeting
|
|
7768
8000
|
*/
|
|
7769
8001
|
}, {
|
|
7770
8002
|
key: "setMuteAll",
|
|
7771
|
-
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled) {
|
|
7772
|
-
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled);
|
|
8003
|
+
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles) {
|
|
8004
|
+
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles);
|
|
7773
8005
|
}
|
|
7774
8006
|
|
|
7775
8007
|
/**
|
|
@@ -7886,7 +8118,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7886
8118
|
}, {
|
|
7887
8119
|
key: "changeVideoLayout",
|
|
7888
8120
|
value: function changeVideoLayout(layoutType) {
|
|
7889
|
-
var
|
|
8121
|
+
var _this52 = this;
|
|
7890
8122
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7891
8123
|
var main = renderInfo.main,
|
|
7892
8124
|
content = renderInfo.content;
|
|
@@ -7940,7 +8172,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7940
8172
|
}
|
|
7941
8173
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7942
8174
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7943
|
-
_triggerProxy.default.trigger(
|
|
8175
|
+
_triggerProxy.default.trigger(_this52, {
|
|
7944
8176
|
file: 'meeting/index',
|
|
7945
8177
|
function: 'changeVideoLayout'
|
|
7946
8178
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8056,7 +8288,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8056
8288
|
}, {
|
|
8057
8289
|
key: "endMeetingForAll",
|
|
8058
8290
|
value: function endMeetingForAll() {
|
|
8059
|
-
var
|
|
8291
|
+
var _this53 = this;
|
|
8060
8292
|
// @ts-ignore
|
|
8061
8293
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8062
8294
|
name: 'client.call.leave',
|
|
@@ -8074,25 +8306,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8074
8306
|
locus_id: this.locusId
|
|
8075
8307
|
});
|
|
8076
8308
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8077
|
-
|
|
8078
|
-
|
|
8309
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8310
|
+
_this53.clearMeetingData();
|
|
8079
8311
|
// upload logs on leave irrespective of meeting delete
|
|
8080
|
-
_triggerProxy.default.trigger(
|
|
8312
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8081
8313
|
file: 'meeting/index',
|
|
8082
8314
|
function: 'endMeetingForAll'
|
|
8083
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8315
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8084
8316
|
return end;
|
|
8085
8317
|
}).catch(function (error) {
|
|
8086
|
-
|
|
8318
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8087
8319
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8088
8320
|
// upload logs on leave irrespective of meeting delete
|
|
8089
|
-
_triggerProxy.default.trigger(
|
|
8321
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8090
8322
|
file: 'meeting/index',
|
|
8091
8323
|
function: 'endMeetingForAll'
|
|
8092
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8324
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8093
8325
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8094
|
-
correlation_id:
|
|
8095
|
-
locus_id:
|
|
8326
|
+
correlation_id: _this53.correlationId,
|
|
8327
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8096
8328
|
reason: error.message,
|
|
8097
8329
|
stack: error.stack,
|
|
8098
8330
|
code: error.code
|
|
@@ -8181,37 +8413,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8181
8413
|
}, {
|
|
8182
8414
|
key: "enableMusicMode",
|
|
8183
8415
|
value: (function () {
|
|
8184
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8185
|
-
return _regenerator.default.wrap(function
|
|
8186
|
-
while (1) switch (
|
|
8416
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
|
|
8417
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8418
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
8187
8419
|
case 0:
|
|
8188
8420
|
this.checkMediaConnection();
|
|
8189
8421
|
if (this.isMultistream) {
|
|
8190
|
-
|
|
8422
|
+
_context35.next = 3;
|
|
8191
8423
|
break;
|
|
8192
8424
|
}
|
|
8193
8425
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
8194
8426
|
case 3:
|
|
8195
8427
|
if (!shouldEnableMusicMode) {
|
|
8196
|
-
|
|
8428
|
+
_context35.next = 8;
|
|
8197
8429
|
break;
|
|
8198
8430
|
}
|
|
8199
|
-
|
|
8431
|
+
_context35.next = 6;
|
|
8200
8432
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
8201
8433
|
maxaveragebitrate: '64000',
|
|
8202
8434
|
maxplaybackrate: '48000'
|
|
8203
8435
|
});
|
|
8204
8436
|
case 6:
|
|
8205
|
-
|
|
8437
|
+
_context35.next = 10;
|
|
8206
8438
|
break;
|
|
8207
8439
|
case 8:
|
|
8208
|
-
|
|
8440
|
+
_context35.next = 10;
|
|
8209
8441
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
8210
8442
|
case 10:
|
|
8211
8443
|
case "end":
|
|
8212
|
-
return
|
|
8444
|
+
return _context35.stop();
|
|
8213
8445
|
}
|
|
8214
|
-
},
|
|
8446
|
+
}, _callee35, this);
|
|
8215
8447
|
}));
|
|
8216
8448
|
function enableMusicMode(_x36) {
|
|
8217
8449
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -8234,7 +8466,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8234
8466
|
_this$mediaProperties41,
|
|
8235
8467
|
_this$mediaProperties42,
|
|
8236
8468
|
_this$mediaProperties43,
|
|
8237
|
-
|
|
8469
|
+
_this54 = this;
|
|
8238
8470
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8239
8471
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8240
8472
|
if (!this.canUpdateMedia()) {
|
|
@@ -8259,8 +8491,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8259
8491
|
}).catch(function (error) {
|
|
8260
8492
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8261
8493
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8262
|
-
correlation_id:
|
|
8263
|
-
locus_id:
|
|
8494
|
+
correlation_id: _this54.correlationId,
|
|
8495
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8264
8496
|
reason: error.message,
|
|
8265
8497
|
stack: error.stack
|
|
8266
8498
|
});
|
|
@@ -8304,25 +8536,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8304
8536
|
}, {
|
|
8305
8537
|
key: "publishStream",
|
|
8306
8538
|
value: (function () {
|
|
8307
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8308
|
-
return _regenerator.default.wrap(function
|
|
8309
|
-
while (1) switch (
|
|
8539
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8540
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8541
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8310
8542
|
case 0:
|
|
8311
8543
|
if (stream) {
|
|
8312
|
-
|
|
8544
|
+
_context36.next = 2;
|
|
8313
8545
|
break;
|
|
8314
8546
|
}
|
|
8315
|
-
return
|
|
8547
|
+
return _context36.abrupt("return");
|
|
8316
8548
|
case 2:
|
|
8317
8549
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
8318
|
-
|
|
8550
|
+
_context36.next = 7;
|
|
8319
8551
|
break;
|
|
8320
8552
|
}
|
|
8321
8553
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8322
|
-
|
|
8554
|
+
_context36.next = 6;
|
|
8323
8555
|
break;
|
|
8324
8556
|
}
|
|
8325
|
-
|
|
8557
|
+
_context36.next = 6;
|
|
8326
8558
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
8327
8559
|
case 6:
|
|
8328
8560
|
this.emitPublishStateChangeEvent({
|
|
@@ -8333,9 +8565,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8333
8565
|
});
|
|
8334
8566
|
case 7:
|
|
8335
8567
|
case "end":
|
|
8336
|
-
return
|
|
8568
|
+
return _context36.stop();
|
|
8337
8569
|
}
|
|
8338
|
-
},
|
|
8570
|
+
}, _callee36, this);
|
|
8339
8571
|
}));
|
|
8340
8572
|
function publishStream(_x37, _x38) {
|
|
8341
8573
|
return _publishStream.apply(this, arguments);
|
|
@@ -8353,21 +8585,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8353
8585
|
}, {
|
|
8354
8586
|
key: "unpublishStream",
|
|
8355
8587
|
value: (function () {
|
|
8356
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8357
|
-
return _regenerator.default.wrap(function
|
|
8358
|
-
while (1) switch (
|
|
8588
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
|
|
8589
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8590
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8359
8591
|
case 0:
|
|
8360
8592
|
if (stream) {
|
|
8361
|
-
|
|
8593
|
+
_context37.next = 2;
|
|
8362
8594
|
break;
|
|
8363
8595
|
}
|
|
8364
|
-
return
|
|
8596
|
+
return _context37.abrupt("return");
|
|
8365
8597
|
case 2:
|
|
8366
8598
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8367
|
-
|
|
8599
|
+
_context37.next = 5;
|
|
8368
8600
|
break;
|
|
8369
8601
|
}
|
|
8370
|
-
|
|
8602
|
+
_context37.next = 5;
|
|
8371
8603
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8372
8604
|
case 5:
|
|
8373
8605
|
this.emitPublishStateChangeEvent({
|
|
@@ -8378,9 +8610,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8378
8610
|
});
|
|
8379
8611
|
case 6:
|
|
8380
8612
|
case "end":
|
|
8381
|
-
return
|
|
8613
|
+
return _context37.stop();
|
|
8382
8614
|
}
|
|
8383
|
-
},
|
|
8615
|
+
}, _callee37, this);
|
|
8384
8616
|
}));
|
|
8385
8617
|
function unpublishStream(_x39, _x40) {
|
|
8386
8618
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8397,67 +8629,92 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8397
8629
|
}, {
|
|
8398
8630
|
key: "publishStreams",
|
|
8399
8631
|
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 (
|
|
8632
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8633
|
+
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
8634
|
+
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
8635
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8636
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8405
8637
|
case 0:
|
|
8638
|
+
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8406
8639
|
this.checkMediaConnection();
|
|
8407
8640
|
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
|
-
|
|
8641
|
+
_context38.next = 4;
|
|
8409
8642
|
break;
|
|
8410
8643
|
}
|
|
8411
|
-
return
|
|
8412
|
-
case
|
|
8413
|
-
|
|
8414
|
-
|
|
8644
|
+
return _context38.abrupt("return");
|
|
8645
|
+
case 4:
|
|
8646
|
+
streamChecks = [{
|
|
8647
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
8648
|
+
name: 'microphone'
|
|
8649
|
+
}, {
|
|
8650
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.camera,
|
|
8651
|
+
name: 'camera'
|
|
8652
|
+
}, {
|
|
8653
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : _streams$screenShare3.audio,
|
|
8654
|
+
name: 'screenShare audio'
|
|
8655
|
+
}, {
|
|
8656
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare4 = streams.screenShare) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.video,
|
|
8657
|
+
name: 'screenShare video'
|
|
8658
|
+
}];
|
|
8659
|
+
_i = 0, _streamChecks = streamChecks;
|
|
8660
|
+
case 6:
|
|
8661
|
+
if (!(_i < _streamChecks.length)) {
|
|
8662
|
+
_context38.next = 13;
|
|
8415
8663
|
break;
|
|
8416
8664
|
}
|
|
8417
|
-
|
|
8418
|
-
|
|
8665
|
+
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
8666
|
+
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
8667
|
+
_context38.next = 10;
|
|
8668
|
+
break;
|
|
8669
|
+
}
|
|
8670
|
+
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
8671
|
+
case 10:
|
|
8672
|
+
_i++;
|
|
8673
|
+
_context38.next = 6;
|
|
8674
|
+
break;
|
|
8675
|
+
case 13:
|
|
8419
8676
|
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
|
-
|
|
8677
|
+
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
8678
|
+
_context38.next = 18;
|
|
8422
8679
|
break;
|
|
8423
8680
|
}
|
|
8424
|
-
|
|
8681
|
+
_context38.next = 17;
|
|
8425
8682
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8426
|
-
case
|
|
8683
|
+
case 17:
|
|
8427
8684
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8428
|
-
case
|
|
8429
|
-
if (!((_streams$
|
|
8430
|
-
|
|
8685
|
+
case 18:
|
|
8686
|
+
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
8687
|
+
_context38.next = 22;
|
|
8431
8688
|
break;
|
|
8432
8689
|
}
|
|
8433
|
-
|
|
8434
|
-
return this.setLocalShareVideoStream((_streams$
|
|
8435
|
-
case
|
|
8690
|
+
_context38.next = 21;
|
|
8691
|
+
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
8692
|
+
case 21:
|
|
8436
8693
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8437
|
-
case
|
|
8694
|
+
case 22:
|
|
8438
8695
|
if (!streams.microphone) {
|
|
8439
|
-
|
|
8696
|
+
_context38.next = 25;
|
|
8440
8697
|
break;
|
|
8441
8698
|
}
|
|
8442
|
-
|
|
8699
|
+
_context38.next = 25;
|
|
8443
8700
|
return this.setLocalAudioStream(streams.microphone);
|
|
8444
|
-
case
|
|
8701
|
+
case 25:
|
|
8445
8702
|
if (!streams.camera) {
|
|
8446
|
-
|
|
8703
|
+
_context38.next = 28;
|
|
8447
8704
|
break;
|
|
8448
8705
|
}
|
|
8449
|
-
|
|
8706
|
+
_context38.next = 28;
|
|
8450
8707
|
return this.setLocalVideoStream(streams.camera);
|
|
8451
|
-
case
|
|
8708
|
+
case 28:
|
|
8452
8709
|
if (this.isMultistream) {
|
|
8453
|
-
|
|
8710
|
+
_context38.next = 31;
|
|
8454
8711
|
break;
|
|
8455
8712
|
}
|
|
8456
|
-
|
|
8713
|
+
_context38.next = 31;
|
|
8457
8714
|
return this.updateTranscodedMediaConnection();
|
|
8458
|
-
case
|
|
8715
|
+
case 31:
|
|
8459
8716
|
if (!floorRequestNeeded) {
|
|
8460
|
-
|
|
8717
|
+
_context38.next = 37;
|
|
8461
8718
|
break;
|
|
8462
8719
|
}
|
|
8463
8720
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8481,13 +8738,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8481
8738
|
// we're sending the http request to Locus to request the screen share floor
|
|
8482
8739
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8483
8740
|
// and also if sharing from the start, we need confluence to have been created
|
|
8484
|
-
|
|
8741
|
+
_context38.next = 37;
|
|
8485
8742
|
return this.enqueueScreenShareFloorRequest();
|
|
8486
|
-
case
|
|
8743
|
+
case 37:
|
|
8487
8744
|
case "end":
|
|
8488
|
-
return
|
|
8745
|
+
return _context38.stop();
|
|
8489
8746
|
}
|
|
8490
|
-
},
|
|
8747
|
+
}, _callee38, this);
|
|
8491
8748
|
}));
|
|
8492
8749
|
function publishStreams(_x41) {
|
|
8493
8750
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8504,11 +8761,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8504
8761
|
}, {
|
|
8505
8762
|
key: "unpublishStreams",
|
|
8506
8763
|
value: (function () {
|
|
8507
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8764
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
|
|
8508
8765
|
var promises, _iterator, _step, stream;
|
|
8509
|
-
return _regenerator.default.wrap(function
|
|
8510
|
-
while (1) switch (
|
|
8766
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8767
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8511
8768
|
case 0:
|
|
8769
|
+
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8512
8770
|
this.checkMediaConnection();
|
|
8513
8771
|
promises = [];
|
|
8514
8772
|
_iterator = _createForOfIteratorHelper(streams.filter(function (t) {
|
|
@@ -8538,9 +8796,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8538
8796
|
if (!this.isMultistream) {
|
|
8539
8797
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8540
8798
|
}
|
|
8541
|
-
|
|
8799
|
+
_context39.next = 8;
|
|
8542
8800
|
return _promise.default.all(promises);
|
|
8543
|
-
case
|
|
8801
|
+
case 8:
|
|
8544
8802
|
// we're allowing for the SDK to support just audio share as well
|
|
8545
8803
|
// so a share could be active with only video, only audio, or both
|
|
8546
8804
|
// we're only releasing the floor if both streams have ended
|
|
@@ -8557,11 +8815,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8557
8815
|
// nothing to do here, error is logged already inside releaseScreenShareFloor()
|
|
8558
8816
|
}
|
|
8559
8817
|
}
|
|
8560
|
-
case
|
|
8818
|
+
case 9:
|
|
8561
8819
|
case "end":
|
|
8562
|
-
return
|
|
8820
|
+
return _context39.stop();
|
|
8563
8821
|
}
|
|
8564
|
-
},
|
|
8822
|
+
}, _callee39, this);
|
|
8565
8823
|
}));
|
|
8566
8824
|
function unpublishStreams(_x42) {
|
|
8567
8825
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8623,55 +8881,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8623
8881
|
}], [{
|
|
8624
8882
|
key: "handleDeviceLogging",
|
|
8625
8883
|
value: (function () {
|
|
8626
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8884
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee40(isAudioEnabled, isVideoEnabled) {
|
|
8627
8885
|
var devices;
|
|
8628
|
-
return _regenerator.default.wrap(function
|
|
8629
|
-
while (1) switch (
|
|
8886
|
+
return _regenerator.default.wrap(function _callee40$(_context40) {
|
|
8887
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
8630
8888
|
case 0:
|
|
8631
|
-
|
|
8889
|
+
_context40.prev = 0;
|
|
8632
8890
|
devices = [];
|
|
8633
8891
|
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8634
|
-
|
|
8892
|
+
_context40.next = 8;
|
|
8635
8893
|
break;
|
|
8636
8894
|
}
|
|
8637
|
-
|
|
8895
|
+
_context40.next = 5;
|
|
8638
8896
|
return (0, _mediaHelpers.getDevices)();
|
|
8639
8897
|
case 5:
|
|
8640
|
-
devices =
|
|
8641
|
-
|
|
8898
|
+
devices = _context40.sent;
|
|
8899
|
+
_context40.next = 18;
|
|
8642
8900
|
break;
|
|
8643
8901
|
case 8:
|
|
8644
8902
|
if (!isVideoEnabled) {
|
|
8645
|
-
|
|
8903
|
+
_context40.next = 14;
|
|
8646
8904
|
break;
|
|
8647
8905
|
}
|
|
8648
|
-
|
|
8906
|
+
_context40.next = 11;
|
|
8649
8907
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8650
8908
|
case 11:
|
|
8651
|
-
devices =
|
|
8652
|
-
|
|
8909
|
+
devices = _context40.sent;
|
|
8910
|
+
_context40.next = 18;
|
|
8653
8911
|
break;
|
|
8654
8912
|
case 14:
|
|
8655
8913
|
if (!isAudioEnabled) {
|
|
8656
|
-
|
|
8914
|
+
_context40.next = 18;
|
|
8657
8915
|
break;
|
|
8658
8916
|
}
|
|
8659
|
-
|
|
8917
|
+
_context40.next = 17;
|
|
8660
8918
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8661
8919
|
case 17:
|
|
8662
|
-
devices =
|
|
8920
|
+
devices = _context40.sent;
|
|
8663
8921
|
case 18:
|
|
8664
8922
|
_util2.default.handleDeviceLogging(devices);
|
|
8665
|
-
|
|
8923
|
+
_context40.next = 23;
|
|
8666
8924
|
break;
|
|
8667
8925
|
case 21:
|
|
8668
|
-
|
|
8669
|
-
|
|
8926
|
+
_context40.prev = 21;
|
|
8927
|
+
_context40.t0 = _context40["catch"](0);
|
|
8670
8928
|
case 23:
|
|
8671
8929
|
case "end":
|
|
8672
|
-
return
|
|
8930
|
+
return _context40.stop();
|
|
8673
8931
|
}
|
|
8674
|
-
},
|
|
8932
|
+
}, _callee40, null, [[0, 21]]);
|
|
8675
8933
|
}));
|
|
8676
8934
|
function handleDeviceLogging(_x43, _x44) {
|
|
8677
8935
|
return _handleDeviceLogging.apply(this, arguments);
|