@webex/plugin-meetings 3.10.0-next.27 → 3.10.0-next.29

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.
Files changed (46) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/config.js +2 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/hashTree/hashTreeParser.js +3 -14
  6. package/dist/hashTree/hashTreeParser.js.map +1 -1
  7. package/dist/hashTree/types.js.map +1 -1
  8. package/dist/hashTree/utils.js +11 -0
  9. package/dist/hashTree/utils.js.map +1 -1
  10. package/dist/interpretation/index.js +1 -1
  11. package/dist/interpretation/siLanguage.js +1 -1
  12. package/dist/locus-info/index.js +2 -1
  13. package/dist/locus-info/index.js.map +1 -1
  14. package/dist/meetings/index.js +25 -11
  15. package/dist/meetings/index.js.map +1 -1
  16. package/dist/meetings/util.js +11 -7
  17. package/dist/meetings/util.js.map +1 -1
  18. package/dist/reachability/clusterReachability.js +171 -18
  19. package/dist/reachability/clusterReachability.js.map +1 -1
  20. package/dist/reachability/index.js +3 -1
  21. package/dist/reachability/index.js.map +1 -1
  22. package/dist/reachability/reachabilityPeerConnection.js +1 -1
  23. package/dist/reachability/reachabilityPeerConnection.js.map +1 -1
  24. package/dist/types/config.d.ts +1 -0
  25. package/dist/types/hashTree/hashTreeParser.d.ts +1 -11
  26. package/dist/types/hashTree/types.d.ts +4 -0
  27. package/dist/types/hashTree/utils.d.ts +7 -0
  28. package/dist/types/locus-info/index.d.ts +2 -1
  29. package/dist/types/reachability/clusterReachability.d.ts +30 -3
  30. package/dist/webinar/index.js +1 -1
  31. package/package.json +1 -1
  32. package/src/config.ts +1 -0
  33. package/src/hashTree/hashTreeParser.ts +2 -16
  34. package/src/hashTree/types.ts +5 -0
  35. package/src/hashTree/utils.ts +11 -0
  36. package/src/locus-info/index.ts +2 -3
  37. package/src/meetings/index.ts +24 -17
  38. package/src/meetings/util.ts +10 -9
  39. package/src/reachability/clusterReachability.ts +153 -27
  40. package/src/reachability/index.ts +6 -1
  41. package/src/reachability/reachabilityPeerConnection.ts +3 -1
  42. package/test/unit/spec/hashTree/utils.ts +38 -1
  43. package/test/unit/spec/meetings/index.js +192 -1
  44. package/test/unit/spec/meetings/utils.js +51 -1
  45. package/test/unit/spec/reachability/clusterReachability.ts +125 -1
  46. package/test/unit/spec/reachability/index.ts +3 -3
@@ -62,6 +62,7 @@ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-we
62
62
  var _webexErrors = require("../common/errors/webex-errors");
63
63
  var _noMeetingInfo = _interopRequireDefault(require("../common/errors/no-meeting-info"));
64
64
  var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
65
+ var _utils = require("../hashTree/utils");
65
66
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t3 in e) "default" !== _t3 && {}.hasOwnProperty.call(e, _t3) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t3)) && (i.get || i.set) ? o(f, _t3, i) : f[_t3] = e[_t3]); return f; })(e, t); }
66
67
  function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
