@atlaskit/collab-provider 9.8.0 → 9.9.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 +6 -0
- package/dist/cjs/channel.js +140 -34
- package/dist/cjs/document/document-service.js +57 -16
- package/dist/cjs/feature-flags/__test__/index.unit.js +3 -2
- package/dist/cjs/feature-flags/index.js +5 -3
- package/dist/cjs/provider/index.js +2 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/channel.js +40 -4
- package/dist/es2019/document/document-service.js +26 -4
- package/dist/es2019/feature-flags/__test__/index.unit.js +3 -2
- package/dist/es2019/feature-flags/index.js +5 -3
- package/dist/es2019/provider/index.js +1 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/channel.js +140 -34
- package/dist/esm/document/document-service.js +57 -16
- package/dist/esm/feature-flags/__test__/index.unit.js +3 -2
- package/dist/esm/feature-flags/index.js +5 -3
- package/dist/esm/provider/index.js +2 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/channel.d.ts +2 -1
- package/dist/types/document/document-service.d.ts +8 -2
- package/dist/types/feature-flags/types.d.ts +1 -0
- package/dist/types/types.d.ts +6 -0
- package/dist/types-ts4.5/channel.d.ts +2 -1
- package/dist/types-ts4.5/document/document-service.d.ts +8 -2
- package/dist/types-ts4.5/feature-flags/types.d.ts +1 -0
- package/dist/types-ts4.5/types.d.ts +6 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
2
|
import AnalyticsHelper from '../analytics/analytics-helper';
|
|
3
|
-
import { CatchupResponse, ChannelEvent, StepsPayload } from '../types';
|
|
3
|
+
import { CatchupResponse, ReconcileResponse, ChannelEvent, StepsPayload } from '../types';
|
|
4
4
|
import type { SyncUpErrorFunction, ResolvedEditorState } from '@atlaskit/editor-common/collab';
|
|
5
5
|
import type { Step as ProseMirrorStep } from '@atlaskit/editor-prosemirror/transform';
|
|
6
6
|
import type { MetadataService } from '../metadata/metadata-service';
|
|
@@ -12,6 +12,7 @@ export declare class DocumentService {
|
|
|
12
12
|
private participantsService;
|
|
13
13
|
private analyticsHelper;
|
|
14
14
|
private fetchCatchup;
|
|
15
|
+
private fetchReconcile;
|
|
15
16
|
private providerEmitCallback;
|
|
16
17
|
private broadcast;
|
|
17
18
|
private getUserId;
|
|
@@ -19,6 +20,7 @@ export declare class DocumentService {
|
|
|
19
20
|
private metadataService;
|
|
20
21
|
private failedStepsBeforeCatchupOnPublish;
|
|
21
22
|
private enableErrorOnFailedDocumentApply;
|
|
23
|
+
private featureFlags;
|
|
22
24
|
private getState;
|
|
23
25
|
private onSyncUpError?;
|
|
24
26
|
private stepQueue;
|
|
@@ -31,6 +33,7 @@ export declare class DocumentService {
|
|
|
31
33
|
* and to emit their telepointers from steps they add
|
|
32
34
|
* @param analyticsHelper - Helper for analytics events
|
|
33
35
|
* @param fetchCatchup - Function to fetch "catchup" data, data required to rebase current steps to the latest version.
|
|
36
|
+
* @param fetchReconcile - Function to call "reconcile" from NCS backend
|
|
34
37
|
* @param providerEmitCallback - Callback for emitting events to listeners on the provider
|
|
35
38
|
* @param broadcast - Callback for broadcasting events to other clients
|
|
36
39
|
* @param getUserId - Callback to fetch the current user's ID
|
|
@@ -38,8 +41,11 @@ export declare class DocumentService {
|
|
|
38
41
|
* @param metadataService
|
|
39
42
|
* @param failedStepsBeforeCatchupOnPublish - Control MAX_STEP_REJECTED_ERROR during page publishes.
|
|
40
43
|
* @param enableErrorOnFailedDocumentApply - Enable failed document update exceptions.
|
|
44
|
+
* @param featureFlags - Feature flag config
|
|
41
45
|
*/
|
|
42
|
-
constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number) => Promise<CatchupResponse>, 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, failedStepsBeforeCatchupOnPublish
|
|
46
|
+
constructor(participantsService: ParticipantsService, analyticsHelper: AnalyticsHelper | undefined, fetchCatchup: (fromVersion: number) => 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, failedStepsBeforeCatchupOnPublish: number, enableErrorOnFailedDocumentApply: boolean, featureFlags: {
|
|
47
|
+
[key: string]: boolean;
|
|
48
|
+
} | undefined);
|
|
43
49
|
/**
|
|
44
50
|
* To prevent calling catchup to often, use lodash throttle to reduce the frequency
|
|
45
51
|
*/
|
|
@@ -179,6 +179,12 @@ export interface CatchupResponse {
|
|
|
179
179
|
stepMaps?: any[];
|
|
180
180
|
metadata?: Metadata;
|
|
181
181
|
}
|
|
182
|
+
export interface ReconcileResponse {
|
|
183
|
+
document: string;
|
|
184
|
+
version: number;
|
|
185
|
+
ari?: string;
|
|
186
|
+
metadata?: Metadata;
|
|
187
|
+
}
|
|
182
188
|
export interface CatchupOptions {
|
|
183
189
|
getCurrentPmVersion: () => number;
|
|
184
190
|
fetchCatchup: (fromVersion: number) => Promise<CatchupResponse>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/collab-provider",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.9.0",
|
|
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.7.0",
|
|
39
|
-
"@atlaskit/editor-common": "^74.
|
|
39
|
+
"@atlaskit/editor-common": "^74.36.0",
|
|
40
40
|
"@atlaskit/editor-json-transformer": "^8.10.0",
|
|
41
41
|
"@atlaskit/editor-prosemirror": "1.0.2",
|
|
42
42
|
"@atlaskit/prosemirror-collab": "^0.2.0",
|