@atlaskit/editor-plugin-collab-edit 16.0.1 → 16.0.3

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,29 @@
1
1
  # @atlaskit/editor-plugin-collab-edit
2
2
 
3
+ ## 16.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 16.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [`b5b6cb8261481`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b5b6cb8261481) -
14
+ [CCI-18813] Fix the Post Stream Review modal anchoring far from the real edit (e.g. at an
15
+ unrelated panel) during backend AI streaming, when the only change to that node was a layout
16
+ `breakout` mark (e.g. a width change). The collab-edit segment producer recorded it as a
17
+ reviewable segment while the AI-plugin filter dropped it, leaving the modal anchored to a node
18
+ with no visible diff.
19
+
20
+ The layout-mark-aware slice comparison is now shared from `@atlaskit/editor-common` (new
21
+ `./collab-agent-review-slice-compare` entry point exporting `slicesEqualIgnoringLocalId`) and used
22
+ by both sides, so a `localId`-only or `breakout`-only difference is consistently treated as no
23
+ change. Real content and formatting edits are still recorded.
24
+
25
+ - Updated dependencies
26
+
3
27
  ## 16.0.1
4
28
 
5
29
  ### Patch Changes
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getAgentEditSegments = exports.REVIEW_MOMENT_AGENT_TYPES_CONFIG = void 0;
7
+ var _collabAgentReviewSliceCompare = require("@atlaskit/editor-common/collab-agent-review-slice-compare");
7
8
  var _expVal = require("@atlaskit/platform-feature-experiments/exp-val");
8
9
  var _prosemirrorCollab = require("@atlaskit/prosemirror-collab");
9
10
  var _agentShimmerRanges = require("./agent-shimmer-ranges");
@@ -266,7 +267,11 @@ var getAgentEditSegments = exports.getAgentEditSegments = function getAgentEditS
266
267
  // Skip phantom artifacts: a same-size StepMap "touch" at an unrelated node
267
268
  // (e.g. a `localId` stamp on a panel during collab apply) expands to a
268
269
  // segment whose original and new content are identical — not a real change.
269
- if (originalSlice.content.eq(newSlice.content)) {
270
+ // Layout-only marks (`breakout`) and `localId`s are ignored so a
271
+ // breakout-width-only change is not recorded as a coarse segment: the FE
272
+ // Review filter drops it anyway, so recording it here would anchor the modal
273
+ // to a node with no visible diff.
274
+ if ((0, _collabAgentReviewSliceCompare.slicesEqualIgnoringLocalId)(originalSlice, newSlice)) {
270
275
  return;
271
276
  }
272
277
  var kind = originalEmpty ? 'add' : newEmpty ? 'remove' : 'update';
@@ -1,3 +1,4 @@
1
+ import { slicesEqualIgnoringLocalId } from '@atlaskit/editor-common/collab-agent-review-slice-compare';
1
2
  import { expVal } from '@atlaskit/platform-feature-experiments/exp-val';
2
3
  import { getCollabState } from '@atlaskit/prosemirror-collab';
3
4
  import { isPositionNeutralStep } from './agent-shimmer-ranges';
@@ -247,7 +248,11 @@ export const getAgentEditSegments = (json, steps, tr, view) => {
247
248
  // Skip phantom artifacts: a same-size StepMap "touch" at an unrelated node
248
249
  // (e.g. a `localId` stamp on a panel during collab apply) expands to a
249
250
  // segment whose original and new content are identical — not a real change.
250
- if (originalSlice.content.eq(newSlice.content)) {
251
+ // Layout-only marks (`breakout`) and `localId`s are ignored so a
252
+ // breakout-width-only change is not recorded as a coarse segment: the FE
253
+ // Review filter drops it anyway, so recording it here would anchor the modal
254
+ // to a node with no visible diff.
255
+ if (slicesEqualIgnoringLocalId(originalSlice, newSlice)) {
251
256
  return;
252
257
  }
253
258
  const kind = originalEmpty ? 'add' : newEmpty ? 'remove' : 'update';
@@ -1,3 +1,4 @@
1
+ import { slicesEqualIgnoringLocalId } from '@atlaskit/editor-common/collab-agent-review-slice-compare';
1
2
  import { expVal } from '@atlaskit/platform-feature-experiments/exp-val';
2
3
  import { getCollabState } from '@atlaskit/prosemirror-collab';
3
4
  import { isPositionNeutralStep } from './agent-shimmer-ranges';
@@ -261,7 +262,11 @@ export var getAgentEditSegments = function getAgentEditSegments(json, steps, tr,
261
262
  // Skip phantom artifacts: a same-size StepMap "touch" at an unrelated node
262
263
  // (e.g. a `localId` stamp on a panel during collab apply) expands to a
263
264
  // segment whose original and new content are identical — not a real change.
264
- if (originalSlice.content.eq(newSlice.content)) {
265
+ // Layout-only marks (`breakout`) and `localId`s are ignored so a
266
+ // breakout-width-only change is not recorded as a coarse segment: the FE
267
+ // Review filter drops it anyway, so recording it here would anchor the modal
268
+ // to a node with no visible diff.
269
+ if (slicesEqualIgnoringLocalId(originalSlice, newSlice)) {
265
270
  return;
266
271
  }
267
272
  var kind = originalEmpty ? 'add' : newEmpty ? 'remove' : 'update';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-collab-edit",
3
- "version": "16.0.1",
3
+ "version": "16.0.3",
4
4
  "description": "Collab Edit plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -32,13 +32,13 @@
32
32
  "@atlaskit/platform-feature-experiments": "^0.3.0",
33
33
  "@atlaskit/platform-feature-flags": "^2.1.0",
34
34
  "@atlaskit/prosemirror-collab": "^1.0.0",
35
- "@atlaskit/tmp-editor-statsig": "^147.1.0",
35
+ "@atlaskit/tmp-editor-statsig": "^149.0.0",
36
36
  "@atlaskit/tokens": "^16.7.0",
37
37
  "@babel/runtime": "^7.0.0",
38
38
  "memoize-one": "^6.0.0"
39
39
  },
40
40
  "peerDependencies": {
41
- "@atlaskit/editor-common": "^119.4.0",
41
+ "@atlaskit/editor-common": "^119.7.0",
42
42
  "react": "^18.2.0 || ^19.2.0",
43
43
  "react-dom": "^18.2.0 || ^19.2.0"
44
44
  },