@webex/plugin-meetings 3.8.1-next.3 → 3.8.1-next.30
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 +21 -2
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +36 -17
- package/dist/locus-info/index.js.map +1 -1
- package/dist/media/index.js +2 -2
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/brbState.js +14 -12
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/index.js +169 -66
- 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/meetings/index.js +35 -33
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +8 -6
- 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 +18 -6
- package/dist/members/util.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 +5 -10
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +19 -0
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/index.d.ts +28 -4
- package/dist/types/meeting/request.d.ts +9 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/types/members/index.d.ts +8 -3
- package/dist/types/members/request.d.ts +1 -1
- package/dist/types/members/util.d.ts +5 -2
- 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 -24
- package/src/constants.ts +20 -0
- package/src/locus-info/index.ts +47 -20
- package/src/media/index.ts +2 -2
- package/src/meeting/brbState.ts +9 -7
- package/src/meeting/index.ts +126 -23
- package/src/meeting/request.ts +16 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meetings/index.ts +3 -2
- package/src/members/index.ts +7 -5
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +14 -3
- 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 +5 -13
- package/test/unit/spec/locus-info/index.js +177 -47
- package/test/unit/spec/media/index.ts +107 -0
- package/test/unit/spec/meeting/brbState.ts +9 -9
- package/test/unit/spec/meeting/index.js +606 -55
- package/test/unit/spec/meeting/request.js +71 -0
- package/test/unit/spec/meetings/index.js +1 -0
- package/test/unit/spec/members/index.js +32 -9
- package/test/unit/spec/members/request.js +2 -2
- package/test/unit/spec/members/utils.js +27 -7
- 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 +2 -6
package/dist/locus-info/index.js
CHANGED
@@ -115,6 +115,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
115
115
|
var _this2 = this;
|
116
116
|
var isDelta;
|
117
117
|
var url;
|
118
|
+
var meetingDestroyed = false;
|
118
119
|
if (this.locusParser.workingCopy.syncUrl) {
|
119
120
|
url = this.locusParser.workingCopy.syncUrl;
|
120
121
|
isDelta = true;
|
@@ -139,27 +140,43 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
139
140
|
code: e.code
|
140
141
|
});
|
141
142
|
isDelta = false;
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
143
|
+
|
144
|
+
// Locus sometimes returns 403, for example if meeting has ended, no point trying the fallback to full sync in that case
|
145
|
+
if (e.statusCode !== 403) {
|
146
|
+
return meeting.meetingRequest.getLocusDTO({
|
147
|
+
url: meeting.locusUrl
|
148
|
+
}).catch(function (err) {
|
149
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
150
|
+
_this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
|
151
|
+
meetingDestroyed = true;
|
152
|
+
throw err;
|
153
|
+
});
|
154
|
+
}
|
155
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> got 403 from Locus, skipping fallback to full sync, destroying the meeting');
|
156
|
+
} else {
|
157
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
149
158
|
}
|
150
|
-
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
|
151
159
|
_this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
|
160
|
+
meetingDestroyed = true;
|
152
161
|
throw e;
|
153
162
|
}).then(function (res) {
|
163
|
+
if ((0, _lodash.isEmpty)(res.body)) {
|
164
|
+
if (isDelta) {
|
165
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from syncUrl, so we already have latest Locus DTO');
|
166
|
+
} else {
|
167
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from full DTO sync request');
|
168
|
+
}
|
169
|
+
return;
|
170
|
+
}
|
154
171
|
if (isDelta) {
|
155
|
-
if (
|
172
|
+
if (res.body.baseSequence) {
|
156
173
|
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');
|
174
|
+
return;
|
159
175
|
}
|
160
|
-
|
161
|
-
|
176
|
+
// in some cases Locus might return us full DTO even when we asked for a delta
|
177
|
+
_loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> got full DTO when we asked for delta');
|
162
178
|
}
|
179
|
+
meeting.locusInfo.onFullLocus(res.body);
|
163
180
|
}).catch(function (e) {
|
164
181
|
_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(), ")"));
|
165
182
|
_metrics.default.sendBehavioralMetric(_constants2.default.LOCUS_SYNC_HANDLING_FAILED, {
|
@@ -171,9 +188,11 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
171
188
|
code: e.code
|
172
189
|
});
|
173
190
|
}).finally(function () {
|
174
|
-
|
175
|
-
|
176
|
-
|
191
|
+
if (!meetingDestroyed) {
|
192
|
+
// Notify parser to resume processing delta events.
|
193
|
+
// Any deltas in the queue that have now been superseded by this sync will simply be ignored
|
194
|
+
_this2.locusParser.resume();
|
195
|
+
}
|
177
196
|
});
|
178
197
|
}
|
179
198
|
|
@@ -461,12 +480,12 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
|
|
461
480
|
this.updateCreated(locus.created);
|
462
481
|
this.updateFullState(locus.fullState);
|
463
482
|
this.updateHostInfo(locus.host);
|
483
|
+
this.updateLocusUrl(locus.url);
|
464
484
|
this.updateMeetingInfo(locus.info, locus.self);
|
465
485
|
this.updateMediaShares(locus.mediaShares);
|
466
486
|
this.updateParticipantsUrl(locus.participantsUrl);
|
467
487
|
this.updateReplace(locus.replace);
|
468
488
|
this.updateSelf(locus.self);
|
469
|
-
this.updateLocusUrl(locus.url);
|
470
489
|
this.updateAclUrl(locus.aclUrl);
|
471
490
|
this.updateBasequence(locus.baseSequence);
|
472
491
|
this.updateSequence(locus.sequence);
|