@webex/plugin-meetings 3.8.1 → 3.9.0-multiple-llm.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +34 -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 +107 -95
- 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/media/properties.js +53 -5
- package/dist/media/properties.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 +13 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +555 -296
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +2 -5
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +44 -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 +98 -13
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +29 -21
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +18 -10
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/members/collection.js +13 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +53 -29
- 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 +3 -1
- 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 +30 -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 +54 -10
- package/dist/types/media/properties.d.ts +21 -0
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +12 -0
- package/dist/types/meeting/index.d.ts +58 -20
- package/dist/types/meeting/request.d.ts +18 -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 +13 -3
- package/dist/types/meeting-info/meeting-info-v2.d.ts +6 -3
- package/dist/types/meetings/index.d.ts +3 -1
- package/dist/types/member/types.d.ts +1 -0
- package/dist/types/members/collection.d.ts +6 -0
- package/dist/types/members/index.d.ts +22 -9
- 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 +2 -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 +25 -26
- package/src/constants.ts +34 -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 +174 -96
- package/src/locus-info/parser.ts +5 -1
- package/src/media/index.ts +2 -2
- package/src/media/properties.ts +43 -0
- package/src/meeting/brbState.ts +13 -9
- package/src/meeting/in-meeting-actions.ts +25 -0
- package/src/meeting/index.ts +362 -75
- package/src/meeting/muteState.ts +2 -6
- package/src/meeting/request.ts +39 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +114 -22
- package/src/meeting-info/meeting-info-v2.ts +24 -5
- package/src/meetings/index.ts +12 -5
- package/src/member/types.ts +1 -0
- package/src/members/collection.ts +11 -0
- package/src/members/index.ts +51 -15
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +34 -6
- package/src/metrics/constants.ts +2 -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/common/browser-detection.js +0 -24
- 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 +270 -97
- package/test/unit/spec/locus-info/parser.js +3 -2
- package/test/unit/spec/media/index.ts +107 -0
- package/test/unit/spec/media/properties.ts +137 -0
- package/test/unit/spec/meeting/brbState.ts +23 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +12 -0
- package/test/unit/spec/meeting/index.js +1194 -97
- package/test/unit/spec/meeting/muteState.js +32 -6
- package/test/unit/spec/meeting/request.js +92 -0
- package/test/unit/spec/meeting/utils.js +167 -17
- package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
- package/test/unit/spec/meetings/index.js +12 -5
- package/test/unit/spec/members/collection.js +120 -0
- package/test/unit/spec/members/index.js +140 -12
- 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/test/unit/spec/roap/turnDiscovery.ts +3 -3
- 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,20 +289,10 @@ 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
|
268
|
-
this.updateParticipants(locus.participants);
|
295
|
+
this.updateParticipants(locus.participants, []);
|
269
296
|
// For 1:1 space meeting the conversation Url does not exist in locus.conversation
|
270
297
|
this.updateConversationUrl(locus.conversationUrl, locus.info);
|
271
298
|
this.updateControls(locus.controls, locus.self);
|
@@ -296,6 +323,18 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
296
323
|
this.emitChange = true;
|
297
324
|
}
|
298
325
|
|
326
|
+
/**
|
327
|
+
* Handles HTTP response from Locus API call.
|
328
|
+
* @param {Meeting} meeting meeting object
|
329
|
+
* @param {LocusApiResponseBody} responseBody body of the http response from Locus API call
|
330
|
+
* @returns {void}
|
331
|
+
*/
|
332
|
+
}, {
|
333
|
+
key: "handleLocusAPIResponse",
|
334
|
+
value: function handleLocusAPIResponse(meeting, responseBody) {
|
335
|
+
this.handleLocusDelta(responseBody.locus, meeting);
|
336
|
+
}
|
337
|
+
|
299
338
|
/**
|
300
339
|
* @param {Meeting} meeting
|
301
340
|
* @param {Object} data
|
@@ -309,6 +348,9 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
309
348
|
var eventType = data.eventType;
|
310
349
|
var locus = this.getTheLocusToUpdate(data.locus);
|
311
350
|
_loggerProxy.default.logger.info("Locus-info:index#parse --> received locus data: ".concat(eventType));
|
351
|
+
locus.jsSdkMeta = {
|
352
|
+
removedParticipantIds: []
|
353
|
+
};
|
312
354
|
switch (eventType) {
|
313
355
|
case _constants.LOCUSEVENT.PARTICIPANT_JOIN:
|
314
356
|
case _constants.LOCUSEVENT.PARTICIPANT_LEFT:
|
@@ -359,6 +401,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
359
401
|
}, {
|
360
402
|
key: "onFullLocus",
|
361
403
|
value: function onFullLocus(locus, eventType) {
|
404
|
+
var _locus$jsSdkMeta;
|
362
405
|
if (!locus) {
|
363
406
|
_loggerProxy.default.logger.error('Locus-info:index#onFullLocus --> object passed as argument was invalid, continuing.');
|
364
407
|
}
|
@@ -366,12 +409,11 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
366
409
|
_loggerProxy.default.logger.info("Locus-info:index#onFullLocus --> ignoring old full locus DTO, eventType=".concat(eventType));
|
367
410
|
return;
|
368
411
|
}
|
369
|
-
this.updateParticipantDeltas(locus.participants);
|
370
412
|
this.scheduledMeeting = locus.meeting || null;
|
371
413
|
this.participants = locus.participants;
|
372
414
|
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
373
415
|
this.updateLocusInfo(locus);
|
374
|
-
this.updateParticipants(locus.participants, isReplaceMembers);
|
416
|
+
this.updateParticipants(locus.participants, (_locus$jsSdkMeta = locus.jsSdkMeta) === null || _locus$jsSdkMeta === void 0 ? void 0 : _locus$jsSdkMeta.removedParticipantIds, isReplaceMembers);
|
375
417
|
this.isMeetingActive();
|
376
418
|
this.handleOneOnOneEvent(eventType);
|
377
419
|
this.updateEmbeddedApps(locus.embeddedApps);
|
@@ -423,10 +465,11 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
423
465
|
}, {
|
424
466
|
key: "onDeltaLocus",
|
425
467
|
value: function onDeltaLocus(locus) {
|
468
|
+
var _locus$jsSdkMeta2;
|
426
469
|
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
427
470
|
this.mergeParticipants(this.participants, locus.participants);
|
428
471
|
this.updateLocusInfo(locus);
|
429
|
-
this.updateParticipants(locus.participants, isReplaceMembers);
|
472
|
+
this.updateParticipants(locus.participants, (_locus$jsSdkMeta2 = locus.jsSdkMeta) === null || _locus$jsSdkMeta2 === void 0 ? void 0 : _locus$jsSdkMeta2.removedParticipantIds, isReplaceMembers);
|
430
473
|
this.isMeetingActive();
|
431
474
|
}
|
432
475
|
|
@@ -450,12 +493,12 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
450
493
|
this.updateCreated(locus.created);
|
451
494
|
this.updateFullState(locus.fullState);
|
452
495
|
this.updateHostInfo(locus.host);
|
496
|
+
this.updateLocusUrl(locus.url);
|
453
497
|
this.updateMeetingInfo(locus.info, locus.self);
|
454
498
|
this.updateMediaShares(locus.mediaShares);
|
455
499
|
this.updateParticipantsUrl(locus.participantsUrl);
|
456
500
|
this.updateReplace(locus.replace);
|
457
501
|
this.updateSelf(locus.self);
|
458
|
-
this.updateLocusUrl(locus.url);
|
459
502
|
this.updateAclUrl(locus.aclUrl);
|
460
503
|
this.updateBasequence(locus.baseSequence);
|
461
504
|
this.updateSequence(locus.sequence);
|
@@ -657,74 +700,24 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
657
700
|
}
|
658
701
|
}
|
659
702
|
|
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
703
|
/**
|
713
704
|
* update meeting's members
|
714
705
|
* @param {Object} participants new participants object
|
706
|
+
* @param {Array} removedParticipantIds list of removed participants
|
715
707
|
* @param {Boolean} isReplace is replace the whole members
|
716
708
|
* @returns {Array} updatedParticipants
|
717
709
|
* @memberof LocusInfo
|
718
710
|
*/
|
719
711
|
}, {
|
720
712
|
key: "updateParticipants",
|
721
|
-
value: function updateParticipants(participants, isReplace) {
|
713
|
+
value: function updateParticipants(participants, removedParticipantIds, isReplace) {
|
722
714
|
var _this$parsedLocus$con;
|
723
715
|
this.emitScoped({
|
724
716
|
file: 'locus-info',
|
725
717
|
function: 'updateParticipants'
|
726
718
|
}, _constants.EVENTS.LOCUS_INFO_UPDATE_PARTICIPANTS, {
|
727
719
|
participants: participants,
|
720
|
+
removedParticipantIds: removedParticipantIds,
|
728
721
|
recordingId: this.parsedLocus.controls && ((_this$parsedLocus$con = this.parsedLocus.controls.record) === null || _this$parsedLocus$con === void 0 ? void 0 : _this$parsedLocus$con.modifiedBy),
|
729
722
|
selfIdentity: this.parsedLocus.self && this.parsedLocus.self.selfIdentity,
|
730
723
|
selfId: this.parsedLocus.self && this.parsedLocus.self.selfId,
|
@@ -772,6 +765,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
772
765
|
hasRecordingPausedChanged = _ControlsUtils$getCon2.hasRecordingPausedChanged,
|
773
766
|
hasMeetingContainerChanged = _ControlsUtils$getCon2.hasMeetingContainerChanged,
|
774
767
|
hasTranscribeChanged = _ControlsUtils$getCon2.hasTranscribeChanged,
|
768
|
+
hasTranscribeSpokenLanguageChanged = _ControlsUtils$getCon2.hasTranscribeSpokenLanguageChanged,
|
775
769
|
hasManualCaptionChanged = _ControlsUtils$getCon2.hasManualCaptionChanged,
|
776
770
|
hasEntryExitToneChanged = _ControlsUtils$getCon2.hasEntryExitToneChanged,
|
777
771
|
hasBreakoutChanged = _ControlsUtils$getCon2.hasBreakoutChanged,
|
@@ -791,6 +785,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
791
785
|
hasStageViewChanged = _ControlsUtils$getCon2.hasStageViewChanged,
|
792
786
|
hasAnnotationControlChanged = _ControlsUtils$getCon2.hasAnnotationControlChanged,
|
793
787
|
hasRemoteDesktopControlChanged = _ControlsUtils$getCon2.hasRemoteDesktopControlChanged,
|
788
|
+
hasPollingQAControlChanged = _ControlsUtils$getCon2.hasPollingQAControlChanged,
|
794
789
|
current = _ControlsUtils$getCon.current;
|
795
790
|
if (hasMuteOnEntryChanged) {
|
796
791
|
this.emitScoped({
|
@@ -890,6 +885,15 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
890
885
|
caption: caption
|
891
886
|
});
|
892
887
|
}
|
888
|
+
if (hasTranscribeSpokenLanguageChanged) {
|
889
|
+
var spokenLanguage = current.transcribe.spokenLanguage;
|
890
|
+
this.emitScoped({
|
891
|
+
file: 'locus-info',
|
892
|
+
function: 'updateControls'
|
893
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, {
|
894
|
+
spokenLanguage: spokenLanguage
|
895
|
+
});
|
896
|
+
}
|
893
897
|
if (hasManualCaptionChanged) {
|
894
898
|
var enabled = current.manualCaptionControl.enabled;
|
895
899
|
this.emitScoped({
|
@@ -994,6 +998,14 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
994
998
|
state: current.rdcControl
|
995
999
|
});
|
996
1000
|
}
|
1001
|
+
if (hasPollingQAControlChanged) {
|
1002
|
+
this.emitScoped({
|
1003
|
+
file: 'locus-info',
|
1004
|
+
function: 'updateControls'
|
1005
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, {
|
1006
|
+
state: current.pollingQAControl
|
1007
|
+
});
|
1008
|
+
}
|
997
1009
|
this.controls = controls;
|
998
1010
|
}
|
999
1011
|
}
|
@@ -1145,7 +1157,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1145
1157
|
value: function updateMeetingInfo(info, self) {
|
1146
1158
|
var _this$parsedLocus$sel;
|
1147
1159
|
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) ||
|
1160
|
+
if (info && !(0, _lodash.isEqual)(this.info, info) || !(0, _lodash.isEqual)(this.roles, roles) && info) {
|
1149
1161
|
var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
|
1150
1162
|
var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
|
1151
1163
|
if (parsedInfo.updates.isLocked) {
|
@@ -1607,7 +1619,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1607
1619
|
}, {
|
1608
1620
|
key: "updateMainSessionLocusCache",
|
1609
1621
|
value: function updateMainSessionLocusCache(mainLocus) {
|
1610
|
-
var
|
1622
|
+
var _this4 = this;
|
1611
1623
|
if (!mainLocus) {
|
1612
1624
|
return;
|
1613
1625
|
}
|
@@ -1616,7 +1628,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
1616
1628
|
// shallow merge and do special merge for participants
|
1617
1629
|
(0, _lodash.assignWith)(this.mainSessionLocusCache, locusClone, function (objValue, srcValue, key) {
|
1618
1630
|
if (key === 'participants') {
|
1619
|
-
return
|
1631
|
+
return _this4.mergeParticipants(objValue, srcValue);
|
1620
1632
|
}
|
1621
1633
|
return srcValue || objValue;
|
1622
1634
|
});
|