@manuscripts/body-editor 2.0.19 → 2.0.20

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.
@@ -40,11 +40,15 @@ const useEditor = (externalProps) => {
40
40
  const location = (0, react_router_dom_1.useLocation)();
41
41
  const { collabProvider } = props;
42
42
  if (collabProvider) {
43
- collabProvider.onNewSteps((newVersion, steps, clientIDs) => __awaiter(void 0, void 0, void 0, function* () {
43
+ collabProvider.onNewSteps(() => __awaiter(void 0, void 0, void 0, function* () {
44
44
  if (state && view.current) {
45
45
  const localVersion = (0, prosemirror_collab_1.getVersion)(view.current.state);
46
46
  const since = yield collabProvider.stepsSince(localVersion);
47
- if ((since === null || since === void 0 ? void 0 : since.steps) && since.clientIDs) {
47
+ if (since && since.version <= localVersion) {
48
+ console.log('detected run away update of document');
49
+ return;
50
+ }
51
+ if ((since === null || since === void 0 ? void 0 : since.steps.length) && since.clientIDs.length) {
48
52
  view.current.dispatch((0, prosemirror_collab_1.receiveTransaction)(view.current.state, since === null || since === void 0 ? void 0 : since.steps, since.clientIDs));
49
53
  }
50
54
  else {
@@ -70,7 +74,7 @@ const useEditor = (externalProps) => {
70
74
  }
71
75
  debounce(() => {
72
76
  setState(nextState);
73
- }, 200, !tr.isGeneric || !tr.docChanged);
77
+ }, 250, !tr.isGeneric || !tr.docChanged);
74
78
  return nextState;
75
79
  }, []);
76
80
  const onRender = (0, react_1.useCallback)((el) => {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MATHJAX_VERSION = exports.VERSION = void 0;
4
- exports.VERSION = '2.0.19';
4
+ exports.VERSION = '2.0.20';
5
5
  exports.MATHJAX_VERSION = '3.2.2';
@@ -37,11 +37,15 @@ export const useEditor = (externalProps) => {
37
37
  const location = useLocation();
38
38
  const { collabProvider } = props;
39
39
  if (collabProvider) {
40
- collabProvider.onNewSteps((newVersion, steps, clientIDs) => __awaiter(void 0, void 0, void 0, function* () {
40
+ collabProvider.onNewSteps(() => __awaiter(void 0, void 0, void 0, function* () {
41
41
  if (state && view.current) {
42
42
  const localVersion = getVersion(view.current.state);
43
43
  const since = yield collabProvider.stepsSince(localVersion);
44
- if ((since === null || since === void 0 ? void 0 : since.steps) && since.clientIDs) {
44
+ if (since && since.version <= localVersion) {
45
+ console.log('detected run away update of document');
46
+ return;
47
+ }
48
+ if ((since === null || since === void 0 ? void 0 : since.steps.length) && since.clientIDs.length) {
45
49
  view.current.dispatch(receiveTransaction(view.current.state, since === null || since === void 0 ? void 0 : since.steps, since.clientIDs));
46
50
  }
47
51
  else {
@@ -67,7 +71,7 @@ export const useEditor = (externalProps) => {
67
71
  }
68
72
  debounce(() => {
69
73
  setState(nextState);
70
- }, 200, !tr.isGeneric || !tr.docChanged);
74
+ }, 250, !tr.isGeneric || !tr.docChanged);
71
75
  return nextState;
72
76
  }, []);
73
77
  const onRender = useCallback((el) => {
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.0.19';
1
+ export const VERSION = '2.0.20';
2
2
  export const MATHJAX_VERSION = '3.2.2';
@@ -16,7 +16,7 @@
16
16
  import { Step } from 'prosemirror-transform';
17
17
  export declare abstract class CollabProvider {
18
18
  currentVersion: number;
19
- protected newStepsListener: (version: number, steps: Step[], clientIDs: number[]) => void;
19
+ protected newStepsListener: () => void;
20
20
  abstract sendSteps(version: number, steps: readonly Step[], clientID: string | number, flush?: boolean): Promise<void>;
21
21
  abstract onNewSteps(listener: CollabProvider['newStepsListener']): void;
22
22
  abstract stepsSince(version: number): Promise<{
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.0.19";
1
+ export declare const VERSION = "2.0.20";
2
2
  export declare const MATHJAX_VERSION = "3.2.2";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@manuscripts/body-editor",
3
3
  "description": "Prosemirror components for editing and viewing manuscripts",
4
- "version": "2.0.19",
4
+ "version": "2.0.20",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-body-editor",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",