@webex/plugin-meetings 3.12.0-next.62 → 3.12.0-next.64

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.62"
194
+ version: "3.12.0-next.64"
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.62"
217
+ version: "3.12.0-next.64"
218
218
  });
219
219
  var _default = exports.default = Breakout;
220
220
  //# sourceMappingURL=breakout.js.map
@@ -1133,7 +1133,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1133
1133
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1134
1134
  }
1135
1135
  },
1136
- version: "3.12.0-next.62"
1136
+ version: "3.12.0-next.64"
1137
1137
  });
1138
1138
  var _default = exports.default = Breakouts;
1139
1139
  //# sourceMappingURL=index.js.map
@@ -113,7 +113,6 @@ var HashTreeParser = /*#__PURE__*/function () {
113
113
  (0, _defineProperty2.default)(this, "locusInfoUpdateCallback", void 0);
114
114
  (0, _defineProperty2.default)(this, "visibleDataSets", void 0);
115
115
  (0, _defineProperty2.default)(this, "debugId", void 0);
116
- (0, _defineProperty2.default)(this, "heartbeatIntervalMs", void 0);
117
116
  (0, _defineProperty2.default)(this, "excludedDataSets", void 0);
118
117
  (0, _defineProperty2.default)(this, "state", void 0);
119
118
  (0, _defineProperty2.default)(this, "syncQueue", []);
@@ -123,6 +122,8 @@ var HashTreeParser = /*#__PURE__*/function () {
123
122
  // datasets that received messages during the syncAllDatasets backoff sleep and should be skipped
124
123
  (0, _defineProperty2.default)(this, "dataSetsSyncedDuringBackoff", new _set.default());
125
124
  (0, _defineProperty2.default)(this, "syncQueueProcessingPromise", _promise.default.resolve());
125
+ // top-level heartbeat interval from the most recent message, used as fallback when dataset-level value is missing
126
+ (0, _defineProperty2.default)(this, "topLevelHeartbeatIntervalMs", void 0);
126
127
  var _options$initialLocus = options.initialLocus,
127
128
  dataSets = _options$initialLocus.dataSets,
128
129
  locus = _options$initialLocus.locus; // extract dataSets from initialLocus
@@ -851,6 +852,7 @@ var HashTreeParser = /*#__PURE__*/function () {
851
852
  maxMs: receivedDataSet.backoff.maxMs,
852
853
  exponent: receivedDataSet.backoff.exponent
853
854
  };
855
+ this.dataSets[receivedDataSet.name].heartbeatIntervalMs = receivedDataSet.heartbeatIntervalMs;
854
856
  _loggerProxy.default.logger.info("HashTreeParser#updateDataSetInfo --> ".concat(this.debugId, " updated \"").concat(receivedDataSet.name, "\" dataset to version=").concat(receivedDataSet.version, ", root=").concat(receivedDataSet.root));
855
857
  }
856
858
  }
@@ -1256,8 +1258,8 @@ var HashTreeParser = /*#__PURE__*/function () {
1256
1258
  if (this.state === 'stopped') {
1257
1259
  return;
1258
1260
  }
1259
- if (message.heartbeatIntervalMs) {
1260
- this.heartbeatIntervalMs = message.heartbeatIntervalMs;
1261
+ if (message.heartbeatIntervalMs !== undefined) {
1262
+ this.topLevelHeartbeatIntervalMs = message.heartbeatIntervalMs;
1261
1263
  }
1262
1264
  if (this.isEndMessage(message)) {
1263
1265
  _loggerProxy.default.logger.info("HashTreeParser#handleMessage --> ".concat(this.debugId, " received sentinel END MEETING message"));
@@ -1888,25 +1890,26 @@ var HashTreeParser = /*#__PURE__*/function () {
1888
1890
  key: "resetHeartbeatWatchdogs",
1889
1891
  value: function resetHeartbeatWatchdogs(receivedDataSets) {
1890
1892
  var _this11 = this;
1891
- if (!this.heartbeatIntervalMs) {
1892
- return;
1893
- }
1894
1893
  var _iterator10 = _createForOfIteratorHelper(receivedDataSets),
1895
1894
  _step10;
1896
1895
  try {
1897
1896
  var _loop2 = function _loop2() {
1897
+ var _dataSet$heartbeatInt;
1898
1898
  var receivedDataSet = _step10.value;
1899
1899
  var dataSet = _this11.dataSets[receivedDataSet.name];
1900
- if (!(dataSet !== null && dataSet !== void 0 && dataSet.hashTree)) {
1901
- // eslint-disable-next-line no-continue
1902
- return 1; // continue
1903
- }
1904
1900
  if (dataSet.heartbeatWatchdogTimer) {
1905
1901
  clearTimeout(dataSet.heartbeatWatchdogTimer);
1906
1902
  dataSet.heartbeatWatchdogTimer = undefined;
1907
1903
  }
1904
+
1905
+ // dataset-level heartbeatIntervalMs takes priority; fall back to top-level common value
1906
+ var heartbeatIntervalMs = (_dataSet$heartbeatInt = dataSet === null || dataSet === void 0 ? void 0 : dataSet.heartbeatIntervalMs) !== null && _dataSet$heartbeatInt !== void 0 ? _dataSet$heartbeatInt : _this11.topLevelHeartbeatIntervalMs;
1907
+ if (!(dataSet !== null && dataSet !== void 0 && dataSet.hashTree) || !heartbeatIntervalMs) {
1908
+ // eslint-disable-next-line no-continue
1909
+ return 1; // continue
1910
+ }
1908
1911
  var backoffTime = _this11.getWeightedBackoffTime(dataSet.backoff);
1909
- var delay = _this11.heartbeatIntervalMs + backoffTime;
1912
+ var delay = heartbeatIntervalMs + backoffTime;
1910
1913
  dataSet.heartbeatWatchdogTimer = setTimeout(function () {
1911
1914
  dataSet.heartbeatWatchdogTimer = undefined;
1912
1915
  _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"));
@@ -1959,6 +1962,7 @@ var HashTreeParser = /*#__PURE__*/function () {
1959
1962
  _loggerProxy.default.logger.info("HashTreeParser#stop --> ".concat(this.debugId, " Stopping HashTreeParser, clearing timers and hash trees"));
1960
1963
  this.stopAllTimers();
1961
1964
  this.syncQueue = [];
1965
+ this.topLevelHeartbeatIntervalMs = undefined;
1962
1966
  this.syncAllBackoffType = SyncAllBackoffType.NONE;
1963
1967
  this.dataSetsSyncedDuringBackoff = new _set.default();
1964
1968
  (0, _values.default)(this.dataSets).forEach(function (dataSet) {