@atlaskit/editor-plugin-collab-edit 1.19.9 → 1.20.0

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/editor-plugin-collab-edit
2
2
 
3
+ ## 1.20.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`028de08a07c15`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/028de08a07c15) -
8
+ Added fields to distinguish between comment and body changes
9
+
10
+ ## 1.19.10
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
3
16
  ## 1.19.9
4
17
 
5
18
  ### Patch Changes
@@ -114,7 +114,9 @@ var collabEditPlugin = exports.collabEditPlugin = function collabEditPlugin(_ref
114
114
  firstChangeAfterInitAt: null,
115
115
  firstContentBodyChangeAfterInitAt: null,
116
116
  lastLocalOrganicChangeAt: null,
117
- lastRemoteOrganicChangeAt: null
117
+ lastRemoteOrganicChangeAt: null,
118
+ lastLocalOrganicBodyChangeAt: null,
119
+ lastRemoteOrganicBodyChangeAt: null
118
120
  },
119
121
  activeParticipants: undefined,
120
122
  sessionId: undefined
@@ -131,7 +133,9 @@ var collabEditPlugin = exports.collabEditPlugin = function collabEditPlugin(_ref
131
133
  firstChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstChangeAfterInitAt) || null,
132
134
  firstContentBodyChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstContentBodyChangeAfterInitAt) || null,
133
135
  lastLocalOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicChangeAt) || null,
134
- lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null
136
+ lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null,
137
+ lastLocalOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicBodyChangeAt) || null,
138
+ lastRemoteOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicBodyChangeAt) || null
135
139
  }
136
140
  };
137
141
  },
@@ -7,6 +7,7 @@ exports.trackLastOrganicChangePluginKey = exports.createPlugin = void 0;
7
7
  var _collab = require("@atlaskit/editor-common/collab");
8
8
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
9
  var _state = require("@atlaskit/editor-prosemirror/state");
10
+ var _transform = require("@atlaskit/editor-prosemirror/transform");
10
11
  var _utils = require("../utils");
11
12
  var trackLastOrganicChangePluginKey = exports.trackLastOrganicChangePluginKey = new _state.PluginKey('collabTrackLastOrganicChangePlugin');
12
13
  var createPlugin = exports.createPlugin = function createPlugin() {
@@ -16,7 +17,9 @@ var createPlugin = exports.createPlugin = function createPlugin() {
16
17
  init: function init() {
17
18
  return {
18
19
  lastLocalOrganicChangeAt: null,
19
- lastRemoteOrganicChangeAt: null
20
+ lastRemoteOrganicChangeAt: null,
21
+ lastLocalOrganicBodyChangeAt: null,
22
+ lastRemoteOrganicBodyChangeAt: null
20
23
  };
21
24
  },
22
25
  apply: function apply(transaction, prevPluginState) {
@@ -25,6 +28,12 @@ var createPlugin = exports.createPlugin = function createPlugin() {
25
28
  }
26
29
  var isRemote = Boolean(transaction.getMeta('isRemote'));
27
30
  var isDocumentReplaceFromRemote = isRemote && Boolean(transaction.getMeta('replaceDocument'));
31
+
32
+ // Inline comment annotations are not considered as edits to the document body
33
+ var isAnnotationStep = !!transaction.steps.find(function (step) {
34
+ var _step$mark;
35
+ return step instanceof _transform.AddMarkStep && ((_step$mark = step.mark) === null || _step$mark === void 0 || (_step$mark = _step$mark.type) === null || _step$mark === void 0 ? void 0 : _step$mark.name) === 'annotation';
36
+ });
28
37
  if (isDocumentReplaceFromRemote) {
29
38
  return prevPluginState;
30
39
  }
@@ -35,12 +44,16 @@ var createPlugin = exports.createPlugin = function createPlugin() {
35
44
  if (isRemote) {
36
45
  return {
37
46
  lastLocalOrganicChangeAt: prevPluginState.lastLocalOrganicChangeAt,
38
- lastRemoteOrganicChangeAt: Date.now()
47
+ lastRemoteOrganicChangeAt: Date.now(),
48
+ lastLocalOrganicBodyChangeAt: prevPluginState.lastLocalOrganicBodyChangeAt,
49
+ lastRemoteOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastRemoteOrganicBodyChangeAt : Date.now()
39
50
  };
40
51
  }
41
52
  return {
42
53
  lastLocalOrganicChangeAt: Date.now(),
43
- lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt
54
+ lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt,
55
+ lastLocalOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastLocalOrganicBodyChangeAt : Date.now(),
56
+ lastRemoteOrganicBodyChangeAt: prevPluginState.lastRemoteOrganicBodyChangeAt
44
57
  };
45
58
  }
46
59
  return prevPluginState;
@@ -75,7 +75,9 @@ export const collabEditPlugin = ({
75
75
  firstChangeAfterInitAt: null,
76
76
  firstContentBodyChangeAfterInitAt: null,
77
77
  lastLocalOrganicChangeAt: null,
78
- lastRemoteOrganicChangeAt: null
78
+ lastRemoteOrganicChangeAt: null,
79
+ lastLocalOrganicBodyChangeAt: null,
80
+ lastRemoteOrganicBodyChangeAt: null
79
81
  },
80
82
  activeParticipants: undefined,
81
83
  sessionId: undefined
@@ -92,7 +94,9 @@ export const collabEditPlugin = ({
92
94
  firstChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstChangeAfterInitAt) || null,
93
95
  firstContentBodyChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstContentBodyChangeAfterInitAt) || null,
94
96
  lastLocalOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicChangeAt) || null,
95
- lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null
97
+ lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null,
98
+ lastLocalOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicBodyChangeAt) || null,
99
+ lastRemoteOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicBodyChangeAt) || null
96
100
  }
