@atlaskit/collab-provider 9.22.0 → 9.22.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/collab-provider
2
2
 
3
+ ## 9.22.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#69192](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/69192) [`343f11caf70c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/343f11caf70c) - ESS-4173: add tests for commitStepQueue
8
+ - [#69931](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/69931) [`cfc9225ee4f1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/cfc9225ee4f1) - Revert change to skip catchup for jcollab
9
+
10
+ ## 9.22.1
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
3
16
  ## 9.22.0
4
17
 
5
18
  ### Minor Changes
@@ -27,8 +27,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
27
27
  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; }
28
28
  var CATCHUP_THROTTLE = 1 * 1000; // 1 second
29
29
 
30
- var RESTRICTED_PRODUCTS = ['jcollab']; // restrict presence-only products
31
-
32
30
  var noop = function noop() {};
33
31
  var logger = (0, _utils.createLogger)('documentService', 'black');
34
32
  var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
@@ -53,7 +51,6 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
53
51
  var _this = this;
54
52
  var enableErrorOnFailedDocumentApply = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
55
53
  var enableSendStepsQueue = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : (0, _featureFlags.getCollabProviderFeatureFlag)('sendStepsQueue');
56
- var url = arguments.length > 11 ? arguments[11] : undefined;
57
54
  (0, _classCallCheck2.default)(this, DocumentService);
58
55
  // Fires analytics to editor when collab editor cannot sync up
59
56
  (0, _defineProperty2.default)(this, "stepRejectCounter", 0);
@@ -78,25 +75,17 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
78
75
  return _regenerator.default.wrap(function _callee$(_context) {
79
76
  while (1) switch (_context.prev = _context.next) {
80
77
  case 0:
81
- if (!(_this.url && RESTRICTED_PRODUCTS.some(function (productId) {
82
- return _this.url.endsWith(productId);
83
- }))) {
84
- _context.next = 2;
85
- break;
86
- }
87
- return _context.abrupt("return");
88
- case 2:
89
78
  start = new Date().getTime(); // if the queue is already paused, we are busy with something else, so don't proceed.
90
79
  if (!_this.stepQueue.isPaused()) {
91
- _context.next = 6;
80
+ _context.next = 4;
92
81
  break;
93
82
  }
94
83
  logger("Queue is paused. Aborting.");
95
84
  return _context.abrupt("return");
96
- case 6:
85
+ case 4:
97
86
  _this.stepQueue.pauseQueue();
98
- _context.prev = 7;
99
- _context.next = 10;
87
+ _context.prev = 5;
88
+ _context.next = 8;
100
89
  return (0, _catchup.catchup)({
101
90
  getCurrentPmVersion: _this.getCurrentPmVersion,
102
91
  fetchCatchup: _this.fetchCatchup,
@@ -108,32 +97,32 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
108
97
  analyticsHelper: _this.analyticsHelper,
109
98
  clientId: _this.clientId
110
99
  });
111
- case 10:
100
+ case 8:
112
101
  latency = new Date().getTime() - start;
113
102
  (_this$analyticsHelper = _this.analyticsHelper) === null || _this$analyticsHelper === void 0 || _this$analyticsHelper.sendActionEvent(_const.EVENT_ACTION.CATCHUP, _const.EVENT_STATUS.SUCCESS, {
114
103
  latency: latency
115
104
  });
116
- _context.next = 18;
105
+ _context.next = 16;
117
106
  break;
118
- case 14:
119
- _context.prev = 14;
120
- _context.t0 = _context["catch"](7);
107
+ case 12:
108
+ _context.prev = 12;
109
+ _context.t0 = _context["catch"](5);
121
110
  _latency = new Date().getTime() - start;
122
111
  (_this$analyticsHelper2 = _this.analyticsHelper) === null || _this$analyticsHelper2 === void 0 || _this$analyticsHelper2.sendActionEvent(_const.EVENT_ACTION.CATCHUP, _const.EVENT_STATUS.FAILURE, {
123
112
  latency: _latency
124
113
  });
125
- case 18:
126
- _context.prev = 18;
114
+ case 16:
115
+ _context.prev = 16;
127
116
  _this.stepQueue.resumeQueue();
128
117
  _this.processQueue();
129
118
  _this.sendStepsFromCurrentState(); // this will eventually retry catchup as it calls throttledCommitStep which will either catchup on onStepsAdded or onErrorHandled
130
119
  _this.stepRejectCounter = 0;
131
- return _context.finish(18);
132
- case 24:
120
+ return _context.finish(16);
121
+ case 22:
133
122
  case "end":
134
123
  return _context.stop();
135
124
  }
136
- }, _callee, null, [[7, 14, 18, 24]]);
125
+ }, _callee, null, [[5, 12, 16, 22]]);
137
126
  })));