67
68
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -435,19 +436,32 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
435
436
  }, {
436
437
  key: "getCorrespondingMeetingByLocus",
437
438
  value: function getCorrespondingMeetingByLocus(data) {
438
- var _data$stateElementsMe, _data$locus, _data$locus$self, _data$locus$self$call, _data$locus2, _data$locus2$info, _data$locus3, _data$locus4, _data$locus4$info;
439
- if (data.eventType === _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED && (_data$stateElementsMe = data.stateElementsMessage) !== null && _data$stateElementsMe !== void 0 && _data$stateElementsMe.locusUrl) {
440
- return this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.stateElementsMessage.locusUrl);
439
+ var _data$stateElementsMe, _data$stateElementsMe2, _data$stateElementsMe3, _data$stateElementsMe4, _data$locus, _self$callbackInfo, _data$locus2, _data$locus2$info, _data$locus3, _data$locus4, _data$locus4$info;
440
+ var locusUrl = ((_data$stateElementsMe = data.stateElementsMessage) === null || _data$stateElementsMe === void 0 ? void 0 : _data$stateElementsMe.locusUrl) ||
441
+ // hash tree event
442
+ data.locusUrl; // classic event
443
+
444
+ // first try to find by locusUrl - that's the simplest and quickest way
445
+ var existingMeeting = this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, locusUrl);
446
+ if (existingMeeting) {
447
+ return existingMeeting;
441
448
  }
442
449
 
443
- // getting meeting by correlationId. This will happen for the new event
444
- // Either the locus
445
- // TODO : Add check for the callBack Address
446
- return this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locusUrl) ||
447
- // @ts-ignore
448
- this.meetingCollection.getByKey(_meetings.MEETING_KEY.CORRELATION_ID,
449
- // @ts-ignore
450
- _util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, (_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : (_data$locus$self = _data$locus.self) === null || _data$locus$self === void 0 ? void 0 : (_data$locus$self$call = _data$locus$self.callbackInfo) === null || _data$locus$self$call === void 0 ? void 0 : _data$locus$self$call.callbackAddress) || ((_data$locus2 = data.locus) !== null && _data$locus2 !== void 0 && (_data$locus2$info = _data$locus2.info) !== null && _data$locus2$info !== void 0 && _data$locus2$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, (_data$locus3 = data.locus) === null || _data$locus3 === void 0 ? void 0 : _data$locus3.conversationUrl)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.MEETINGNUMBER, (_data$locus4 = data.locus) === null || _data$locus4 === void 0 ? void 0 : (_data$locus4$info = _data$locus4.info) === null || _data$locus4$info === void 0 ? void 0 : _data$locus4$info.webExMeetingId);
450
+ // if that didn't work, fallback to other fields like correlationId, sipUri, etc
451
+
452
+ // If the event is a hash tree event, we need to extract "self" object from it
453
+ // We don't care about the version, just need to find the meeting this event is for,
454
+ // so any hash tree object of type "self" will do
455
+ var hashTreeEventSelf = (_data$stateElementsMe2 = data.stateElementsMessage) === null || _data$stateElementsMe2 === void 0 ? void 0 : (_data$stateElementsMe3 = _data$stateElementsMe2.locusStateElements) === null || _data$stateElementsMe3 === void 0 ? void 0 : (_data$stateElementsMe4 = _data$stateElementsMe3.find(function (obj) {
456
+ return (0, _utils.isSelf)(obj);
457
+ })) === null || _data$stateElementsMe4 === void 0 ? void 0 : _data$stateElementsMe4.data;
458
+ var self = hashTreeEventSelf || ((_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : _data$locus.self);
459
+ return (
460
+ // @ts-ignore
461
+ this.meetingCollection.getByKey(_meetings.MEETING_KEY.CORRELATION_ID,
462
+ // @ts-ignore
463
+ _util2.default.getCorrelationIdForDevice(this.webex.internal.device.url, self)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, self === null || self === void 0 ? void 0 : (_self$callbackInfo = self.callbackInfo) === null || _self$callbackInfo === void 0 ? void 0 : _self$callbackInfo.callbackAddress) || ((_data$locus2 = data.locus) !== null && _data$locus2 !== void 0 && (_data$locus2$info = _data$locus2.info) !== null && _data$locus2$info !== void 0 && _data$locus2$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, (_data$locus3 = data.locus) === null || _data$locus3 === void 0 ? void 0 : _data$locus3.conversationUrl)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.MEETINGNUMBER, (_data$locus4 = data.locus) === null || _data$locus4 === void 0 ? void 0 : (_data$locus4$info = _data$locus4.info) === null || _data$locus4$info === void 0 ? void 0 : _data$locus4$info.webExMeetingId)
464
+ );
451
465
  }
452
466
 
453
467
  /**