97
101
  };
98
102
  },
@@ -1,6 +1,7 @@
1
1
  import { isDirtyTransaction } from '@atlaskit/editor-common/collab';
2
2
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
3
  import { PluginKey } from '@atlaskit/editor-prosemirror/state';
4
+ import { AddMarkStep } from '@atlaskit/editor-prosemirror/transform';
4
5
  import { isOrganicChange } from '../utils';
5
6
  export const trackLastOrganicChangePluginKey = new PluginKey('collabTrackLastOrganicChangePlugin');
6
7
  export const createPlugin = () => {
@@ -10,7 +11,9 @@ export const createPlugin = () => {
10
11
  init() {
11
12
  return {
12
13
  lastLocalOrganicChangeAt: null,
13
- lastRemoteOrganicChangeAt: null
14
+ lastRemoteOrganicChangeAt: null,
15
+ lastLocalOrganicBodyChangeAt: null,
16
+ lastRemoteOrganicBodyChangeAt: null
14
17
  };
15
18
  },
16
19
  apply(transaction, prevPluginState) {
@@ -19,6 +22,12 @@ export const createPlugin = () => {
19
22
  }
20
23
  const isRemote = Boolean(transaction.getMeta('isRemote'));
21
24
  const isDocumentReplaceFromRemote = isRemote && Boolean(transaction.getMeta('replaceDocument'));
25
+
26
+ // Inline comment annotations are not considered as edits to the document body
27
+ const isAnnotationStep = !!transaction.steps.find(step => {
28
+ var _step$mark, _step$mark$type;
29
+ return step instanceof AddMarkStep && ((_step$mark = step.mark) === null || _step$mark === void 0 ? void 0 : (_step$mark$type = _step$mark.type) === null || _step$mark$type === void 0 ? void 0 : _step$mark$type.name) === 'annotation';
30
+ });
22
31
  if (isDocumentReplaceFromRemote) {
23
32
  return prevPluginState;
24
33
  }
@@ -29,12 +38,16 @@ export const createPlugin = () => {
29
38
  if (isRemote) {
30
39
  return {
31
40
  lastLocalOrganicChangeAt: prevPluginState.lastLocalOrganicChangeAt,
32
- lastRemoteOrganicChangeAt: Date.now()
41
+ lastRemoteOrganicChangeAt: Date.now(),
42
+ lastLocalOrganicBodyChangeAt: prevPluginState.lastLocalOrganicBodyChangeAt,
43
+ lastRemoteOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastRemoteOrganicBodyChangeAt : Date.now()
33
44
  };
34
45
  }
35
46
  return {
36
47
  lastLocalOrganicChangeAt: Date.now(),
37
- lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt
48
+ lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt,
49
+ lastLocalOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastLocalOrganicBodyChangeAt : Date.now(),
50
+ lastRemoteOrganicBodyChangeAt: prevPluginState.lastRemoteOrganicBodyChangeAt
38
51
  };
39
52
  }
40
53
  return prevPluginState;
@@ -107,7 +107,9 @@ export var collabEditPlugin = function collabEditPlugin(_ref4) {
107
107
  firstChangeAfterInitAt: null,
108
108
  firstContentBodyChangeAfterInitAt: null,
109
109
  lastLocalOrganicChangeAt: null,
110
- lastRemoteOrganicChangeAt: null
110
+ lastRemoteOrganicChangeAt: null,
111
+ lastLocalOrganicBodyChangeAt: null,
112
+ lastRemoteOrganicBodyChangeAt: null
111
113
  },
112
114
  activeParticipants: undefined,
113
115
  sessionId: undefined
@@ -124,7 +126,9 @@ export var collabEditPlugin = function collabEditPlugin(_ref4) {
124
126
  firstChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstChangeAfterInitAt) || null,
125
127
  firstContentBodyChangeAfterInitAt: (metadata === null || metadata === void 0 ? void 0 : metadata.firstContentBodyChangeAfterInitAt) || null,
126
128
  lastLocalOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicChangeAt) || null,
127
- lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null
129
+ lastRemoteOrganicChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicChangeAt) || null,
130
+ lastLocalOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastLocalOrganicBodyChangeAt) || null,
131
+ lastRemoteOrganicBodyChangeAt: (lastOrganicChangeState === null || lastOrganicChangeState === void 0 ? void 0 : lastOrganicChangeState.lastRemoteOrganicBodyChangeAt) || null
128
132
  }
