@webex/plugin-meetings 3.12.0-next.53 → 3.12.0-next.55

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.
@@ -191,7 +191,7 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
191
191
  method: _constants.HTTP_VERBS.PUT
192
192
  });
193
193
  },
194
- version: "3.12.0-next.53"
194
+ version: "3.12.0-next.55"
195
195
  });
196
196
  var _default = exports.default = AIEnableRequest;
197
197
  //# sourceMappingURL=index.js.map
@@ -214,7 +214,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
214
214
  sessionId: this.sessionId
215
215
  });
216
216
  },
217
- version: "3.12.0-next.53"
217
+ version: "3.12.0-next.55"
218
218
  });
219
219
  var _default = exports.default = Breakout;
220
220
  //# sourceMappingURL=breakout.js.map
@@ -1110,7 +1110,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1110
1110
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1111
1111
  }
1112
1112
  },
1113
- version: "3.12.0-next.53"
1113
+ version: "3.12.0-next.55"
1114
1114
  });
1115
1115
  var _default = exports.default = Breakouts;
1116
1116
  //# sourceMappingURL=index.js.map
@@ -610,18 +610,6 @@ var HashTreeParser = /*#__PURE__*/function () {
610
610
  value: function handleRootHashHeartBeatMessage(message) {
611
611
  var _this4 = this;
612
612
  var dataSets = message.dataSets;
613
- _loggerProxy.default.logger.info("HashTreeParser#handleRootHashMessage --> ".concat(this.debugId, " Received heartbeat root hash message with data sets: ").concat((0, _stringify.default)(dataSets.map(function (_ref2) {
614
- var name = _ref2.name,
615
- root = _ref2.root,
616
- leafCount = _ref2.leafCount,
617
- version = _ref2.version;
618
- return {
619
- name: name,
620
- root: root,
621
- leafCount: leafCount,
622
- version: version
623
- };
624
- }))));
625
613
  dataSets.forEach(function (dataSet) {
626
614
  _this4.updateDataSetInfo(dataSet);
627
615
  _this4.runSyncAlgorithm(dataSet);
@@ -736,6 +724,9 @@ var HashTreeParser = /*#__PURE__*/function () {
736
724
  var dataSets = update.dataSets,
737
725
  locus = update.locus,
738
726
  metadata = update.metadata;
727
+ _loggerProxy.default.logger.info("HashTreeParser#handleLocusUpdate --> ".concat(this.debugId, " received update with dataSets=").concat(dataSets === null || dataSets === void 0 ? void 0 : dataSets.map(function (ds) {
728
+ return ds.name;
729
+ }).join(','), " metadata=").concat(metadata ? 'yes' : 'no'));
739
730
  if (!dataSets) {
740
731
  // this happens for example when we handle GET /loci response
741
732
  _loggerProxy.default.logger.info("HashTreeParser#handleLocusUpdate --> ".concat(this.debugId, " received hash tree update without dataSets"));
@@ -776,10 +767,10 @@ var HashTreeParser = /*#__PURE__*/function () {
776
767
  version: leaf.version
777
768
  };
778
769
  }));
779
- (0, _lodash.zip)(appliedChangesList, leafInfo[dataSetName]).forEach(function (_ref3) {
780
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
781
- changeApplied = _ref4[0],
782
- leaf = _ref4[1];
770
+ (0, _lodash.zip)(appliedChangesList, leafInfo[dataSetName]).forEach(function (_ref2) {
771
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
772
+ changeApplied = _ref3[0],
773
+ leaf = _ref3[1];
783
774
  if (changeApplied) {
784
775
  updatedObjects.push({
785
776
  htMeta: {
@@ -1105,17 +1096,27 @@ var HashTreeParser = /*#__PURE__*/function () {
1105
1096
  }, {
1106
1097
  key: "parseMessage",
1107
1098
  value: function parseMessage(message, debugText) {
1108
- var _message$locusStateEl,
1099
+ var _message$dataSets,
1100
+ _message$locusStateEl,
1101
+ _message$locusStateEl2,
1109
1102
  _this0 = this;
1110
1103
  if (this.state === 'stopped') {
1111
1104
  return [];
1112
1105
  }
1113
1106
  var dataSets = message.dataSets,
1114
1107
  visibleDataSetsUrl = message.visibleDataSetsUrl;
1115
- _loggerProxy.default.logger.info("HashTreeParser#parseMessage --> ".concat(this.debugId, " received message ").concat(debugText || '', ":"), message);
1116
- if (((_message$locusStateEl = message.locusStateElements) === null || _message$locusStateEl === void 0 ? void 0 : _message$locusStateEl.length) === 0) {
1108
+ _loggerProxy.default.logger.info("HashTreeParser#parseMessage --> ".concat(this.debugId, " ").concat(debugText || '', " dataSets: ").concat((_message$dataSets = message.dataSets) === null || _message$dataSets === void 0 ? void 0 : _message$dataSets.map(function (_ref4) {
1109
+ var name = _ref4.name,
1110
+ version = _ref4.version;
1111
+ return "".concat(name, ":").concat(version);
1112
+ }).join(','), ", elements: ").concat((_message$locusStateEl = message.locusStateElements) === null || _message$locusStateEl === void 0 ? void 0 : _message$locusStateEl.map(function (el) {
1113
+ return "".concat(el.htMeta.elementId.type, ":").concat(el.htMeta.elementId.id, ":").concat(el.htMeta.elementId.version).concat(el.data ? '+' : '-');
1114
+ }).join(',')));
1115
+ if (((_message$locusStateEl2 = message.locusStateElements) === null || _message$locusStateEl2 === void 0 ? void 0 : _message$locusStateEl2.length) === 0) {
1117
1116
  _loggerProxy.default.logger.warn("HashTreeParser#parseMessage --> ".concat(this.debugId, " got empty locusStateElements!!!"));
1118
- // todo: send a metric
1117
+ _metrics.default.sendBehavioralMetric(_constants.default.HASH_TREE_EMPTY_LOCUS_STATE_ELEMENTS, {
1118
+ debugId: this.debugId
1119
+ });
1119
1120
  }
1120
1121
 
1121
1122
  // first, update our metadata about the datasets with info from the message
@@ -1627,7 +1628,9 @@ var HashTreeParser = /*#__PURE__*/function () {
1627
1628
  return;
1628
1629
  }
1629
1630
  if (!dataSet.hashTree) {
1630
- _loggerProxy.default.logger.info("HashTreeParser#runSyncAlgorithm --> ".concat(this.debugId, " Data set \"").concat(dataSet.name, "\" has no hash tree, skipping sync algorithm"));
1631
+ // no hash tree, so no need to do any syncing
1632
+ // we fall into this branch often, because Locus sends dataSets in messages that are not visible to us
1633
+
1631
1634
  return;
1632
1635
  }
1633
1636
  dataSet.hashTree.resize(receivedDataSet.leafCount);
@@ -1636,7 +1639,6 @@ var HashTreeParser = /*#__PURE__*/function () {
1636
1639
  if (dataSet.timer) {
1637
1640
  clearTimeout(dataSet.timer);
1638
1641
  }
1639
- _loggerProxy.default.logger.info("HashTreeParser#runSyncAlgorithm --> ".concat(this.debugId, " setting \"").concat(dataSet.name, "\" sync timer for ").concat(delay));
1640
1642
  dataSet.timer = setTimeout(function () {
1641
1643
  dataSet.timer = undefined;
1642
1644
  if (!dataSet.hashTree) {
@@ -1646,8 +1648,6 @@ var HashTreeParser = /*#__PURE__*/function () {
1646
1648
  var rootHash = dataSet.hashTree.getRootHash();
1647
1649
  if (dataSet.root !== rootHash) {
1648
1650
  _this10.enqueueSyncForDataset(dataSet.name, "Root hash mismatch: received=".concat(dataSet.root, ", ours=").concat(rootHash));
1649
- } else {
1650
- _loggerProxy.default.logger.info("HashTreeParser#runSyncAlgorithm --> ".concat(_this10.debugId, " \"").concat(dataSet.name, "\" root hash matching: ").concat(rootHash, ", version=").concat(dataSet.version));
1651
1651
  }
1652
1652
  }, delay);
1653
1653
  } else {
@@ -1690,6 +1690,10 @@ var HashTreeParser = /*#__PURE__*/function () {
1690
1690
  dataSet.heartbeatWatchdogTimer = setTimeout(function () {
1691
1691
  dataSet.heartbeatWatchdogTimer = undefined;
1692
1692
  _loggerProxy.default.logger.warn("HashTreeParser#resetHeartbeatWatchdogs --> ".concat(_this11.debugId, " Heartbeat watchdog fired for data set \"").concat(dataSet.name, "\" - no heartbeat received within expected interval, initiating sync"));
1693
+ _metrics.default.sendBehavioralMetric(_constants.default.HASH_TREE_HEARTBEAT_WATCHDOG_EXPIRED, {
1694
+ debugId: _this11.debugId,
1695
+ dataSetName: dataSet.name
1696
+ });
1693
1697
  _this11.enqueueSyncForDataset(dataSet.name, "heartbeat watchdog expired");
1694
1698
  _this11.resetHeartbeatWatchdogs([dataSet]);
1695
1699
  }, delay);
@@ -1762,9 +1766,9 @@ var HashTreeParser = /*#__PURE__*/function () {
1762
1766
  }, {
1763
1767
  key: "resumeFromMessage",
1764
1768
  value: function resumeFromMessage(message) {
1765
- var _message$locusStateEl2, _metadataObject$data;
1769
+ var _message$locusStateEl3, _metadataObject$data;
1766
1770
  // check that message contains metadata with visible data sets - this is essential to be able to resume
1767
- var metadataObject = (_message$locusStateEl2 = message.locusStateElements) === null || _message$locusStateEl2 === void 0 ? void 0 : _message$locusStateEl2.find(function (el) {
1771
+ var metadataObject = (_message$locusStateEl3 = message.locusStateElements) === null || _message$locusStateEl3 === void 0 ? void 0 : _message$locusStateEl3.find(function (el) {
1768
1772
  return (0, _utils.isMetadata)(el);
1769
1773
  });
1770
1774
  if (!(metadataObject !== null && metadataObject !== void 0 && (_metadataObject$data = metadataObject.data) !== null && _metadataObject$data !== void 0 && _metadataObject$data.visibleDataSets)) {
@@ -1940,7 +1944,6 @@ var HashTreeParser = /*#__PURE__*/function () {
1940
1944
  },
1941
1945
  body: body
1942
1946
  }).then(function (resp) {
1943
- _loggerProxy.default.logger.info("HashTreeParser#sendSyncRequestToLocus --> ".concat(_this13.debugId, " Sync request succeeded for \"").concat(dataSet.name, "\""));
1944
1947
  if (!resp.body || (0, _lodash.isEmpty)(resp.body)) {
1945
1948
  _loggerProxy.default.logger.info("HashTreeParser#sendSyncRequestToLocus --> ".concat(_this13.debugId, " Got ").concat(resp.statusCode, " with empty body for sync request for data set \"").concat(dataSet.name, "\", data should arrive via messages"));
1946
1949
  return null;