@atlaskit/collab-provider 14.0.0 → 14.0.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 +14 -0
- package/dist/cjs/document/document-service.js +2 -1
- package/dist/cjs/provider/commit-step.js +28 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/document/document-service.js +2 -1
- package/dist/es2019/provider/commit-step.js +25 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/document/document-service.js +2 -1
- package/dist/esm/provider/commit-step.js +28 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/document/document-service.d.ts +1 -0
- package/dist/types/helpers/utils.d.ts +1 -0
- package/dist/types/provider/commit-step.d.ts +3 -1
- package/dist/types-ts4.5/document/document-service.d.ts +1 -0
- package/dist/types-ts4.5/helpers/utils.d.ts +1 -0
- package/dist/types-ts4.5/provider/commit-step.d.ts +3 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/collab-provider
|
|
2
2
|
|
|
3
|
+
## 14.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`34c085d24f484`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/34c085d24f484) -
|
|
8
|
+
Add new offline metadata to steps if they contain steps that were created while offline.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 14.0.1
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 14.0.0
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -1110,7 +1110,8 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
|
|
|
1110
1110
|
hasRecovered: this.hasRecovered,
|
|
1111
1111
|
collabMode: this.participantsService.getCollabMode(),
|
|
1112
1112
|
reason: reason,
|
|
1113
|
-
lockSteps: this.lockSteps
|
|
1113
|
+
lockSteps: this.lockSteps,
|
|
1114
|
+
stepOrigins: unconfirmedStepsData.origins
|
|
1114
1115
|
});
|
|
1115
1116
|
}
|
|
1116
1117
|
}]);
|
|
@@ -13,6 +13,7 @@ var _const = require("../helpers/const");
|
|
|
13
13
|
var _types = require("../types");
|
|
14
14
|
var _ncsErrors = require("../errors/ncs-errors");
|
|
15
15
|
var _utils = require("../helpers/utils");
|
|
16
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
16
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
18
|
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; }
|
|
18
19
|
var logger = (0, _utils.createLogger)('commit-step', 'black');
|
|
@@ -49,7 +50,8 @@ var CommitStepService = exports.CommitStepService = /*#__PURE__*/function () {
|
|
|
49
50
|
hasRecovered = _ref.hasRecovered,
|
|
50
51
|
collabMode = _ref.collabMode,
|
|
51
52
|
reason = _ref.reason,
|
|
52
|
-
lockSteps = _ref.lockSteps
|
|
53
|
+
lockSteps = _ref.lockSteps,
|
|
54
|
+
stepOrigins = _ref.stepOrigins;
|
|
53
55
|
// this timer is for waiting to send the next batch in between acks from the BE
|
|
54
56
|
var commitWaitTimer;
|
|
55
57
|
// if publishing and not waiting for an ACK, then clear the commit timer and proceed, skipping the timer
|
|
@@ -113,6 +115,9 @@ var CommitStepService = exports.CommitStepService = /*#__PURE__*/function () {
|
|
|
113
115
|
return step;
|
|
114
116
|
});
|
|
115
117
|
}
|
|
118
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_offline_editing_web', 'isEnabled', true)) {
|
|
119
|
+
stepsWithClientAndUserId = this.addOfflineMetadata(stepsWithClientAndUserId, stepOrigins);
|
|
120
|
+
}
|
|
116
121
|
var start = new Date().getTime();
|
|
117
122
|
var ADD_STEPS_ACKNOWLEDGEMENT_ERROR_MSG = 'Error while adding steps - Invalid Acknowledgement';
|
|
118
123
|
var ADD_STEPS_BROADCAST_ERROR_MSG = 'Error while adding steps - Broadcast threw exception';
|
|
@@ -200,6 +205,28 @@ var CommitStepService = exports.CommitStepService = /*#__PURE__*/function () {
|
|
|
200
205
|
}
|
|
201
206
|
return false;
|
|
202
207
|
}
|
|
208
|
+
}, {
|
|
209
|
+
key: "addOfflineMetadata",
|
|
210
|
+
value: function addOfflineMetadata(stepsWithClientAndUserId, origins) {
|
|
211
|
+
if (origins.some(function (s) {
|
|
212
|
+
return s.getMeta('isOffline') === true || s.getMeta('wasOffline') === true;
|
|
213
|
+
})) {
|
|
214
|
+
return stepsWithClientAndUserId.map(function (step, idx) {
|
|
215
|
+
var origin = origins[idx];
|
|
216
|
+
if (!origin) {
|
|
217
|
+
return step;
|
|
218
|
+
}
|
|
219
|
+
var createdOffline = origin.getMeta('isOffline') || origin.getMeta('wasOffline');
|
|
220
|
+
if (createdOffline === true) {
|
|
221
|
+
step.metadata = _objectSpread(_objectSpread({}, step.metadata), {}, {
|
|
222
|
+
createdOffline: createdOffline
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return step;
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return stepsWithClientAndUserId;
|
|
229
|
+
}
|
|
203
230
|
}, {
|
|
204
231
|
key: "sendSuccessAnalytics",
|
|
205
232
|
value: function sendSuccessAnalytics(latency, stepsWithClientAndUserId) {
|
|
@@ -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 = "
|
|
8
|
+
var version = exports.version = "0.0.0-development";
|
|
9
9
|
var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
|
|
10
10
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
|
11
11
|
};
|
|
@@ -978,7 +978,8 @@ export class DocumentService {
|
|
|
978
978
|
hasRecovered: this.hasRecovered,
|
|
979
979
|
collabMode: this.participantsService.getCollabMode(),
|
|
980
980
|
reason,
|
|
981
|
-
lockSteps: this.lockSteps
|
|
981
|
+
lockSteps: this.lockSteps,
|
|
982
|
+
stepOrigins: unconfirmedStepsData.origins
|
|
982
983
|
});
|
|
983
984
|
}
|
|
984
985
|
}
|
|
@@ -3,6 +3,7 @@ import { ADD_STEPS_TYPE, EVENT_ACTION, EVENT_STATUS } from '../helpers/const';
|
|
|
3
3
|
import { AcknowledgementResponseTypes } from '../types';
|
|
4
4
|
import { NCS_ERROR_CODE } from '../errors/ncs-errors';
|
|
5
5
|
import { createLogger } from '../helpers/utils';
|
|
6
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
6
7
|
const logger = createLogger('commit-step', 'black');
|
|
7
8
|
export const RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
|
|
8
9
|
export class CommitStepService {
|
|
@@ -33,7 +34,8 @@ export class CommitStepService {
|
|
|
33
34
|
hasRecovered,
|
|
34
35
|
collabMode,
|
|
35
36
|
reason,
|
|
36
|
-
lockSteps
|
|
37
|
+
lockSteps,
|
|
38
|
+
stepOrigins
|
|
37
39
|
}) {
|
|
38
40
|
// this timer is for waiting to send the next batch in between acks from the BE
|
|
39
41
|
let commitWaitTimer;
|
|
@@ -99,6 +101,9 @@ export class CommitStepService {
|
|
|
99
101
|
return step;
|
|
100
102
|
});
|
|
101
103
|
}
|
|
104
|
+
if (expValEquals('platform_editor_offline_editing_web', 'isEnabled', true)) {
|
|
105
|
+
stepsWithClientAndUserId = this.addOfflineMetadata(stepsWithClientAndUserId, stepOrigins);
|
|
106
|
+
}
|
|
102
107
|
const start = new Date().getTime();
|
|
103
108
|
const ADD_STEPS_ACKNOWLEDGEMENT_ERROR_MSG = 'Error while adding steps - Invalid Acknowledgement';
|
|
104
109
|
const ADD_STEPS_BROADCAST_ERROR_MSG = 'Error while adding steps - Broadcast threw exception';
|
|
@@ -184,6 +189,25 @@ export class CommitStepService {
|
|
|
184
189
|
}
|
|
185
190
|
return false;
|
|
186
191
|
}
|
|
192
|
+
addOfflineMetadata(stepsWithClientAndUserId, origins) {
|
|
193
|
+
if (origins.some(s => s.getMeta('isOffline') === true || s.getMeta('wasOffline') === true)) {
|
|
194
|
+
return stepsWithClientAndUserId.map((step, idx) => {
|
|
195
|
+
const origin = origins[idx];
|
|
196
|
+
if (!origin) {
|
|
197
|
+
return step;
|
|
198
|
+
}
|
|
199
|
+
const createdOffline = origin.getMeta('isOffline') || origin.getMeta('wasOffline');
|
|
200
|
+
if (createdOffline === true) {
|
|
201
|
+
step.metadata = {
|
|
202
|
+
...step.metadata,
|
|
203
|
+
createdOffline
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return step;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return stepsWithClientAndUserId;
|
|
210
|
+
}
|
|
187
211
|
sendSuccessAnalytics(latency, stepsWithClientAndUserId) {
|
|
188
212
|
// Sample only 10% of add steps events to avoid overwhelming the analytics
|
|
189
213
|
if (Math.random() < 0.1) {
|
|
@@ -1103,7 +1103,8 @@ export var DocumentService = /*#__PURE__*/function () {
|
|
|
1103
1103
|
hasRecovered: this.hasRecovered,
|
|
1104
1104
|
collabMode: this.participantsService.getCollabMode(),
|
|
1105
1105
|
reason: reason,
|
|
1106
|
-
lockSteps: this.lockSteps
|
|
1106
|
+
lockSteps: this.lockSteps,
|
|
1107
|
+
stepOrigins: unconfirmedStepsData.origins
|
|
1107
1108
|
});
|
|
1108
1109
|
}
|
|
1109
1110
|
}]);
|
|
@@ -8,6 +8,7 @@ import { ADD_STEPS_TYPE, EVENT_ACTION, EVENT_STATUS } from '../helpers/const';
|
|
|
8
8
|
import { AcknowledgementResponseTypes } from '../types';
|
|
9
9
|
import { NCS_ERROR_CODE } from '../errors/ncs-errors';
|
|
10
10
|
import { createLogger } from '../helpers/utils';
|
|
11
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
11
12
|
var logger = createLogger('commit-step', 'black');
|
|
12
13
|
export var RESET_READYTOCOMMIT_INTERVAL_MS = 5000;
|
|
13
14
|
export var CommitStepService = /*#__PURE__*/function () {
|
|
@@ -42,7 +43,8 @@ export var CommitStepService = /*#__PURE__*/function () {
|
|
|
42
43
|
hasRecovered = _ref.hasRecovered,
|
|
43
44
|
collabMode = _ref.collabMode,
|
|
44
45
|
reason = _ref.reason,
|
|
45
|
-
lockSteps = _ref.lockSteps
|
|
46
|
+
lockSteps = _ref.lockSteps,
|
|
47
|
+
stepOrigins = _ref.stepOrigins;
|
|
46
48
|
// this timer is for waiting to send the next batch in between acks from the BE
|
|
47
49
|
var commitWaitTimer;
|
|
48
50
|
// if publishing and not waiting for an ACK, then clear the commit timer and proceed, skipping the timer
|
|
@@ -106,6 +108,9 @@ export var CommitStepService = /*#__PURE__*/function () {
|
|
|
106
108
|
return step;
|
|
107
109
|
});
|
|
108
110
|
}
|
|
111
|
+
if (expValEquals('platform_editor_offline_editing_web', 'isEnabled', true)) {
|
|
112
|
+
stepsWithClientAndUserId = this.addOfflineMetadata(stepsWithClientAndUserId, stepOrigins);
|
|
113
|
+
}
|
|
109
114
|
var start = new Date().getTime();
|
|
110
115
|
var ADD_STEPS_ACKNOWLEDGEMENT_ERROR_MSG = 'Error while adding steps - Invalid Acknowledgement';
|
|
111
116
|
var ADD_STEPS_BROADCAST_ERROR_MSG = 'Error while adding steps - Broadcast threw exception';
|
|
@@ -193,6 +198,28 @@ export var CommitStepService = /*#__PURE__*/function () {
|
|
|
193
198
|
}
|
|
194
199
|
return false;
|
|
195
200
|
}
|
|
201
|
+
}, {
|
|
202
|
+
key: "addOfflineMetadata",
|
|
203
|
+
value: function addOfflineMetadata(stepsWithClientAndUserId, origins) {
|
|
204
|
+
if (origins.some(function (s) {
|
|
205
|
+
return s.getMeta('isOffline') === true || s.getMeta('wasOffline') === true;
|
|
206
|
+
})) {
|
|
207
|
+
return stepsWithClientAndUserId.map(function (step, idx) {
|
|
208
|
+
var origin = origins[idx];
|
|
209
|
+
if (!origin) {
|
|
210
|
+
return step;
|
|
211
|
+
}
|
|
212
|
+
var createdOffline = origin.getMeta('isOffline') || origin.getMeta('wasOffline');
|
|
213
|
+
if (createdOffline === true) {
|
|
214
|
+
step.metadata = _objectSpread(_objectSpread({}, step.metadata), {}, {
|
|
215
|
+
createdOffline: createdOffline
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return step;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return stepsWithClientAndUserId;
|
|
222
|
+
}
|
|
196
223
|
}, {
|
|
197
224
|
key: "sendSuccessAnalytics",
|
|
198
225
|
value: function sendSuccessAnalytics(latency, stepsWithClientAndUserId) {
|
|
@@ -20,7 +20,7 @@ export declare class CommitStepService {
|
|
|
20
20
|
* @param onErrorHandled - Callback to handle
|
|
21
21
|
*/
|
|
22
22
|
constructor(broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, analyticsHelper: AnalyticsHelper | undefined, emit: (evt: keyof CollabEvents, data: any) => void, onErrorHandled: (error: InternalError) => void);
|
|
23
|
-
commitStepQueue({ steps, version, userId, clientId, onStepsAdded, __livePage, hasRecovered, collabMode, reason, lockSteps, }: {
|
|
23
|
+
commitStepQueue({ steps, version, userId, clientId, onStepsAdded, __livePage, hasRecovered, collabMode, reason, lockSteps, stepOrigins, }: {
|
|
24
24
|
__livePage: boolean;
|
|
25
25
|
clientId: number | string;
|
|
26
26
|
collabMode: string;
|
|
@@ -28,11 +28,13 @@ export declare class CommitStepService {
|
|
|
28
28
|
lockSteps: (stepOrigins?: readonly Transaction[]) => void;
|
|
29
29
|
onStepsAdded: (data: StepsPayload) => void;
|
|
30
30
|
reason?: GetResolvedEditorStateReason;
|
|
31
|
+
stepOrigins: readonly Transaction[];
|
|
31
32
|
steps: readonly ProseMirrorStep[];
|
|
32
33
|
userId: string;
|
|
33
34
|
version: number;
|
|
34
35
|
}): void;
|
|
35
36
|
private isExpandChangeStep;
|
|
37
|
+
private addOfflineMetadata;
|
|
36
38
|
private sendSuccessAnalytics;
|
|
37
39
|
private sendFailureAnalytics;
|
|
38
40
|
getReadyToCommitStatus(): boolean;
|
|
@@ -20,7 +20,7 @@ export declare class CommitStepService {
|
|
|
20
20
|
* @param onErrorHandled - Callback to handle
|
|
21
21
|
*/
|
|
22
22
|
constructor(broadcast: <K extends keyof ChannelEvent>(type: K, data: Omit<ChannelEvent[K], 'timestamp'>, callback?: Function) => void, analyticsHelper: AnalyticsHelper | undefined, emit: (evt: keyof CollabEvents, data: any) => void, onErrorHandled: (error: InternalError) => void);
|
|
23
|
-
commitStepQueue({ steps, version, userId, clientId, onStepsAdded, __livePage, hasRecovered, collabMode, reason, lockSteps, }: {
|
|
23
|
+
commitStepQueue({ steps, version, userId, clientId, onStepsAdded, __livePage, hasRecovered, collabMode, reason, lockSteps, stepOrigins, }: {
|
|
24
24
|
__livePage: boolean;
|
|
25
25
|
clientId: number | string;
|
|
26
26
|
collabMode: string;
|
|
@@ -28,11 +28,13 @@ export declare class CommitStepService {
|
|
|
28
28
|
lockSteps: (stepOrigins?: readonly Transaction[]) => void;
|
|
29
29
|
onStepsAdded: (data: StepsPayload) => void;
|
|
30
30
|
reason?: GetResolvedEditorStateReason;
|
|
31
|
+
stepOrigins: readonly Transaction[];
|
|
31
32
|
steps: readonly ProseMirrorStep[];
|
|
32
33
|
userId: string;
|
|
33
34
|
version: number;
|
|
34
35
|
}): void;
|
|
35
36
|
private isExpandChangeStep;
|
|
37
|
+
private addOfflineMetadata;
|
|
36
38
|
private sendSuccessAnalytics;
|
|
37
39
|
private sendFailureAnalytics;
|
|
38
40
|
getReadyToCommitStatus(): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/collab-provider",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.2",
|
|
4
4
|
"description": "A provider for collaborative editing.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"@atlaskit/feature-gate-js-client": "^5.5.0",
|
|
36
36
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
37
37
|
"@atlaskit/prosemirror-collab": "^0.20.0",
|
|
38
|
-
"@atlaskit/react-ufo": "^4.
|
|
39
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
38
|
+
"@atlaskit/react-ufo": "^4.11.0",
|
|
39
|
+
"@atlaskit/tmp-editor-statsig": "^13.5.0",
|
|
40
40
|
"@atlaskit/ufo": "^0.4.0",
|
|
41
41
|
"@atlaskit/util-service-support": "^6.3.0",
|
|
42
42
|
"@babel/runtime": "^7.0.0",
|
|
@@ -77,6 +77,6 @@
|
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
|
-
"@atlaskit/editor-common": "^110.
|
|
80
|
+
"@atlaskit/editor-common": "^110.8.0"
|
|
81
81
|
}
|
|
82
82
|
}
|