129
133
  };
130
134
  },
@@ -1,6 +1,7 @@
1
1
  import { isDirtyTransaction } from '@atlaskit/editor-common/collab';
2
2
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
3
  import { PluginKey } from '@atlaskit/editor-prosemirror/state';
4
+ import { AddMarkStep } from '@atlaskit/editor-prosemirror/transform';
4
5
  import { isOrganicChange } from '../utils';
5
6
  export var trackLastOrganicChangePluginKey = new PluginKey('collabTrackLastOrganicChangePlugin');
6
7
  export var createPlugin = function createPlugin() {
@@ -10,7 +11,9 @@ export var createPlugin = function createPlugin() {
10
11
  init: function init() {
11
12
  return {
12
13
  lastLocalOrganicChangeAt: null,
13
- lastRemoteOrganicChangeAt: null
14
+ lastRemoteOrganicChangeAt: null,
15
+ lastLocalOrganicBodyChangeAt: null,
16
+ lastRemoteOrganicBodyChangeAt: null
14
17
  };
15
18
  },
16
19
  apply: function apply(transaction, prevPluginState) {
@@ -19,6 +22,12 @@ export var createPlugin = function createPlugin() {
19
22
  }
20
23
  var isRemote = Boolean(transaction.getMeta('isRemote'));
21
24
  var isDocumentReplaceFromRemote = isRemote && Boolean(transaction.getMeta('replaceDocument'));
25
+
26
+ // Inline comment annotations are not considered as edits to the document body
27
+ var isAnnotationStep = !!transaction.steps.find(function (step) {
28
+ var _step$mark;
29
+ return step instanceof AddMarkStep && ((_step$mark = step.mark) === null || _step$mark === void 0 || (_step$mark = _step$mark.type) === null || _step$mark === void 0 ? void 0 : _step$mark.name) === 'annotation';
30
+ });
22
31
  if (isDocumentReplaceFromRemote) {
23
32
  return prevPluginState;
24
33
  }
@@ -29,12 +38,16 @@ export var createPlugin = function createPlugin() {
29
38
  if (isRemote) {
30
39
  return {
31
40
  lastLocalOrganicChangeAt: prevPluginState.lastLocalOrganicChangeAt,
32
- lastRemoteOrganicChangeAt: Date.now()
41
+ lastRemoteOrganicChangeAt: Date.now(),
42
+ lastLocalOrganicBodyChangeAt: prevPluginState.lastLocalOrganicBodyChangeAt,
43
+ lastRemoteOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastRemoteOrganicBodyChangeAt : Date.now()
33
44
  };
34
45
  }
35
46
  return {
36
47
  lastLocalOrganicChangeAt: Date.now(),
37
- lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt
48
+ lastRemoteOrganicChangeAt: prevPluginState.lastRemoteOrganicChangeAt,
49
+ lastLocalOrganicBodyChangeAt: isAnnotationStep ? prevPluginState.lastLocalOrganicBodyChangeAt : Date.now(),
50
+ lastRemoteOrganicBodyChangeAt: prevPluginState.lastRemoteOrganicBodyChangeAt
38
51
  };
39
52
  }
40
53
  return prevPluginState;
@@ -26,6 +26,8 @@ export type CollabInitializedMetadata = {
26
26
  export type LastOrganicChangeMetadata = {
27
27
  lastLocalOrganicChangeAt: null | number;
28
28
  lastRemoteOrganicChangeAt: null | number;
29
+ lastLocalOrganicBodyChangeAt: null | number;
30
+ lastRemoteOrganicBodyChangeAt: null | number;
29
31
  };
30
32
  export type TrackSpammingStepsMetadata = {
31
33
  recentTransactionsTimestemps: Map<string, {
@@ -26,6 +26,8 @@ export type CollabInitializedMetadata = {
26
26
  export type LastOrganicChangeMetadata = {
27
27
  lastLocalOrganicChangeAt: null | number;
28
28
  lastRemoteOrganicChangeAt: null | number;
29
+ lastLocalOrganicBodyChangeAt: null | number;
30
+ lastRemoteOrganicBodyChangeAt: null | number;
29
31
  };
30
32
  export type TrackSpammingStepsMetadata = {
31
33
  recentTransactionsTimestemps: Map<string, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-collab-edit",
3
- "version": "1.19.9",
3
+ "version": "1.20.0",
4
4
  "description": "Collab Edit plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@atlaskit/adf-schema": "^40.9.0",
35
35
  "@atlaskit/custom-steps": "^0.7.0",
36
- "@atlaskit/editor-common": "^90.0.0",
37
- "@atlaskit/editor-plugin-analytics": "1.8.7",
36
+ "@atlaskit/editor-common": "^91.0.0",
37
+ "@atlaskit/editor-plugin-analytics": "1.8.8",
38
38
  "@atlaskit/editor-plugin-editor-viewmode": "^2.1.0",
39
39
  "@atlaskit/editor-plugin-feature-flags": "^1.2.0",
40
40
  "@atlaskit/editor-prosemirror": "6.0.0",