138
127
  (0, _defineProperty2.default)(this, "getCurrentPmVersion", function () {
139
128
  var _this$getState;
@@ -559,7 +548,6 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
559
548
  this.metadataService = metadataService;
560
549
  this.enableErrorOnFailedDocumentApply = enableErrorOnFailedDocumentApply;
561
550
  this.enableSendStepsQueue = enableSendStepsQueue;
562
- this.url = url;
563
551
  this.stepQueue = new _stepQueueState.StepQueueState();
564
552
  }
565
553
  (0, _createClass2.default)(DocumentService, [{
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.throttledCommitStep = exports.commitStepQueue = exports.commitStep = void 0;
7
+ exports.throttledCommitStep = exports.readyToCommit = exports.commitStepQueue = exports.commitStep = exports.RESET_READYTOCOMMIT_INTERVAL_MS = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _countBy = _interopRequireDefault(require("lodash/countBy"));
10
10
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
@@ -16,7 +16,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
16
16
  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; }
17
17
  var SEND_STEPS_THROTTLE = 500; // 0.5 second
18
18
  var logger = (0, _utils.createLogger)('commit-step', 'black');
19
- var readyToCommit = true;
19
+ var readyToCommit = exports.readyToCommit = true;
20
+ var RESET_READYTOCOMMIT_INTERVAL_MS = exports.RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
20
21
  var commitStepQueue = exports.commitStepQueue = function commitStepQueue(_ref) {
21
22
  var broadcast = _ref.broadcast,
22
23
  steps = _ref.steps,
@@ -32,11 +33,11 @@ var commitStepQueue = exports.commitStepQueue = function commitStepQueue(_ref) {
32
33
  return;
33
34
  }
34
35
  // Block other sending request, before ACK
35
- readyToCommit = false;
36
+ exports.readyToCommit = readyToCommit = false;
36
37
  var timer = setTimeout(function () {
37
- readyToCommit = true;
38
+ exports.readyToCommit = readyToCommit = true;
38
39
  logger('reset readyToCommit by timer');
39
- }, 5000);
40
+ }, RESET_READYTOCOMMIT_INTERVAL_MS);
40
41
  var stepsWithClientAndUserId = steps.map(function (step) {
41
42
  return _objectSpread(_objectSpread({}, step.toJSON()), {}, {
42
43
  clientId: clientId,
@@ -59,11 +60,11 @@ var commitStepQueue = exports.commitStepQueue = function commitStepQueue(_ref) {
59
60
  clearTimeout(timer);
60
61
  if (latency <= 400) {
61
62
  setTimeout(function () {
62
- readyToCommit = true;
63
+ exports.readyToCommit = readyToCommit = true;
63
64
  logger('reset readyToCommit');
64
65
  }, 100);
65
66
  } else {
66
- readyToCommit = true;
67
+ exports.readyToCommit = readyToCommit = true;
67
68
  logger('reset readyToCommit');
68
69
  }
69
70
  }
@@ -267,7 +267,7 @@ var Provider = exports.Provider = /*#__PURE__*/function (_Emitter) {
267
267
  _this.metadataService = new _metadataService.MetadataService(_this.emitCallback, _this.channel.sendMetadata);
268
268
  _this.documentService = new _documentService.DocumentService(_this.participantsService, _this.analyticsHelper, _this.channel.fetchCatchup, _this.channel.fetchReconcile, _this.emitCallback, _this.channel.broadcast, function () {
269
269
  return _this.userId;
270
- }, _this.onErrorHandled, _this.metadataService, _this.config.enableErrorOnFailedDocumentApply, (0, _featureFlags.getCollabProviderFeatureFlag)('sendStepsQueue', _this.config.featureFlags), _this.config.url);
270
+ }, _this.onErrorHandled, _this.metadataService, _this.config.enableErrorOnFailedDocumentApply, (0, _featureFlags.getCollabProviderFeatureFlag)('sendStepsQueue', _this.config.featureFlags));
271
271
  _this.namespaceService = new _namespaceService.NamespaceService();
272
272
  _this.api = new _api.Api(config, _this.documentService, _this.channel);
273
273
  if ((0, _featureFlags.getCollabProviderFeatureFlag)('sendStepsQueue', _this.config.featureFlags)) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.nextMajorVersion = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/collab-provider";
8
- var version = exports.version = "9.22.0";
8
+ var version = exports.version = "9.22.2";
9
9
  var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
10
10
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
11
11
  };
@@ -14,8 +14,6 @@ import { getCollabProviderFeatureFlag } from '../feature-flags';
14
14
  import { CantSyncUpError, UpdateDocumentError } from '../errors/custom-errors';
15
15
  const CATCHUP_THROTTLE = 1 * 1000; // 1 second
16
16
 
17
- const RESTRICTED_PRODUCTS = ['jcollab']; // restrict presence-only products
18
-
19
17
  const noop = () => {};
20
18
  const logger = createLogger('documentService', 'black');
21
19
  export class DocumentService {
@@ -36,7 +34,7 @@ export class DocumentService {
36
34
  * @param enableErrorOnFailedDocumentApply - Enable failed document update exceptions.
37
35
  * @param enableSendStepsQueue - Enable send steps queue.
38
36
  */
39
- constructor(participantsService, analyticsHelper, fetchCatchup, fetchReconcile, providerEmitCallback, broadcast, getUserId, onErrorHandled, metadataService, enableErrorOnFailedDocumentApply = false, enableSendStepsQueue = getCollabProviderFeatureFlag('sendStepsQueue'), url) {
37
+ constructor(participantsService, analyticsHelper, fetchCatchup, fetchReconcile, providerEmitCallback, broadcast, getUserId, onErrorHandled, metadataService, enableErrorOnFailedDocumentApply = false, enableSendStepsQueue = getCollabProviderFeatureFlag('sendStepsQueue')) {
40
38
  // Fires analytics to editor when collab editor cannot sync up
41
39
  _defineProperty(this, "stepRejectCounter", 0);
42
40
  _defineProperty(this, "aggressiveCatchup", false);
@@ -54,10 +52,6 @@ export class DocumentService {
54
52
  * * try to accept steps but version is behind.
55
53
  */
56
54
  _defineProperty(this, "catchup", async () => {
57
- // Don't call catchup for presence-only products (e.g. jcollab)
58
- if (this.url && RESTRICTED_PRODUCTS.some(productId => this.url.endsWith(productId))) {
59
- return;
60
- }
61
55
  const start = new Date().getTime();
62
56
  // if the queue is already paused, we are busy with something else, so don't proceed.
63
57
  if (this.stepQueue.isPaused()) {
@@ -466,7 +460,6 @@ export class DocumentService {
466
460
  this.metadataService = metadataService;
467
461
  this.enableErrorOnFailedDocumentApply = enableErrorOnFailedDocumentApply;
468
462
  this.enableSendStepsQueue = enableSendStepsQueue;
469
- this.url = url;
470
463
  this.stepQueue = new StepQueueState();
471
464
  }
472
465
  processQueue() {
@@ -6,7 +6,8 @@ import { NCS_ERROR_CODE } from '../errors/ncs-errors';
6
6
  import { createLogger } from '../helpers/utils';
7
7
  const SEND_STEPS_THROTTLE = 500; // 0.5 second
8
8
  const logger = createLogger('commit-step', 'black');
9
- let readyToCommit = true;
9
+ export let readyToCommit = true;
10
+ export const RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
10
11
  export const commitStepQueue = ({
11
12
  broadcast,
12
13
  steps,
@@ -27,7 +28,7 @@ export const commitStepQueue = ({
27
28
  const timer = setTimeout(() => {
28
29
  readyToCommit = true;
29
30
  logger('reset readyToCommit by timer');
30
- }, 5000);
31
+ }, RESET_READYTOCOMMIT_INTERVAL_MS);
31
32
  const stepsWithClientAndUserId = steps.map(step => ({
32
33
  ...step.toJSON(),
33
34
  clientId,
@@ -220,7 +220,7 @@ export class Provider extends Emitter {
220
220
  this.isProviderInitialized = false;
221
221
  this.participantsService = new ParticipantsService(this.analyticsHelper, undefined, this.emitCallback, this.config.getUser, this.channel.broadcast, this.channel.sendPresenceJoined, this.getPresenceData, this.setUserId);
222
222
  this.metadataService = new MetadataService(this.emitCallback, this.channel.sendMetadata);
223
- this.documentService = new DocumentService(this.participantsService, this.analyticsHelper, this.channel.fetchCatchup, this.channel.fetchReconcile, this.emitCallback, this.channel.broadcast, () => this.userId, this.onErrorHandled, this.metadataService, this.config.enableErrorOnFailedDocumentApply, getCollabProviderFeatureFlag('sendStepsQueue', this.config.featureFlags), this.config.url);
223
+ this.documentService = new DocumentService(this.participantsService, this.analyticsHelper, this.channel.fetchCatchup, this.channel.fetchReconcile, this.emitCallback, this.channel.broadcast, () => this.userId, this.onErrorHandled, this.metadataService, this.config.enableErrorOnFailedDocumentApply, getCollabProviderFeatureFlag('sendStepsQueue', this.config.featureFlags));
224
224
  this.namespaceService = new NamespaceService();
225
225
  this.api = new Api(config, this.documentService, this.channel);
226
226
  if (getCollabProviderFeatureFlag('sendStepsQueue', this.config.featureFlags)) {
@@ -1,5 +1,5 @@
1
1
  export const name = "@atlaskit/collab-provider";
2
- export const version = "9.22.0";
2
+ export const version = "9.22.2";
3
3
  export const nextMajorVersion = () => {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -20,8 +20,6 @@ import { getCollabProviderFeatureFlag } from '../feature-flags';
20
20
  import { CantSyncUpError, UpdateDocumentError } from '../errors/custom-errors';
21
21
  var CATCHUP_THROTTLE = 1 * 1000; // 1 second
22
22
 
23
- var RESTRICTED_PRODUCTS = ['jcollab']; // restrict presence-only products
24
-
25
23
  var noop = function noop() {};
26
24
  var logger = createLogger('documentService', 'black');
27
25
  export var DocumentService = /*#__PURE__*/function () {
@@ -46,7 +44,6 @@ export var DocumentService = /*#__PURE__*/function () {
46
44
  var _this = this;
47
45
  var enableErrorOnFailedDocumentApply = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
48
46
  var enableSendStepsQueue = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : getCollabProviderFeatureFlag('sendStepsQueue');
49
- var url = arguments.length > 11 ? arguments[11] : undefined;
50
47
  _classCallCheck(this, DocumentService);
51
48
  // Fires analytics to editor when collab editor cannot sync up
52
49
  _defineProperty(this, "stepRejectCounter", 0);
@@ -71,25 +68,17 @@ export var DocumentService = /*#__PURE__*/function () {
71
68
  return _regeneratorRuntime.wrap(function _callee$(_context) {
72
69
  while (1) switch (_context.prev = _context.next) {
73
70
  case 0:
74
- if (!(_this.url && RESTRICTED_PRODUCTS.some(function (productId) {
75
- return _this.url.endsWith(productId);
76
- }))) {
77
- _context.next = 2;
78
- break;
79
- }
80
- return _context.abrupt("return");
81
- case 2:
82
71
  start = new Date().getTime(); // if the queue is already paused, we are busy with something else, so don't proceed.
83
72
  if (!_this.stepQueue.isPaused()) {
84
- _context.next = 6;
73
+ _context.next = 4;
85
74
  break;
86
75
  }
87
76
  logger("Queue is paused. Aborting.");
88
77
  return _context.abrupt("return");
89
- case 6:
78
+ case 4:
90
79
  _this.stepQueue.pauseQueue();
91
- _context.prev = 7;
92
- _context.next = 10;
80
+ _context.prev = 5;
81
+ _context.next = 8;
93
82
  return catchup({
94
83
  getCurrentPmVersion: _this.getCurrentPmVersion,
95
84
  fetchCatchup: _this.fetchCatchup,
@@ -101,32 +90,32 @@ export var DocumentService = /*#__PURE__*/function () {
101
90
  analyticsHelper: _this.analyticsHelper,
102
91
  clientId: _this.clientId
103
92
  });
104
- case 10:
93
+ case 8:
105
94
  latency = new Date().getTime() - start;
106
95
  (_this$analyticsHelper = _this.analyticsHelper) === null || _this$analyticsHelper === void 0 || _this$analyticsHelper.sendActionEvent(EVENT_ACTION.CATCHUP, EVENT_STATUS.SUCCESS, {
107
96
  latency: latency
108
97
  });
109
- _context.next = 18;
98
+ _context.next = 16;
110
99
  break;
111
- case 14:
112
- _context.prev = 14;
113
- _context.t0 = _context["catch"](7);
100
+ case 12:
101
+ _context.prev = 12;
102
+ _context.t0 = _context["catch"](5);
114
103
  _latency = new Date().getTime() - start;
115
104
  (_this$analyticsHelper2 = _this.analyticsHelper) === null || _this$analyticsHelper2 === void 0 || _this$analyticsHelper2.sendActionEvent(EVENT_ACTION.CATCHUP, EVENT_STATUS.FAILURE, {
116
105
  latency: _latency
117
106
  });
118
- case 18:
119
- _context.prev = 18;
107
+ case 16:
108
+ _context.prev = 16;
120
109
  _this.stepQueue.resumeQueue();
121
110
  _this.processQueue();
122
111
  _this.sendStepsFromCurrentState(); // this will eventually retry catchup as it calls throttledCommitStep which will either catchup on onStepsAdded or onErrorHandled
123
112
  _this.stepRejectCounter = 0;
124
- return _context.finish(18);
125
- case 24:
113
+ return _context.finish(16);
114
+ case 22:
126
115
  case "end":
127
116
  return _context.stop();
128
117
  }
129
- }, _callee, null, [[7, 14, 18, 24]]);
118
+ }, _callee, null, [[5, 12, 16, 22]]);
130
119
  })));
131
120
  _defineProperty(this, "getCurrentPmVersion", function () {
132
121
  var _this$getState;
@@ -552,7 +541,6 @@ export var DocumentService = /*#__PURE__*/function () {
552
541
  this.metadataService = metadataService;
553
542
  this.enableErrorOnFailedDocumentApply = enableErrorOnFailedDocumentApply;
554
543
  this.enableSendStepsQueue = enableSendStepsQueue;
555
- this.url = url;
556
544
  this.stepQueue = new StepQueueState();
557
545
  }
558
546
  _createClass(DocumentService, [{
@@ -9,7 +9,8 @@ import { NCS_ERROR_CODE } from '../errors/ncs-errors';
9
9
  import { createLogger } from '../helpers/utils';
10
10
  var SEND_STEPS_THROTTLE = 500; // 0.5 second
11
11
  var logger = createLogger('commit-step', 'black');
12
- var readyToCommit = true;
12
+ export var readyToCommit = true;
13
+ export var RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
13
14
  export var commitStepQueue = function commitStepQueue(_ref) {
14
15
  var broadcast = _ref.broadcast,
15
16
  steps = _ref.steps,
@@ -29,7 +30,7 @@ export var commitStepQueue = function commitStepQueue(_ref) {
29
30
  var timer = setTimeout(function () {
30
31
  readyToCommit = true;
31
32
  logger('reset readyToCommit by timer');
32
- }, 5000);
33
+ }, RESET_READYTOCOMMIT_INTERVAL_MS);
33
34
  var stepsWithClientAndUserId = steps.map(function (step) {
34
35
  return _objectSpread(_objectSpread({}, step.toJSON()), {}, {
35
36
  clientId: clientId,
@@ -260,7 +260,7 @@ export var Provider = /*#__PURE__*/function (_Emitter) {
260
260
  _this.metadataService = new MetadataService(_this.emitCallback, _this.channel.sendMetadata);
261
261
  _this.documentService = new DocumentService(_this.participantsService, _this.analyticsHelper, _this.channel.fetchCatchup, _this.channel.fetchReconcile, _this.emitCallback, _this.channel.broadcast, function () {
262
262
  return _this.userId;
263
- }, _this.onErrorHandled, _this.metadataService, _this.config.enableErrorOnFailedDocumentApply, getCollabProviderFeatureFlag('sendStepsQueue', _this.config.featureFlags), _this.config.url);
263
+ }, _this.onErrorHandled, _this.metadataService, _this.config.enableErrorOnFailedDocumentApply, getCollabProviderFeatureFlag('sendStepsQueue', _this.config.featureFlags));
264
264
  _this.namespaceService = new NamespaceService();
265
265
  _this.api = new Api(config, _this.documentService, _this.channel);
266
266
  if (getCollabProviderFeatureFlag('sendStepsQueue', _this.config.featureFlags)) {
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/collab-provider";
2
- export var version = "9.22.0";
2
+ export var version = "9.22.2";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -20,7 +20,6 @@ export declare class DocumentService {
20
20
  private metadataService;
21
21
  private enableErrorOnFailedDocumentApply;
22
22
  private enableSendStepsQueue;
23
- private url;
24
23
  private getState;
25
24
  private onSyncUpError?;
26
25
  private stepQueue;
@@ -42,7 +41,7 @@ export declare class DocumentService {
42
41
  * @param enableErrorOnFailedDocumentApply - Enable failed document update exceptions.
43
42
  * @param enableSendStepsQueue - Enable send steps queue.
44
43
  */
45
- constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number, clientId: number | string | undefined) => Promise<CatchupResponse>, fetchReconcile: (currentStateDoc: string) => Promise<ReconcileResponse>, providerEmitCallback: (evt: keyof CollabEvents, data: any) => void, broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, getUserId: () => string | undefined, onErrorHandled: (error: InternalError) => void, metadataService: MetadataService, enableErrorOnFailedDocumentApply: boolean, enableSendStepsQueue: boolean, url: string);
44
+ constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number, clientId: number | string | undefined) => Promise<CatchupResponse>, fetchReconcile: (currentStateDoc: string) => Promise<ReconcileResponse>, providerEmitCallback: (evt: keyof CollabEvents, data: any) => void, broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, getUserId: () => string | undefined, onErrorHandled: (error: InternalError) => void, metadataService: MetadataService, enableErrorOnFailedDocumentApply?: boolean, enableSendStepsQueue?: boolean);
46
45
  /**
47
46
  * To prevent calling catchup to often, use lodash throttle to reduce the frequency
48
47
  */
@@ -4,6 +4,8 @@ import type { CollabCommitStatusEventPayload, CollabEvents } from '@atlaskit/edi
4
4
  import type { Step as ProseMirrorStep } from '@atlaskit/editor-prosemirror/transform';
5
5
  import type AnalyticsHelper from '../analytics/analytics-helper';
6
6
  import type { InternalError } from '../errors/internal-errors';
7
+ export declare let readyToCommit: boolean;
8
+ export declare const RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
7
9
  export declare const commitStepQueue: ({ broadcast, steps, version, userId, clientId, onStepsAdded, onErrorHandled, analyticsHelper, emit, }: {
8
10
  broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], "timestamp">, callback?: Function) => void;
9
11
  steps: readonly ProseMirrorStep[];
@@ -60,7 +60,6 @@ export interface Config {
60
60
  * throwing a non-recoverable error if it's detected.
61
61
  */
62
62
  enableErrorOnFailedDocumentApply?: boolean;
63
- enableSendStepsQueue?: boolean;
64
63
  /**
65
64
  * Configure the client side circuit breaker in the event that abnormal behaviour causes the client to flood
66
65
  * NCS with too many steps or too large a volume of data. This can result in either a soft fail or a hard (fatal) fail
@@ -20,7 +20,6 @@ export declare class DocumentService {
20
20
  private metadataService;
21
21
  private enableErrorOnFailedDocumentApply;
22
22
  private enableSendStepsQueue;
23
- private url;
24
23
  private getState;
25
24
  private onSyncUpError?;
26
25
  private stepQueue;
@@ -42,7 +41,7 @@ export declare class DocumentService {
42
41
  * @param enableErrorOnFailedDocumentApply - Enable failed document update exceptions.
43
42
  * @param enableSendStepsQueue - Enable send steps queue.
44
43
  */
45
- constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number, clientId: number | string | undefined) => Promise<CatchupResponse>, fetchReconcile: (currentStateDoc: string) => Promise<ReconcileResponse>, providerEmitCallback: (evt: keyof CollabEvents, data: any) => void, broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, getUserId: () => string | undefined, onErrorHandled: (error: InternalError) => void, metadataService: MetadataService, enableErrorOnFailedDocumentApply: boolean, enableSendStepsQueue: boolean, url: string);
44
+ constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number, clientId: number | string | undefined) => Promise<CatchupResponse>, fetchReconcile: (currentStateDoc: string) => Promise<ReconcileResponse>, providerEmitCallback: (evt: keyof CollabEvents, data: any) => void, broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, getUserId: () => string | undefined, onErrorHandled: (error: InternalError) => void, metadataService: MetadataService, enableErrorOnFailedDocumentApply?: boolean, enableSendStepsQueue?: boolean);
46
45
  /**
47
46
  * To prevent calling catchup to often, use lodash throttle to reduce the frequency
48
47
  */
@@ -4,6 +4,8 @@ import type { CollabCommitStatusEventPayload, CollabEvents } from '@atlaskit/edi
4
4
  import type { Step as ProseMirrorStep } from '@atlaskit/editor-prosemirror/transform';
5
5
  import type AnalyticsHelper from '../analytics/analytics-helper';
6
6
  import type { InternalError } from '../errors/internal-errors';
7
+ export declare let readyToCommit: boolean;
8
+ export declare const RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
7
9
  export declare const commitStepQueue: ({ broadcast, steps, version, userId, clientId, onStepsAdded, onErrorHandled, analyticsHelper, emit, }: {
8
10
  broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], "timestamp">, callback?: Function) => void;
9
11
  steps: readonly ProseMirrorStep[];
@@ -60,7 +60,6 @@ export interface Config {
60
60
  * throwing a non-recoverable error if it's detected.
61
61
  */
62
62
  enableErrorOnFailedDocumentApply?: boolean;
63
- enableSendStepsQueue?: boolean;
64
63
  /**
65
64
  * Configure the client side circuit breaker in the event that abnormal behaviour causes the client to flood
66
65
  * NCS with too many steps or too large a volume of data. This can result in either a soft fail or a hard (fatal) fail
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/collab-provider",
3
- "version": "9.22.0",
3
+ "version": "9.22.2",
4
4
  "description": "A provider for collaborative editing.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -36,7 +36,7 @@
36
36
  "dependencies": {
37
37
  "@atlaskit/analytics-gas-types": "^5.1.0",
38
38
  "@atlaskit/analytics-listeners": "^8.9.0",
39
- "@atlaskit/editor-common": "^76.40.0",
39
+ "@atlaskit/editor-common": "^77.1.0",
40
40
  "@atlaskit/editor-json-transformer": "^8.10.0",
41
41
  "@atlaskit/editor-prosemirror": "1.1.0",
42
42
  "@atlaskit/ufo": "^0.2.0",
package/tsconfig.json CHANGED
@@ -1,10 +1,258 @@
1
1
  {
2
2
  "extends": "../../../tsconfig.json",
3
3
  "compilerOptions": {
4
- "baseUrl": "./"
4
+ "baseUrl": "./",
5
+ "paths": {
6
+ "@atlaskit/analytics-gas-types": [
7
+ "../../analytics/analytics-gas-types/src/index.ts"
8
+ ],
9
+ "@atlaskit/analytics-listeners/FabricAnalyticsListeners": [
10
+ "../../analytics/analytics-listeners/src/FabricAnalyticsListeners.tsx"
11
+ ],
12
+ "@atlaskit/analytics-listeners/GenericAnalyticsListener": [
13
+ "../../analytics/analytics-listeners/src/GenericAnalyticsListener.tsx"
14
+ ],
15
+ "@atlaskit/analytics-listeners/analytics-web-client-wrapper": [
16
+ "../../analytics/analytics-listeners/src/analytics-web-client-wrapper.ts"
17
+ ],
18
+ "@atlaskit/analytics-listeners/types": [
19
+ "../../analytics/analytics-listeners/src/types.ts"
20
+ ],
21
+ "@atlaskit/analytics-listeners": [
22
+ "../../analytics/analytics-listeners/src/index.ts"
23
+ ],
24
+ "@atlaskit/editor-common/event-dispatcher": [
25
+ "../editor-common/src/event-dispatcher/index.ts"
26
+ ],
27
+ "@atlaskit/editor-common/extensions": [
28
+ "../editor-common/src/extensions.ts"
29
+ ],
30
+ "@atlaskit/editor-common/extensibility": [
31
+ "../editor-common/src/extensibility/index.ts"
32
+ ],
33
+ "@atlaskit/editor-common/normalize-feature-flags": [
34
+ "../editor-common/src/normalize-feature-flags.ts"
35
+ ],
36
+ "@atlaskit/editor-common/messages": [
37
+ "../editor-common/src/messages/index.ts"
38
+ ],
39
+ "@atlaskit/editor-common/provider-factory": [
40
+ "../editor-common/src/provider-factory.ts"
41
+ ],
42
+ "@atlaskit/editor-common/styles": [
43
+ "../editor-common/src/styles/index.ts"
44
+ ],
45
+ "@atlaskit/editor-common/validator": [
46
+ "../editor-common/src/validator.ts"
47
+ ],
48
+ "@atlaskit/editor-common/in-product": [
49
+ "../editor-common/src/in-product.ts"
50
+ ],
51
+ "@atlaskit/editor-common/type-ahead": [
52
+ "../editor-common/src/type-ahead/index.ts"
53
+ ],
54
+ "@atlaskit/editor-common/ufo": [
55
+ "../editor-common/src/ufo/index.ts"
56
+ ],
57
+ "@atlaskit/editor-common/insert": [
58
+ "../editor-common/src/insert/index.ts"
59
+ ],
60
+ "@atlaskit/editor-common/types": [
61
+ "../editor-common/src/types/index.ts"
62
+ ],
63
+ "@atlaskit/editor-common/ui": [
64
+ "../editor-common/src/ui/index.tsx"
65
+ ],
66
+ "@atlaskit/editor-common/utils": [
67
+ "../editor-common/src/utils/index.ts"
68
+ ],
69
+ "@atlaskit/editor-common/card": [
70
+ "../editor-common/src/card/index.ts"
71
+ ],
72
+ "@atlaskit/editor-common/collab": [
73
+ "../editor-common/src/collab/index.ts"
74
+ ],
75
+ "@atlaskit/editor-common/emoji": [
76
+ "../editor-common/src/emoji.ts"
77
+ ],
78
+ "@atlaskit/editor-common/mention": [
79
+ "../editor-common/src/mention.ts"
80
+ ],
81
+ "@atlaskit/editor-common/provider-helpers": [
82
+ "../editor-common/src/provider-helpers/index.ts"
83
+ ],
84
+ "@atlaskit/editor-common/icons": [
85
+ "../editor-common/src/icons/index.ts"
86
+ ],
87
+ "@atlaskit/editor-common/safe-plugin": [
88
+ "../editor-common/src/safe-plugin/index.ts"
89
+ ],
90
+ "@atlaskit/editor-common/panel": [
91
+ "../editor-common/src/panel.ts"
92
+ ],
93
+ "@atlaskit/editor-common/analytics": [
94
+ "../editor-common/src/analytics/index.ts"
95
+ ],
96
+ "@atlaskit/editor-common/error-boundary": [
97
+ "../editor-common/src/ui/ErrorBoundary/index.tsx"
98
+ ],
99
+ "@atlaskit/editor-common/portal-provider": [
100
+ "../editor-common/src/ui/PortalProvider/index.tsx"
101
+ ],
102
+ "@atlaskit/editor-common/react-node-view": [
103
+ "../editor-common/src/react-node-view/index.tsx"
104
+ ],
105
+ "@atlaskit/editor-common/with-plugin-state": [
106
+ "../editor-common/src/with-plugin-state/index.tsx"
107
+ ],
108
+ "@atlaskit/editor-common/node-width": [
109
+ "../editor-common/src/node-width/index.ts"
110
+ ],
111
+ "@atlaskit/editor-common/keymaps": [
112
+ "../editor-common/src/keymaps/index.tsx"
113
+ ],
114
+ "@atlaskit/editor-common/ui-menu": [
115
+ "../editor-common/src/ui-menu/index.tsx"
116
+ ],
117
+ "@atlaskit/editor-common/ui-react": [
118
+ "../editor-common/src/ui-react/index.ts"
119
+ ],
120
+ "@atlaskit/editor-common/ui-color": [
121
+ "../editor-common/src/ui-color/index.ts"
122
+ ],
123
+ "@atlaskit/editor-common/transforms": [
124
+ "../editor-common/src/transforms/index.ts"
125
+ ],
126
+ "@atlaskit/editor-common/core-utils": [
127
+ "../editor-common/src/core-utils/index.ts"
128
+ ],
129
+ "@atlaskit/editor-common/selection": [
130
+ "../editor-common/src/selection/index.ts"
131
+ ],
132
+ "@atlaskit/editor-common/preset": [
133
+ "../editor-common/src/preset/index.ts"
134
+ ],
135
+ "@atlaskit/editor-common/hooks": [
136
+ "../editor-common/src/hooks/index.ts"
137
+ ],
138
+ "@atlaskit/editor-common/media-inline": [
139
+ "../editor-common/src/media-inline/index.ts"
140
+ ],
141
+ "@atlaskit/editor-common/media-single": [
142
+ "../editor-common/src/media-single/index.ts"
143
+ ],
144
+ "@atlaskit/editor-common/monitoring": [
145
+ "../editor-common/src/monitoring/index.ts"
146
+ ],
147
+ "@atlaskit/editor-common/paste": [
148
+ "../editor-common/src/paste/index.ts"
149
+ ],
150
+ "@atlaskit/editor-common/resizer": [
151
+ "../editor-common/src/resizer/index.ts"
152
+ ],
153
+ "@atlaskit/editor-common/editor-analytics": [
154
+ "../editor-common/src/editor-analytics/index.ts"
155
+ ],
156
+ "@atlaskit/editor-common/selection-based-node-view": [
157
+ "../editor-common/src/selection-based-node-view/index.ts"
158
+ ],
159
+ "@atlaskit/editor-common/guideline": [
160
+ "../editor-common/src/guideline/index.ts"
161
+ ],
162
+ "@atlaskit/editor-common/quick-insert": [
163
+ "../editor-common/src/quick-insert/index.ts"
164
+ ],
165
+ "@atlaskit/editor-common/link": [
166
+ "../editor-common/src/link/index.ts"
167
+ ],
168
+ "@atlaskit/editor-common/mark": [
169
+ "../editor-common/src/mark/index.ts"
170
+ ],
171
+ "@atlaskit/editor-common/commands": [
172
+ "../editor-common/src/commands/index.ts"
173
+ ],
174
+ "@atlaskit/editor-common/clipboard": [
175
+ "../editor-common/src/clipboard/index.ts"
176
+ ],
177
+ "@atlaskit/editor-common/lists": [
178
+ "../editor-common/src/lists/index.ts"
179
+ ],
180
+ "@atlaskit/editor-common/element-browser": [
181
+ "../editor-common/src/element-browser/index.ts"
182
+ ],
183
+ "@atlaskit/editor-common/floating-toolbar": [
184
+ "../editor-common/src/floating-toolbar/index.ts"
185
+ ],
186
+ "@atlaskit/editor-common/copy-button": [
187
+ "../editor-common/src/copy-button/index.ts"
188
+ ],
189
+ "@atlaskit/editor-common/legacy-rank-plugins": [
190
+ "../editor-common/src/rank.ts"
191
+ ],
192
+ "@atlaskit/editor-common/indentation": [
193
+ "../editor-common/src/indentation/index.ts"
194
+ ],
195
+ "@atlaskit/editor-common/annotation": [
196
+ "../editor-common/src/annotation/index.ts"
197
+ ],
198
+ "@atlaskit/editor-common": [
199
+ "../editor-common/src"
200
+ ],
201
+ "@atlaskit/editor-json-transformer/markOverrideRules": [
202
+ "../editor-json-transformer/src/markOverrideRules.ts"
203
+ ],
204
+ "@atlaskit/editor-json-transformer/sanitize": [
205
+ "../editor-json-transformer/src/sanitize.ts"
206
+ ],
207
+ "@atlaskit/editor-json-transformer/types": [
208
+ "../editor-json-transformer/src/types.ts"
209
+ ],
210
+ "@atlaskit/editor-json-transformer": [
211
+ "../editor-json-transformer/src/index.ts"
212
+ ],
213
+ "@atlaskit/ufo/global-stream-buffer": [
214
+ "../../data/ufo-external/src/global-stream-buffer/index.ts"
215
+ ],
216
+ "@atlaskit/ufo/logger": [
217
+ "../../data/ufo-external/src/logger/index.ts"
218
+ ],
219
+ "@atlaskit/ufo/platform-client": [
220
+ "../../data/ufo-external/src/platform-client/index.ts"
221
+ ],
222
+ "@atlaskit/ufo/types": [
223
+ "../../data/ufo-external/src/types.ts"
224
+ ],
225
+ "@atlaskit/ufo": [
226
+ "../../data/ufo-external/src/index.ts"
227
+ ],
228
+ "@atlaskit/util-service-support/serviceResources": [
229
+ "../../elements/util-service-support/src/serviceResources.ts"
230
+ ],
231
+ "@atlaskit/util-service-support/serviceUtils": [
232
+ "../../elements/util-service-support/src/serviceUtils.ts"
233
+ ],
234
+ "@atlaskit/util-service-support/types": [
235
+ "../../elements/util-service-support/src/types.ts"
236
+ ],
237
+ "@atlaskit/util-service-support": [
238
+ "../../elements/util-service-support/src/index.ts"
239
+ ],
240
+ "@atlaskit/collab-provider/socket-io-provider": [
241
+ "src/socket-io-provider.ts"
242
+ ],
243
+ "@atlaskit/collab-provider/types": [
244
+ "src/types.ts"
245
+ ],
246
+ "@atlaskit/collab-provider/version-wrapper": [
247
+ "src/version-wrapper.ts"
248
+ ],
249
+ "@atlaskit/collab-provider": [
250
+ "./src"
251
+ ]
252
+ }
5
253
  },
6
254
  "include": [
7
255
  "./src/**/*.ts",
8
256
  "./src/**/*.tsx"
9
257
  ]
10
- }
258
+ }