@webex/plugin-meetings 3.8.1 → 3.9.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 +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +32 -3
- 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/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +26 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +11 -3
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +84 -91
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +4 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/index.js +2 -2
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/brbState.js +17 -14
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +11 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +484 -287
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +19 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/{rtcMetrics/constants.js → meeting/type.js} +1 -5
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +68 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +35 -33
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +14 -11
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +3 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +25 -8
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +34 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +42 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +32 -2
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/index.js +8 -13
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +28 -0
- package/dist/types/controls-options-manager/enums.d.ts +2 -1
- package/dist/types/controls-options-manager/types.d.ts +4 -1
- package/dist/types/locus-info/index.d.ts +2 -9
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +10 -0
- package/dist/types/meeting/index.d.ts +47 -19
- package/dist/types/meeting/request.d.ts +9 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +3 -0
- package/dist/types/members/index.d.ts +12 -8
- package/dist/types/members/request.d.ts +1 -1
- package/dist/types/members/util.d.ts +13 -6
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +20 -1
- package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
- package/dist/types/multistream/sendSlotManager.d.ts +16 -0
- package/dist/types/reachability/index.d.ts +2 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +24 -25
- package/src/constants.ts +32 -2
- package/src/controls-options-manager/enums.ts +1 -0
- package/src/controls-options-manager/types.ts +6 -1
- package/src/controls-options-manager/util.ts +31 -0
- package/src/locus-info/controlsUtils.ts +15 -0
- package/src/locus-info/index.ts +103 -92
- package/src/locus-info/parser.ts +5 -1
- package/src/media/index.ts +2 -2
- package/src/meeting/brbState.ts +13 -9
- package/src/meeting/in-meeting-actions.ts +21 -0
- package/src/meeting/index.ts +278 -73
- package/src/meeting/request.ts +16 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +73 -2
- package/src/meetings/index.ts +3 -2
- package/src/members/index.ts +22 -12
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +34 -6
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/src/multistream/sendSlotManager.ts +34 -2
- package/src/reachability/index.ts +8 -16
- package/test/unit/spec/controls-options-manager/util.js +58 -0
- package/test/unit/spec/locus-info/controlsUtils.js +52 -0
- package/test/unit/spec/locus-info/index.js +247 -89
- package/test/unit/spec/locus-info/parser.js +3 -2
- package/test/unit/spec/media/index.ts +107 -0
- package/test/unit/spec/meeting/brbState.ts +23 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +10 -0
- package/test/unit/spec/meeting/index.js +976 -91
- package/test/unit/spec/meeting/request.js +71 -0
- package/test/unit/spec/meeting/utils.js +122 -1
- package/test/unit/spec/meetings/index.js +2 -0
- package/test/unit/spec/members/index.js +98 -11
- package/test/unit/spec/members/request.js +57 -2
- package/test/unit/spec/members/utils.js +139 -17
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
- package/test/unit/spec/reachability/index.ts +160 -9
- 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/parameter.d.ts +0 -15
- 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.d.ts +0 -60
- package/dist/common/errors/reclaim-host-role-error.js +0 -158
- 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 -35
- 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 -81
- 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 -34
- package/dist/common/queue.d.ts +0 -32
- package/dist/config.d.ts +0 -73
- package/dist/constants.d.ts +0 -952
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -5
- package/dist/controls-options-manager/index.d.ts +0 -120
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -7
- package/dist/index.d.ts +0 -4
- 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 -269
- 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 -212
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -32
- package/dist/media/properties.d.ts +0 -108
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -233
- package/dist/mediaQualityMetrics/config.js +0 -513
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -79
- package/dist/meeting/index.d.ts +0 -1622
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -116
- package/dist/meeting/request.d.ts +0 -257
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -2
- 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 -57
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
- 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 -23
- package/dist/meetings/index.d.ts +0 -296
- 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 -148
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/member.types.js +0 -18
- 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 -24
- package/dist/members/index.d.ts +0 -308
- package/dist/members/request.d.ts +0 -58
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -2
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -59
- package/dist/metrics/index.d.ts +0 -152
- 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 -226
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- 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.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- 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 -139
- package/dist/reachability/request.d.ts +0 -35
- 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 -32
- package/dist/reconnection-manager/index.d.ts +0 -112
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -193
- package/dist/recording-controller/util.d.ts +0 -13
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -116
- package/dist/roap/request.d.ts +0 -35
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -81
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- 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 -118
- package/dist/statsAnalyzer/global.js +0 -127
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -193
- package/dist/statsAnalyzer/index.js +0 -1019
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
- package/dist/statsAnalyzer/mqaUtil.js +0 -181
- 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/locus-info/index.js
CHANGED
@@ -11,7 +11,6 @@ _Object$defineProperty(exports, "__esModule", {
|
|
11
11
|
value: true
|
12
12
|
});
|
13
13
|
exports.default = void 0;
|
14
|
-
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
15
14
|
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
|
16
15
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
17
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
@@ -69,7 +68,6 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
69
68
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "aclUrl", void 0);
|
70
69
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "baseSequence", void 0);
|
71
70
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "created", void 0);
|
72
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "deltaParticipants", void 0);
|
73
71
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "identities", void 0);
|
74
72
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membership", void 0);
|
75
73
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "participants", void 0);
|
@@ -107,20 +105,29 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
107
105
|
* Does a Locus sync. It tries to get the latest delta DTO or if it can't, it falls back to getting the full Locus DTO.
|
108
106
|
*
|
109
107
|
* @param {Meeting} meeting
|
108
|
+
* @param {boolean} isLocusUrlChanged
|
109
|
+
* @param {Locus} locus
|
110
110
|
* @returns {undefined}
|
111
111
|
*/
|
112
112
|
(0, _createClass2.default)(LocusInfo, [{
|
113
113
|
key: "doLocusSync",
|
114
|
-
value: function doLocusSync(meeting) {
|
115
|
-
var
|
116
|
-
|
114
|
+
value: function doLocusSync(meeting, isLocusUrlChanged, locus) {
|
115
|
+
var _this$locusParser$wor,
|
116
|
+
_this2 = this;
|
117
117
|
var url;
|
118
|
-
|
118
|
+
var isDelta = false;
|
119
|
+
var meetingDestroyed = false;
|
120
|
+
if (isLocusUrlChanged) {
|
121
|
+
// for the locus url changed case from breakout to main session, we should always do a full sync, in this case, the url from locus is always on main session,
|
122
|
+
// so use the main session locus url to get the full locus(full participants list in the response).
|
123
|
+
// for the locus url changed case from main session to breakout, we don't need to care about it here,
|
124
|
+
// because it is a USE_INCOMING case, it will not be executed here.
|
125
|
+
url = locus.url;
|
126
|
+
} else if ((_this$locusParser$wor = this.locusParser.workingCopy) !== null && _this$locusParser$wor !== void 0 && _this$locusParser$wor.syncUrl) {
|
119
127
|
url = this.locusParser.workingCopy.syncUrl;
|
120
128
|
isDelta = true;
|
121
129
|
} else {
|
122
130
|
url = meeting.locusUrl;
|
123
|
-
isDelta = false;
|
124
131
|
}
|
125
132
|
_loggerProxy.default.logger.info("Locus-info:index#doLocusSync --> doing Locus sync (getting ".concat(isDelta ? 'delta' : 'full', " DTO)"));
|
126
133
|
|
@@ -139,30 +146,59 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
139
146
|
code: e.code
|
140
147
|
});
|
141
148
|
isDelta = false;
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
+
|
150
|
+
// Locus sometimes returns 403, for example if meeting has ended, no point trying the fallback to full sync in that case
|
151
|
+
if (e.statusCode !== 403) {
|
152
|
+
return meeting.meetingRequest.getLocusDTO({
|
153
|
+
url: meeting.locusUrl
|
154
|
+
}).catch(function (err) {
|
155
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
156
|
+
_this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
|
157
|
+
meetingDestroyed = true;
|
158
|
+
throw err;
|
159
|
+
});
|
160
|
+
}
|
161
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> got 403 from Locus, skipping fallback to full sync, destroying the meeting');
|
162
|
+
} else {
|
163
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
149
164
|
}
|
150
|
-
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
151
165
|
_this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
|
166
|
+
meetingDestroyed = true;
|
152
167
|
throw e;
|
153
168
|
}).then(function (res) {
|
169
|
+
if ((0, _lodash.isEmpty)(res.body)) {
|
170
|
+
if (isDelta) {
|
171
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from syncUrl, so we already have latest Locus DTO');
|
172
|
+
} else {
|
173
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from full DTO sync request');
|
174
|
+
}
|
175
|
+
return;
|
176
|
+
}
|
154
177
|
if (isDelta) {
|
155
|
-
if (
|
178
|
+
if (res.body.baseSequence) {
|
156
179
|
meeting.locusInfo.handleLocusDelta(res.body, meeting);
|
157
|
-
|
158
|
-
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from syncUrl, so we already have latest Locus DTO');
|
180
|
+
return;
|
159
181
|
}
|
160
|
-
|
161
|
-
|
182
|
+
// in some cases Locus might return us full DTO even when we asked for a delta
|
183
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> got full DTO when we asked for delta');
|
184
|
+
}
|
185
|
+
meeting.locusInfo.onFullLocus(res.body);
|
186
|
+
}).catch(function (e) {
|
187
|
+
_loggerProxy.default.logger.info("Locus-info:index#doLocusSync --> getLocusDTO succeeded but failed to handle result, locus parser will resume but not all data may be synced (".concat(e.toString(), ")"));
|
188
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.LOCUS_SYNC_HANDLING_FAILED, {
|
189
|
+
correlationId: meeting.correlationId,
|
190
|
+
url: url,
|
191
|
+
reason: e.message,
|
192
|
+
errorName: e.name,
|
193
|
+
stack: e.stack,
|
194
|
+
code: e.code
|
195
|
+
});
|
196
|
+
}).finally(function () {
|
197
|
+
if (!meetingDestroyed) {
|
198
|
+
// Notify parser to resume processing delta events.
|
199
|
+
// Any deltas in the queue that have now been superseded by this sync will simply be ignored
|
200
|
+
_this2.locusParser.resume();
|
162
201
|
}
|
163
|
-
// Notify parser to resume processing delta events.
|
164
|
-
// Any deltas in the queue that have now been superseded by this sync will simply be ignored
|
165
|
-
_this2.locusParser.resume();
|
166
202
|
});
|
167
203
|
}
|
168
204
|
|
@@ -182,6 +218,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
182
218
|
USE_INCOMING = _LocusDeltaParser$loc.USE_INCOMING,
|
183
219
|
WAIT = _LocusDeltaParser$loc.WAIT,
|
184
220
|
LOCUS_URL_CHANGED = _LocusDeltaParser$loc.LOCUS_URL_CHANGED;
|
221
|
+
var isLocusUrlChanged = action === LOCUS_URL_CHANGED;
|
185
222
|
switch (action) {
|
186
223
|
case USE_INCOMING:
|
187
224
|
meeting.locusInfo.onDeltaLocus(locus);
|
@@ -192,7 +229,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
192
229
|
break;
|
193
230
|
case DESYNC:
|
194
231
|
case LOCUS_URL_CHANGED:
|
195
|
-
this.doLocusSync(meeting);
|
232
|
+
this.doLocusSync(meeting, isLocusUrlChanged, locus);
|
196
233
|
break;
|
197
234
|
default:
|
198
235
|
_loggerProxy.default.logger.info("Locus-info:index#applyLocusDeltaData --> Unknown locus delta action: ".concat(action));
|
@@ -252,16 +289,6 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
252
289
|
* @property {Object} person - Contains person data.
|
253
290
|
*/
|
254
291
|
|
255
|
-
/**
|
256
|
-
* Stored participant changes between the last event and the current event.
|
257
|
-
* All previously stored events are overwritten between events.
|
258
|
-
*
|
259
|
-
* @instance
|
260
|
-
* @type {Array<DeltaParticipant>}
|
261
|
-
* @private
|
262
|
-
* @member LocusInfo
|
263
|
-
*/
|
264
|
-
this.deltaParticipants = [];
|
265
292
|
this.updateLocusCache(locus);
|
266
293
|
// above section only updates the locusInfo object
|
267
294
|
// The below section makes sure it updates the locusInfo as well as updates the meeting object
|
@@ -366,7 +393,6 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
366
393
|
_loggerProxy.default.logger.info("Locus-info:index#onFullLocus --> ignoring old full locus DTO, eventType=".concat(eventType));
|
367
394
|
return;
|
368
395
|
}
|
369
|
-
this.updateParticipantDeltas(locus.participants);
|
370
396
|
this.scheduledMeeting = locus.meeting || null;
|
371
397
|
this.participants = locus.participants;
|
372
398
|
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
@@ -450,12 +476,12 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
450
476
|
this.updateCreated(locus.created);
|
451
477
|
this.updateFullState(locus.fullState);
|
452
478
|
this.updateHostInfo(locus.host);
|
479
|
+
this.updateLocusUrl(locus.url);
|
453
480
|
this.updateMeetingInfo(locus.info, locus.self);
|
454
481
|
this.updateMediaShares(locus.mediaShares);
|
455
482
|
this.updateParticipantsUrl(locus.participantsUrl);
|
456
483
|
this.updateReplace(locus.replace);
|
457
484
|
this.updateSelf(locus.self);
|
458
|
-
this.updateLocusUrl(locus.url);
|
459
485
|
this.updateAclUrl(locus.aclUrl);
|
460
486
|
this.updateBasequence(locus.baseSequence);
|
461
487
|
this.updateSequence(locus.sequence);
|
@@ -657,58 +683,6 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
657
683
|
}
|
658
684
|
}
|
659
685
|
|
660
|
-
/**
|
661
|
-
* Update the deltaParticipants property of this object based on a list of
|
662
|
-
* provided participants.
|
663
|
-
*
|
664
|
-
* @param {Array} [participants] - The participants to update against.
|
665
|
-
* @returns {void}
|
666
|
-
*/
|
667
|
-
}, {
|
668
|
-
key: "updateParticipantDeltas",
|
669
|
-
value: function updateParticipantDeltas() {
|
670
|
-
var _this4 = this;
|
671
|
-
var participants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
672
|
-
// Used to find a participant within a participants collection.
|
673
|
-
var findParticipant = function findParticipant(participant, collection) {
|
674
|
-
return collection.find(function (item) {
|
675
|
-
return item.person.id === participant.person.id;
|
676
|
-
});
|
677
|
-
};
|
678
|
-
|
679
|
-
// Generates an object that indicates which state properties have changed.
|
680
|
-
var generateDelta = function generateDelta() {
|
681
|
-
var prevState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
682
|
-
var newState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
683
|
-
// Setup deltas.
|
684
|
-
var deltas = {
|
685
|
-
audioStatus: prevState.audioStatus !== newState.audioStatus,
|
686
|
-
videoSlidesStatus: prevState.videoSlidesStatus !== newState.videoSlidesStatus,
|
687
|
-
videoStatus: prevState.videoStatus !== newState.videoStatus
|
688
|
-
};
|
689
|
-
|
690
|
-
// Clean the object
|
691
|
-
(0, _keys.default)(deltas).forEach(function (key) {
|
692
|
-
if (deltas[key] !== true) {
|
693
|
-
delete deltas[key];
|
694
|
-
}
|
695
|
-
});
|
696
|
-
return deltas;
|
697
|
-
};
|
698
|
-
this.deltaParticipants = participants.reduce(function (collection, participant) {
|
699
|
-
var existingParticipant = findParticipant(participant, _this4.participants || []) || {};
|
700
|
-
var delta = generateDelta(existingParticipant.status, participant.status);
|
701
|
-
var changed = (0, _keys.default)(delta).length > 0;
|
702
|
-
if (changed) {
|
703
|
-
collection.push({
|
704
|
-
person: participant.person,
|
705
|
-
delta: delta
|
706
|
-
});
|
707
|
-
}
|
708
|
-
return collection;
|
709
|
-
}, []);
|
710
|
-
}
|
711
|
-
|
712
686
|
/**
|
713
687
|
* update meeting's members
|
714
688
|
* @param {Object} participants new participants object
|
@@ -772,6 +746,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
772
746
|
hasRecordingPausedChanged = _ControlsUtils$getCon2.hasRecordingPausedChanged,
|
773
747
|
hasMeetingContainerChanged = _ControlsUtils$getCon2.hasMeetingContainerChanged,
|
774
748
|
hasTranscribeChanged = _ControlsUtils$getCon2.hasTranscribeChanged,
|
749
|
+
hasTranscribeSpokenLanguageChanged = _ControlsUtils$getCon2.hasTranscribeSpokenLanguageChanged,
|
775
750
|
hasManualCaptionChanged = _ControlsUtils$getCon2.hasManualCaptionChanged,
|
776
751
|
hasEntryExitToneChanged = _ControlsUtils$getCon2.hasEntryExitToneChanged,
|
777
752
|
hasBreakoutChanged = _ControlsUtils$getCon2.hasBreakoutChanged,
|
@@ -791,6 +766,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
791
766
|
hasStageViewChanged = _ControlsUtils$getCon2.hasStageViewChanged,
|
792
767
|
hasAnnotationControlChanged = _ControlsUtils$getCon2.hasAnnotationControlChanged,
|
793
768
|
hasRemoteDesktopControlChanged = _ControlsUtils$getCon2.hasRemoteDesktopControlChanged,
|
769
|
+
hasPollingQAControlChanged = _ControlsUtils$getCon2.hasPollingQAControlChanged,
|
794
770
|
current = _ControlsUtils$getCon.current;
|
795
771
|
if (hasMuteOnEntryChanged) {
|
796
772
|
this.emitScoped({
|
@@ -890,6 +866,15 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
890
866
|
caption: caption
|
891
867
|
});
|
892
868
|
}
|
869
|
+
if (hasTranscribeSpokenLanguageChanged) {
|
870
|
+
var spokenLanguage = current.transcribe.spokenLanguage;
|
871
|
+
this.emitScoped({
|
872
|
+
file: 'locus-info',
|
873
|
+
function: 'updateControls'
|
874
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, {
|
875
|
+
spokenLanguage: spokenLanguage
|
876
|
+
});
|
877
|
+
}
|
893
878
|
if (hasManualCaptionChanged) {
|
894
879
|
var enabled = current.manualCaptionControl.enabled;
|
895
880
|
this.emitScoped({
|
@@ -994,6 +979,14 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
994
979
|
state: current.rdcControl
|
995
980
|
});
|
996
981
|
}
|
982
|
+
if (hasPollingQAControlChanged) {
|
983
|
+
this.emitScoped({
|
984
|
+
file: 'locus-info',
|
985
|
+
function: 'updateControls'
|
986
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, {
|
987
|
+
state: current.pollingQAControl
|
988
|
+
});
|
989
|
+
}
|
997
990
|
this.controls = controls;
|
998
991
|
}
|
999
992
|
}
|
@@ -1145,7 +1138,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1145
1138
|
value: function updateMeetingInfo(info, self) {
|
1146
1139
|
var _this$parsedLocus$sel;
|
1147
1140
|
var roles = self ? _selfUtils.default.getRoles(self) : ((_this$parsedLocus$sel = this.parsedLocus.self) === null || _this$parsedLocus$sel === void 0 ? void 0 : _this$parsedLocus$sel.roles) || [];
|
1148
|
-
if (info && !(0, _lodash.isEqual)(this.info, info) ||
|
1141
|
+
if (info && !(0, _lodash.isEqual)(this.info, info) || !(0, _lodash.isEqual)(this.roles, roles) && info) {
|
1149
1142
|
var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
|
1150
1143
|
var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
|
1151
1144
|
if (parsedInfo.updates.isLocked) {
|
@@ -1607,7 +1600,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1607
1600
|
}, {
|
1608
1601
|
key: "updateMainSessionLocusCache",
|
1609
1602
|
value: function updateMainSessionLocusCache(mainLocus) {
|
1610
|
-
var
|
1603
|
+
var _this4 = this;
|
1611
1604
|
if (!mainLocus) {
|
1612
1605
|
return;
|
1613
1606
|
}
|
@@ -1616,7 +1609,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1616
1609
|
// shallow merge and do special merge for participants
|
1617
1610
|
(0, _lodash.assignWith)(this.mainSessionLocusCache, locusClone, function (objValue, srcValue, key) {
|
1618
1611
|
if (key === 'participants') {
|
1619
|
-
return
|
1612
|
+
return _this4.mergeParticipants(objValue, srcValue);
|
1620
1613
|
}
|
1621
1614
|
return srcValue || objValue;
|
1622
1615
|
});
|