@atlaskit/editor-plugin-collab-edit 32.0.2 → 32.0.4

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,20 @@
1
1
  # @atlaskit/editor-plugin-collab-edit
2
2
 
3
+ ## 32.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`b15354550dd8a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b15354550dd8a) -
8
+ Drop `LocalOnlyStep` steps before sending, rebasing and organic-change checks, behind
9
+ `platform_editor_numbered_headings`.
10
+ - Updated dependencies
11
+
12
+ ## 32.0.3
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies
17
+
3
18
  ## 32.0.2
4
19
 
5
20
  ### Patch Changes
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.sendTransaction = void 0;
7
7
  var _analytics = require("@atlaskit/adf-schema/steps/analytics");
8
+ var _collabLocalOnlyStep = require("@atlaskit/editor-common/collab-local-only-step");
9
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
8
10
  var _actions = require("../actions");
9
11
  var _pluginKey = require("../main/plugin-key");
10
12
  var sendTransaction = exports.sendTransaction = function sendTransaction(_ref) {
@@ -24,7 +26,8 @@ var sendTransaction = exports.sendTransaction = function sendTransaction(_ref) {
24
26
  var currentPluginState = _pluginKey.pluginKey.getState(newEditorState);
25
27
  var trNoAnalytics = oldEditorState.tr;
26
28
  docChangedTransaction === null || docChangedTransaction === void 0 || docChangedTransaction.steps.forEach(function (step) {
27
- if (!(step instanceof _analytics.AnalyticsStep)) {
29
+ // Local-only steps (for example external page settings) are never sent.
30
+ if (!(step instanceof _analytics.AnalyticsStep) && !((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && step instanceof _collabLocalOnlyStep.LocalOnlyStep)) {
28
31
  trNoAnalytics.step(step);
29
32
  }
30
33
  });
@@ -5,9 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.filterAnalyticsSteps = filterAnalyticsSteps;
7
7
  var _analytics = require("@atlaskit/adf-schema/steps/analytics");
8
+ var _collabLocalOnlyStep = require("@atlaskit/editor-common/collab-local-only-step");
9
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
8
10
  var _prosemirrorCollab = require("@atlaskit/prosemirror-collab");
9
11
  /**
10
- * Filter out AnalyticsStep from the steps.
12
+ * Filter out AnalyticsStep and local-only steps from the steps, so they are never sent or rebased.
11
13
  *
12
14
  * @param steps Rebaseable steps
13
15
  * @returns Rebaseable steps
@@ -15,7 +17,7 @@ var _prosemirrorCollab = require("@atlaskit/prosemirror-collab");
15
17
  */
16
18
  function filterAnalyticsSteps(steps) {
17
19
  var filteredSteps = steps.reduce(function (acc, rebaseable) {
18
- if (!(rebaseable.step instanceof _analytics.AnalyticsStep)) {
20
+ if (!(rebaseable.step instanceof _analytics.AnalyticsStep) && !((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && rebaseable.step instanceof _collabLocalOnlyStep.LocalOnlyStep)) {
19
21
  acc.push(new _prosemirrorCollab.Rebaseable(rebaseable.step, rebaseable.inverted, rebaseable.origin));
20
22
  }
21
23
  return acc;
@@ -8,6 +8,8 @@ exports.monitorOrganic = exports.getScheduler = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _analytics = require("@atlaskit/adf-schema/steps/analytics");
11
+ var _collabLocalOnlyStep = require("@atlaskit/editor-common/collab-local-only-step");
12
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
11
13
  var _trackLastOrganicChange = require("./track-last-organic-change");
12
14
  var _trackSteps = require("./track-steps");
13
15
  var _excluded = ["steps"];
@@ -87,7 +89,7 @@ var monitorOrganic = exports.monitorOrganic = function monitorOrganic(_ref) {
87
89
  var newSteps = transactions.flatMap(function (t) {
88
90
  return t.steps;
89
91
  }).filter(function (step) {
90
- return !(step instanceof _analytics.AnalyticsStep);
92
+ return !(step instanceof _analytics.AnalyticsStep) && !((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && step instanceof _collabLocalOnlyStep.LocalOnlyStep);
91
93
  });
92
94
  var scheduler = getScheduler(window);
93
95
  if (!newSteps.length || !scheduler) {
@@ -7,12 +7,14 @@ exports.createPlugin = exports.createFilterTransaction = void 0;
7
7
  exports.generateTransactionKey = generateTransactionKey;
8
8
  exports.trackSpammingStepsPluginKey = exports.sanitizeFilteredStep = void 0;
9
9
  var _analytics = require("@atlaskit/adf-schema/steps/analytics");
10
+ var _collabLocalOnlyStep = require("@atlaskit/editor-common/collab-local-only-step");
10
11
  var _linkMetaStep = require("@atlaskit/adf-schema/steps/link-meta-step");
11
12
  var _setAttrs = require("@atlaskit/adf-schema/steps/set-attrs");
12
13
  var _typeAhead = require("@atlaskit/adf-schema/steps/type-ahead");
13
14
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
14
15
  var _state = require("@atlaskit/editor-prosemirror/state");
15
16
  var _transform = require("@atlaskit/editor-prosemirror/transform");
17
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
16
18
  var THRESHOLD = 50; // 50 milliseconds
17
19
 
18
20
  /**
@@ -80,7 +82,7 @@ var createFilterTransaction = exports.createFilterTransaction = function createF
80
82
  return true;
81
83
  }
82
84
  var containsExcludedSteps = tr.steps.some(function (step) {
83
- return step instanceof _analytics.AnalyticsStep || step instanceof _transform.ReplaceStep || step instanceof _transform.ReplaceAroundStep || step instanceof _linkMetaStep.LinkMetaStep;
85
+ return step instanceof _analytics.AnalyticsStep || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && step instanceof _collabLocalOnlyStep.LocalOnlyStep || step instanceof _transform.ReplaceStep || step instanceof _transform.ReplaceAroundStep || step instanceof _linkMetaStep.LinkMetaStep;
84
86
  });
85
87
  if (containsExcludedSteps) {
86
88
  return true;
@@ -9,6 +9,7 @@ exports.getAvatarColor = getAvatarColor;
9
9
  exports.scrollToCollabCursor = exports.replaceDocument = exports.originalTransactionHasMeta = exports.isReplaceStep = exports.isOrganicChange = exports.hasExistingNudge = exports.getPositionOfTelepointer = void 0;
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
  var _analytics = require("@atlaskit/adf-schema/steps/analytics");
12
+ var _collabLocalOnlyStep = require("@atlaskit/editor-common/collab-local-only-step");
12
13
  var _batchAttrsStep = require("@atlaskit/adf-schema/steps/batch-attrs-step");
13
14
  var _setAttrs = require("@atlaskit/adf-schema/steps/set-attrs");
14
15
  var _enums = require("@atlaskit/editor-common/analytics/types/enums");
@@ -19,6 +20,7 @@ var _state = require("@atlaskit/editor-prosemirror/state");
19
20
  var _transform = require("@atlaskit/editor-prosemirror/transform");
20
21
  var _view = require("@atlaskit/editor-prosemirror/view");
21
22
  var _utils = require("@atlaskit/editor-shared-styles/utils");
23
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
22
24
  var _fg = require("@atlaskit/platform-feature-flags/fg");
23
25
  var _preserveNodeIdentity = require("./preserve-node-identity");
24
26
  var findPointers = exports.findPointers = function findPointers(id, decorations) {
@@ -257,8 +259,8 @@ var isOrganicChange = exports.isOrganicChange = function isOrganicChange(tr) {
257
259
  return false;
258
260
  }
259
261
  return tr.steps.some(function (step) {
260
- // If a step is an instance of AnalyticsStep, it is not considered organic
261
- if (step instanceof _analytics.AnalyticsStep) {
262
+ // Analytics and local-only steps (for example external page settings) are not organic
263
+ if (step instanceof _analytics.AnalyticsStep || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && step instanceof _collabLocalOnlyStep.LocalOnlyStep) {
262
264
  return false;
263
265
  }
264
266
 
@@ -1,4 +1,6 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
2
4
  import { getSendableSelection } from '../actions';
3
5
  import { pluginKey } from '../main/plugin-key';
4
6
  export const sendTransaction = ({
@@ -15,7 +17,8 @@ export const sendTransaction = ({
15
17
  const currentPluginState = pluginKey.getState(newEditorState);
16
18
  const trNoAnalytics = oldEditorState.tr;
17
19
  docChangedTransaction === null || docChangedTransaction === void 0 ? void 0 : docChangedTransaction.steps.forEach(step => {
18
- if (!(step instanceof AnalyticsStep)) {
20
+ // Local-only steps (for example external page settings) are never sent.
21
+ if (!(step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep)) {
19
22
  trNoAnalytics.step(step);
20
23
  }
21
24
  });
@@ -1,8 +1,10 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
2
4
  import { Rebaseable } from '@atlaskit/prosemirror-collab';
3
5
 
4
6
  /**
5
- * Filter out AnalyticsStep from the steps.
7
+ * Filter out AnalyticsStep and local-only steps from the steps, so they are never sent or rebased.
6
8
  *
7
9
  * @param steps Rebaseable steps
8
10
  * @returns Rebaseable steps
@@ -10,7 +12,7 @@ import { Rebaseable } from '@atlaskit/prosemirror-collab';
10
12
  */
11
13
  export function filterAnalyticsSteps(steps) {
12
14
  const filteredSteps = steps.reduce((acc, rebaseable) => {
13
- if (!(rebaseable.step instanceof AnalyticsStep)) {
15
+ if (!(rebaseable.step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && rebaseable.step instanceof LocalOnlyStep)) {
14
16
  acc.push(new Rebaseable(rebaseable.step, rebaseable.inverted, rebaseable.origin));
15
17
  }
16
18
  return acc;
@@ -1,4 +1,6 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
2
4
  import { trackLastOrganicChangePluginKey } from './track-last-organic-change';
3
5
  import { groupSteps, sanitizeStep } from './track-steps';
4
6
  // This is essentially a queue of cached events. When the background task runs to send these items then this queue is flushed.
@@ -64,7 +66,7 @@ export const monitorOrganic = ({
64
66
  onDataProcessed
65
67
  }) => {
66
68
  // We can exclude analytic steps since they should never trigger an organic change.
67
- const newSteps = transactions.flatMap(t => t.steps).filter(step => !(step instanceof AnalyticsStep));
69
+ const newSteps = transactions.flatMap(t => t.steps).filter(step => !(step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep));
68
70
  const scheduler = getScheduler(window);
69
71
  if (!newSteps.length || !scheduler) {
70
72
  return;
@@ -1,10 +1,12 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
2
3
  import { LinkMetaStep } from '@atlaskit/adf-schema/steps/link-meta-step';
3
4
  import { SetAttrsStep } from '@atlaskit/adf-schema/steps/set-attrs';
4
5
  import { InsertTypeAheadStep } from '@atlaskit/adf-schema/steps/type-ahead';
5
6
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
6
7
  import { PluginKey } from '@atlaskit/editor-prosemirror/state';
7
8
  import { AddMarkStep, AddNodeMarkStep, AttrStep, DocAttrStep, RemoveMarkStep, RemoveNodeMarkStep, ReplaceAroundStep, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
9
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
8
10
  const THRESHOLD = 50; // 50 milliseconds
9
11
 
10
12
  /**
@@ -72,7 +74,7 @@ export const createFilterTransaction = (recentTransactionsTimestamps, trackFilte
72
74
  return true;
73
75
  }
74
76
  const containsExcludedSteps = tr.steps.some(step => {
75
- return step instanceof AnalyticsStep || step instanceof ReplaceStep || step instanceof ReplaceAroundStep || step instanceof LinkMetaStep;
77
+ return step instanceof AnalyticsStep || isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep || step instanceof ReplaceStep || step instanceof ReplaceAroundStep || step instanceof LinkMetaStep;
76
78
  });
77
79
  if (containsExcludedSteps) {
78
80
  return true;
@@ -1,4 +1,5 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
2
3
  import { BatchAttrsStep } from '@atlaskit/adf-schema/steps/batch-attrs-step';
3
4
  import { SetAttrsStep } from '@atlaskit/adf-schema/steps/set-attrs';
4
5
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics/types/enums';
@@ -9,6 +10,7 @@ import { Transaction, Selection, TextSelection } from '@atlaskit/editor-prosemir
9
10
  import { AttrStep, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
10
11
  import { Decoration } from '@atlaskit/editor-prosemirror/view';
11
12
  import { getParticipantColor } from '@atlaskit/editor-shared-styles/utils';
13
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
12
14
  import { fg } from '@atlaskit/platform-feature-flags/fg';
13
15
  import { preserveNodeIdentity } from './preserve-node-identity';
14
16
  export const findPointers = (id, decorations) => decorations.find().reduce(
@@ -247,8 +249,8 @@ export const isOrganicChange = tr => {
247
249
  return false;
248
250
  }
249
251
  return tr.steps.some(step => {
250
- // If a step is an instance of AnalyticsStep, it is not considered organic
251
- if (step instanceof AnalyticsStep) {
252
+ // Analytics and local-only steps (for example external page settings) are not organic
253
+ if (step instanceof AnalyticsStep || isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep) {
252
254
  return false;
253
255
  }
254
256
 
@@ -1,4 +1,6 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
2
4
  import { getSendableSelection } from '../actions';
3
5
  import { pluginKey } from '../main/plugin-key';
4
6
  export var sendTransaction = function sendTransaction(_ref) {
@@ -18,7 +20,8 @@ export var sendTransaction = function sendTransaction(_ref) {
18
20
  var currentPluginState = pluginKey.getState(newEditorState);
19
21
  var trNoAnalytics = oldEditorState.tr;
20
22
  docChangedTransaction === null || docChangedTransaction === void 0 || docChangedTransaction.steps.forEach(function (step) {
21
- if (!(step instanceof AnalyticsStep)) {
23
+ // Local-only steps (for example external page settings) are never sent.
24
+ if (!(step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep)) {
22
25
  trNoAnalytics.step(step);
23
26
  }
24
27
  });
@@ -1,8 +1,10 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
2
4
  import { Rebaseable } from '@atlaskit/prosemirror-collab';
3
5
 
4
6
  /**
5
- * Filter out AnalyticsStep from the steps.
7
+ * Filter out AnalyticsStep and local-only steps from the steps, so they are never sent or rebased.
6
8
  *
7
9
  * @param steps Rebaseable steps
8
10
  * @returns Rebaseable steps
@@ -10,7 +12,7 @@ import { Rebaseable } from '@atlaskit/prosemirror-collab';
10
12
  */
11
13
  export function filterAnalyticsSteps(steps) {
12
14
  var filteredSteps = steps.reduce(function (acc, rebaseable) {
13
- if (!(rebaseable.step instanceof AnalyticsStep)) {
15
+ if (!(rebaseable.step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && rebaseable.step instanceof LocalOnlyStep)) {
14
16
  acc.push(new Rebaseable(rebaseable.step, rebaseable.inverted, rebaseable.origin));
15
17
  }
16
18
  return acc;
@@ -7,6 +7,8 @@ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol
7
7
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
8
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
9
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
10
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
11
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
10
12
  import { trackLastOrganicChangePluginKey } from './track-last-organic-change';
11
13
  import { groupSteps, sanitizeStep } from './track-steps';
12
14
  // This is essentially a queue of cached events. When the background task runs to send these items then this queue is flushed.
@@ -80,7 +82,7 @@ export var monitorOrganic = function monitorOrganic(_ref) {
80
82
  var newSteps = transactions.flatMap(function (t) {
81
83
  return t.steps;
82
84
  }).filter(function (step) {
83
- return !(step instanceof AnalyticsStep);
85
+ return !(step instanceof AnalyticsStep) && !(isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep);
84
86
  });
85
87
  var scheduler = getScheduler(window);
86
88
  if (!newSteps.length || !scheduler) {
@@ -1,10 +1,12 @@
1
1
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
2
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
2
3
  import { LinkMetaStep } from '@atlaskit/adf-schema/steps/link-meta-step';
3
4
  import { SetAttrsStep } from '@atlaskit/adf-schema/steps/set-attrs';
4
5
  import { InsertTypeAheadStep } from '@atlaskit/adf-schema/steps/type-ahead';
5
6
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
6
7
  import { PluginKey } from '@atlaskit/editor-prosemirror/state';
7
8
  import { AddMarkStep, AddNodeMarkStep, AttrStep, DocAttrStep, RemoveMarkStep, RemoveNodeMarkStep, ReplaceAroundStep, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
9
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
8
10
  var THRESHOLD = 50; // 50 milliseconds
9
11
 
10
12
  /**
@@ -72,7 +74,7 @@ export var createFilterTransaction = function createFilterTransaction(recentTran
72
74
  return true;
73
75
  }
74
76
  var containsExcludedSteps = tr.steps.some(function (step) {
75
- return step instanceof AnalyticsStep || step instanceof ReplaceStep || step instanceof ReplaceAroundStep || step instanceof LinkMetaStep;
77
+ return step instanceof AnalyticsStep || isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep || step instanceof ReplaceStep || step instanceof ReplaceAroundStep || step instanceof LinkMetaStep;
76
78
  });
77
79
  if (containsExcludedSteps) {
78
80
  return true;
@@ -1,5 +1,6 @@
1
1
  import _typeof from "@babel/runtime/helpers/typeof";
2
2
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps/analytics';
3
+ import { LocalOnlyStep } from '@atlaskit/editor-common/collab-local-only-step';
3
4
  import { BatchAttrsStep } from '@atlaskit/adf-schema/steps/batch-attrs-step';
4
5
  import { SetAttrsStep } from '@atlaskit/adf-schema/steps/set-attrs';
5
6
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics/types/enums';
@@ -10,6 +11,7 @@ import { Transaction, Selection, TextSelection } from '@atlaskit/editor-prosemir
10
11
  import { AttrStep, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
11
12
  import { Decoration } from '@atlaskit/editor-prosemirror/view';
12
13
  import { getParticipantColor } from '@atlaskit/editor-shared-styles/utils';
14
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
13
15
  import { fg } from '@atlaskit/platform-feature-flags/fg';
14
16
  import { preserveNodeIdentity } from './preserve-node-identity';
15
17
  export var findPointers = function findPointers(id, decorations) {
@@ -249,8 +251,8 @@ export var isOrganicChange = function isOrganicChange(tr) {
249
251
  return false;
250
252
  }
251
253
  return tr.steps.some(function (step) {
252
- // If a step is an instance of AnalyticsStep, it is not considered organic
253
- if (step instanceof AnalyticsStep) {
254
+ // Analytics and local-only steps (for example external page settings) are not organic
255
+ if (step instanceof AnalyticsStep || isExperimentEnabled('platform_editor_numbered_headings') && step instanceof LocalOnlyStep) {
254
256
  return false;
255
257
  }
256
258
 
@@ -1,6 +1,6 @@
1
1
  import { Rebaseable } from '@atlaskit/prosemirror-collab';
2
2
  /**
3
- * Filter out AnalyticsStep from the steps.
3
+ * Filter out AnalyticsStep and local-only steps from the steps, so they are never sent or rebased.
4
4
  *
5
5
  * @param steps Rebaseable steps
6
6
  * @returns Rebaseable steps
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-collab-edit",
3
- "version": "32.0.2",
3
+ "version": "32.0.4",
4
4
  "description": "Collab Edit plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -31,18 +31,18 @@
31
31
  "@atlaskit/platform-feature-experiments": "^0.3.0",
32
32
  "@atlaskit/platform-feature-flags": "^2.2.0",
33
33
  "@atlaskit/prosemirror-collab": "^1.1.0",
34
- "@atlaskit/tmp-editor-statsig": "^252.0.0",
34
+ "@atlaskit/tmp-editor-statsig": "^253.0.0",
35
35
  "@atlaskit/tokens": "^20.9.0",
36
36
  "@babel/runtime": "^7.0.0",
37
37
  "memoize-one": "^6.0.0"
38
38
  },
39
39
  "peerDependencies": {
40
- "@atlaskit/editor-common": "^134.5.0",
40
+ "@atlaskit/editor-common": "^134.6.0",
41
41
  "react": "^18.2.0 || ^19.2.0",
42
42
  "react-dom": "^18.2.0 || ^19.2.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@atlaskit/editor-common": "^134.5.0",
45
+ "@atlaskit/editor-common": "^134.6.0",
46
46
  "react": "^19.2.0",
47
47
  "react-dom": "^19.2.0"
48
48
  },