@agent-native/toolkit 0.16.3 → 0.16.4
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/dist/editor/extensions.d.ts.map +1 -1
- package/dist/editor/extensions.js +41 -1
- package/dist/editor/extensions.js.map +1 -1
- package/dist/editor/useCollabReconcile.concurrent.spec.js +28 -1
- package/dist/editor/useCollabReconcile.concurrent.spec.js.map +1 -1
- package/dist/editor/useCollabReconcile.d.ts +8 -1
- package/dist/editor/useCollabReconcile.d.ts.map +1 -1
- package/dist/editor/useCollabReconcile.js +8 -3
- package/dist/editor/useCollabReconcile.js.map +1 -1
- package/package.json +1 -1
- package/src/editor/extensions.ts +53 -1
- package/src/editor/useCollabReconcile.concurrent.spec.ts +40 -1
- package/src/editor/useCollabReconcile.ts +16 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/editor/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAY1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAY7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAsB3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/editor/extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,46 @@ const codeLowlight = createLowlight({
|
|
|
43
43
|
});
|
|
44
44
|
import { createCodeBlockNode } from "./CodeBlockNode.js";
|
|
45
45
|
import { createImageExtension } from "./ImageExtension.js";
|
|
46
|
+
const CollaborationWithSafeInitialSelection = Collaboration.extend({
|
|
47
|
+
addProseMirrorPlugins() {
|
|
48
|
+
const plugins = this.parent?.() ?? [];
|
|
49
|
+
for (const plugin of plugins) {
|
|
50
|
+
const originalView = plugin.spec.view;
|
|
51
|
+
if (!originalView)
|
|
52
|
+
continue;
|
|
53
|
+
plugin.spec.view = (view) => {
|
|
54
|
+
const pluginState = plugin.getState(view.state);
|
|
55
|
+
const binding = pluginState?.binding;
|
|
56
|
+
if (!binding || typeof binding._forceRerender !== "function") {
|
|
57
|
+
return originalView(view);
|
|
58
|
+
}
|
|
59
|
+
const originalForceRerender = binding._forceRerender.bind(binding);
|
|
60
|
+
binding._forceRerender = () => {
|
|
61
|
+
const previousSelection = binding.beforeTransactionSelection;
|
|
62
|
+
// y-prosemirror recreates its initial TextSelection at the same
|
|
63
|
+
// absolute position after replacing the whole document. That
|
|
64
|
+
// position can land inside a zero-child block. Let the replacement
|
|
65
|
+
// transaction map its existing selection instead; ProseMirror then
|
|
66
|
+
// chooses a valid nearby selection without warning.
|
|
67
|
+
binding.beforeTransactionSelection ??= view.state.selection;
|
|
68
|
+
try {
|
|
69
|
+
originalForceRerender();
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
binding.beforeTransactionSelection = previousSelection;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
try {
|
|
76
|
+
return originalView(view);
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
binding._forceRerender = originalForceRerender;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return plugins;
|
|
84
|
+
},
|
|
85
|
+
});
|
|
46
86
|
/**
|
|
47
87
|
* tiptap-markdown configuration, keyed by dialect. This is the single source of
|
|
48
88
|
* truth for how each dialect parses/serializes markdown so the editor component
|
|
@@ -209,7 +249,7 @@ preset: _preset = "plan", placeholder = "Type '/' for commands...", features, st
|
|
|
209
249
|
// saved representation (onChange serializes it); the Y.Doc is transient live
|
|
210
250
|
// state only. Appended last so it binds over the configured schema above.
|
|
211
251
|
if (ydoc) {
|
|
212
|
-
exts.push(
|
|
252
|
+
exts.push(CollaborationWithSafeInitialSelection.configure({ document: ydoc }));
|
|
213
253
|
// Live multi-user cursors. Only mounted alongside a Y.Doc so the standalone
|
|
214
254
|
// controlled editor (today's plan/content behavior) is untouched.
|
|
215
255
|
if (awareness) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/editor/extensions.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAE7C,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI;IACJ,GAAG;IACH,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,GAAG;IACH,UAAU;IACV,GAAG;IACH,IAAI;CACL,CAAC,CAAC;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/editor/extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ afterEach(() => {
|
|
|
38
38
|
});
|
|
39
39
|
function makeHarness() {
|
|
40
40
|
const captured = { editor: null, emitted: [], setContentCalls: 0 };
|
|
41
|
-
function Harness({ value, contentUpdatedAt }) {
|
|
41
|
+
function Harness({ value, contentUpdatedAt, editorOwnedFocus = false, }) {
|
|
42
42
|
const guardsRef = React.useRef(null);
|
|
43
43
|
const editor = useEditor({
|
|
44
44
|
extensions: createRichMarkdownExtensions({ dialect: "gfm" }),
|
|
@@ -59,6 +59,7 @@ function makeHarness() {
|
|
|
59
59
|
value,
|
|
60
60
|
contentUpdatedAt,
|
|
61
61
|
editable: true,
|
|
62
|
+
isEditorFocused: () => editorOwnedFocus,
|
|
62
63
|
getMarkdown: getEditorMarkdown,
|
|
63
64
|
setContent: (ed, v, options) => {
|
|
64
65
|
captured.setContentCalls += 1;
|
|
@@ -610,5 +611,31 @@ describe("useCollabReconcile — concurrent edit / lost-update guards", () => {
|
|
|
610
611
|
await flush();
|
|
611
612
|
expect(getEditorMarkdown(captured.editor)).toBe("# Doc updated by agent");
|
|
612
613
|
});
|
|
614
|
+
it("does not reapply a partial save echo while an external editor control owns focus", async () => {
|
|
615
|
+
const { captured, Harness } = makeHarness();
|
|
616
|
+
render(root, Harness, {
|
|
617
|
+
value: "# abcdef",
|
|
618
|
+
contentUpdatedAt: "2024-01-01T00:00:01.000Z",
|
|
619
|
+
editorOwnedFocus: true,
|
|
620
|
+
});
|
|
621
|
+
await flush();
|
|
622
|
+
act(() => captured.editor.commands.setContent("# abcde"));
|
|
623
|
+
act(() => captured.editor.commands.setContent("# ab"));
|
|
624
|
+
expect(getEditorMarkdown(captured.editor)).toBe("# ab");
|
|
625
|
+
render(root, Harness, {
|
|
626
|
+
value: "# abcde",
|
|
627
|
+
contentUpdatedAt: "2024-01-01T00:00:02.000Z",
|
|
628
|
+
editorOwnedFocus: true,
|
|
629
|
+
});
|
|
630
|
+
await flush();
|
|
631
|
+
expect(getEditorMarkdown(captured.editor)).toBe("# ab");
|
|
632
|
+
render(root, Harness, {
|
|
633
|
+
value: "# updated externally",
|
|
634
|
+
contentUpdatedAt: "2024-01-01T00:00:03.000Z",
|
|
635
|
+
editorOwnedFocus: false,
|
|
636
|
+
});
|
|
637
|
+
await flush();
|
|
638
|
+
expect(getEditorMarkdown(captured.editor)).toBe("# updated externally");
|
|
639
|
+
});
|
|
613
640
|
});
|
|
614
641
|
//# sourceMappingURL=useCollabReconcile.concurrent.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollabReconcile.concurrent.spec.js","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.concurrent.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCollabReconcile.concurrent.spec.js","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.concurrent.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,13 @@ export interface UseCollabReconcileOptions {
|
|
|
23
23
|
contentUpdatedAt?: string | null;
|
|
24
24
|
/** Whether the editor accepts edits. Reconcile/seed only run for the live editor. */
|
|
25
25
|
editable: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Reports whether focus is inside any editing surface owned by this editor.
|
|
28
|
+
* Defaults to TipTap's contenteditable focus. Apps with editable NodeView
|
|
29
|
+
* controls outside the contenteditable surface can include those controls so
|
|
30
|
+
* a partial save echo cannot interrupt an active edit.
|
|
31
|
+
*/
|
|
32
|
+
isEditorFocused?: (editor: Editor) => boolean;
|
|
26
33
|
/**
|
|
27
34
|
* Reads the current markdown from the editor. Injected so a dialect could
|
|
28
35
|
* swap serializers; defaults to the tiptap-markdown storage reader. For an app
|
|
@@ -106,5 +113,5 @@ export interface UseCollabReconcileResult {
|
|
|
106
113
|
*/
|
|
107
114
|
registerEmitted: (markdown: string) => boolean;
|
|
108
115
|
}
|
|
109
|
-
export declare function useCollabReconcile({ editor, ydoc, collabSynced, awareness, value, contentUpdatedAt, editable, getMarkdown, setContent, parseValue, normalizeValue, shouldSeed, initialAppliedUpdatedAt, }: UseCollabReconcileOptions): UseCollabReconcileResult;
|
|
116
|
+
export declare function useCollabReconcile({ editor, ydoc, collabSynced, awareness, value, contentUpdatedAt, editable, isEditorFocused, getMarkdown, setContent, parseValue, normalizeValue, shouldSeed, initialAppliedUpdatedAt, }: UseCollabReconcileOptions): UseCollabReconcileResult;
|
|
110
117
|
//# sourceMappingURL=useCollabReconcile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollabReconcile.d.ts","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA+B,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,EACL,sCAAsC,EAGvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sCAAsC,EAAE,CAAC;AAElD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKxD;AA0BD,MAAM,WAAW,yBAAyB;IACxC,gDAAgD;IAChD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KACtD,IAAI,CAAC;IACV;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EACP,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,eAAe,GAAG,IAAI,CAAC,GAC3D,KAAK,CAAC;IACV;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC;IACd;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1D;;;;OAIG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"useCollabReconcile.d.ts","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,10 @@ function defaultSetContent(editor, value, options) {
|
|
|
88
88
|
}
|
|
89
89
|
editor.commands.setContent(value);
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
function defaultIsEditorFocused(editor) {
|
|
92
|
+
return editor.isFocused;
|
|
93
|
+
}
|
|
94
|
+
export function useCollabReconcile({ editor, ydoc = null, collabSynced = true, awareness = null, value, contentUpdatedAt, editable, isEditorFocused = defaultIsEditorFocused, getMarkdown = getEditorMarkdown, setContent = defaultSetContent, parseValue, normalizeValue = (v) => v, shouldSeed = defaultShouldSeed, initialAppliedUpdatedAt, }) {
|
|
92
95
|
const collab = !!ydoc;
|
|
93
96
|
const isSettingContentRef = useRef(false);
|
|
94
97
|
const lastEmittedRef = useRef("");
|
|
@@ -308,7 +311,8 @@ export function useCollabReconcile({ editor, ydoc = null, collabSynced = true, a
|
|
|
308
311
|
// revert and must NOT be swallowed as an echo.
|
|
309
312
|
const editorUnchangedSinceApply = lastAppliedSerializedRef.current !== null &&
|
|
310
313
|
currentMarkdown === lastAppliedSerializedRef.current;
|
|
311
|
-
const
|
|
314
|
+
const editorFocused = isEditorFocused(editor);
|
|
315
|
+
const typingRecently = editorFocused && Date.now() - lastTypedAtRef.current < 1500;
|
|
312
316
|
// Doc-equivalence skip. Never re-apply content the editor already
|
|
313
317
|
// represents — comparing by DOC EQUIVALENCE, not raw strings/timestamps:
|
|
314
318
|
// 1. `currentMarkdown === normalizedValue` — the editor's CURRENT
|
|
@@ -379,7 +383,7 @@ export function useCollabReconcile({ editor, ydoc = null, collabSynced = true, a
|
|
|
379
383
|
// `lastAppliedSerializedRef` so the very first seed (nothing applied yet,
|
|
380
384
|
// also not-newer) still lands.
|
|
381
385
|
const seeded = lastAppliedSerializedRef.current !== null;
|
|
382
|
-
if (!externalNewer && (
|
|
386
|
+
if (!externalNewer && (editorFocused || (!collab && seeded)))
|
|
383
387
|
return;
|
|
384
388
|
// Race guard: with peers present, let Yjs deliver a peer's edit first.
|
|
385
389
|
// Defer once and re-check — a peer edit makes the equality check above
|
|
@@ -461,6 +465,7 @@ export function useCollabReconcile({ editor, ydoc = null, collabSynced = true, a
|
|
|
461
465
|
setContent,
|
|
462
466
|
parseValue,
|
|
463
467
|
normalizeValue,
|
|
468
|
+
isEditorFocused,
|
|
464
469
|
]);
|
|
465
470
|
const shouldIgnoreUpdate = (transaction) => {
|
|
466
471
|
if (!editable || isSettingContentRef.current)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollabReconcile.js","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCollabReconcile.js","sourceRoot":"","sources":["../../src/editor/useCollabReconcile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/editor/extensions.ts
CHANGED
|
@@ -50,6 +50,56 @@ import type { Doc as YDoc } from "yjs";
|
|
|
50
50
|
import { createCodeBlockNode } from "./CodeBlockNode.js";
|
|
51
51
|
import { createImageExtension, type ImageUploadFn } from "./ImageExtension.js";
|
|
52
52
|
|
|
53
|
+
interface YSyncBindingWithInitialRender {
|
|
54
|
+
beforeTransactionSelection: unknown | null;
|
|
55
|
+
_forceRerender: () => void;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const CollaborationWithSafeInitialSelection = Collaboration.extend({
|
|
59
|
+
addProseMirrorPlugins() {
|
|
60
|
+
const plugins = this.parent?.() ?? [];
|
|
61
|
+
|
|
62
|
+
for (const plugin of plugins) {
|
|
63
|
+
const originalView = plugin.spec.view;
|
|
64
|
+
if (!originalView) continue;
|
|
65
|
+
|
|
66
|
+
plugin.spec.view = (view) => {
|
|
67
|
+
const pluginState = plugin.getState(view.state) as
|
|
68
|
+
| { binding?: YSyncBindingWithInitialRender }
|
|
69
|
+
| undefined;
|
|
70
|
+
const binding = pluginState?.binding;
|
|
71
|
+
if (!binding || typeof binding._forceRerender !== "function") {
|
|
72
|
+
return originalView(view);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const originalForceRerender = binding._forceRerender.bind(binding);
|
|
76
|
+
binding._forceRerender = () => {
|
|
77
|
+
const previousSelection = binding.beforeTransactionSelection;
|
|
78
|
+
// y-prosemirror recreates its initial TextSelection at the same
|
|
79
|
+
// absolute position after replacing the whole document. That
|
|
80
|
+
// position can land inside a zero-child block. Let the replacement
|
|
81
|
+
// transaction map its existing selection instead; ProseMirror then
|
|
82
|
+
// chooses a valid nearby selection without warning.
|
|
83
|
+
binding.beforeTransactionSelection ??= view.state.selection;
|
|
84
|
+
try {
|
|
85
|
+
originalForceRerender();
|
|
86
|
+
} finally {
|
|
87
|
+
binding.beforeTransactionSelection = previousSelection;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
try {
|
|
92
|
+
return originalView(view);
|
|
93
|
+
} finally {
|
|
94
|
+
binding._forceRerender = originalForceRerender;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return plugins;
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
|
|
53
103
|
/**
|
|
54
104
|
* Markdown dialect the editor parses/serializes.
|
|
55
105
|
*
|
|
@@ -385,7 +435,9 @@ export function createSharedEditorExtensions({
|
|
|
385
435
|
// saved representation (onChange serializes it); the Y.Doc is transient live
|
|
386
436
|
// state only. Appended last so it binds over the configured schema above.
|
|
387
437
|
if (ydoc) {
|
|
388
|
-
exts.push(
|
|
438
|
+
exts.push(
|
|
439
|
+
CollaborationWithSafeInitialSelection.configure({ document: ydoc }),
|
|
440
|
+
);
|
|
389
441
|
// Live multi-user cursors. Only mounted alongside a Y.Doc so the standalone
|
|
390
442
|
// controlled editor (today's plan/content behavior) is untouched.
|
|
391
443
|
if (awareness) {
|
|
@@ -48,6 +48,7 @@ afterEach(() => {
|
|
|
48
48
|
interface HarnessProps {
|
|
49
49
|
value: string;
|
|
50
50
|
contentUpdatedAt: string;
|
|
51
|
+
editorOwnedFocus?: boolean;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
interface CollabSeedHarnessProps {
|
|
@@ -65,7 +66,11 @@ interface Captured {
|
|
|
65
66
|
function makeHarness() {
|
|
66
67
|
const captured: Captured = { editor: null, emitted: [], setContentCalls: 0 };
|
|
67
68
|
|
|
68
|
-
function Harness({
|
|
69
|
+
function Harness({
|
|
70
|
+
value,
|
|
71
|
+
contentUpdatedAt,
|
|
72
|
+
editorOwnedFocus = false,
|
|
73
|
+
}: HarnessProps) {
|
|
69
74
|
const guardsRef = React.useRef<ReturnType<
|
|
70
75
|
typeof useCollabReconcile
|
|
71
76
|
> | null>(null);
|
|
@@ -88,6 +93,7 @@ function makeHarness() {
|
|
|
88
93
|
value,
|
|
89
94
|
contentUpdatedAt,
|
|
90
95
|
editable: true,
|
|
96
|
+
isEditorFocused: () => editorOwnedFocus,
|
|
91
97
|
getMarkdown: getEditorMarkdown,
|
|
92
98
|
setContent: (ed, v, options) => {
|
|
93
99
|
captured.setContentCalls += 1;
|
|
@@ -739,4 +745,37 @@ describe("useCollabReconcile — concurrent edit / lost-update guards", () => {
|
|
|
739
745
|
|
|
740
746
|
expect(getEditorMarkdown(captured.editor!)).toBe("# Doc updated by agent");
|
|
741
747
|
});
|
|
748
|
+
|
|
749
|
+
it("does not reapply a partial save echo while an external editor control owns focus", async () => {
|
|
750
|
+
const { captured, Harness } = makeHarness();
|
|
751
|
+
|
|
752
|
+
render(root, Harness, {
|
|
753
|
+
value: "# abcdef",
|
|
754
|
+
contentUpdatedAt: "2024-01-01T00:00:01.000Z",
|
|
755
|
+
editorOwnedFocus: true,
|
|
756
|
+
});
|
|
757
|
+
await flush();
|
|
758
|
+
|
|
759
|
+
act(() => captured.editor!.commands.setContent("# abcde"));
|
|
760
|
+
act(() => captured.editor!.commands.setContent("# ab"));
|
|
761
|
+
expect(getEditorMarkdown(captured.editor!)).toBe("# ab");
|
|
762
|
+
|
|
763
|
+
render(root, Harness, {
|
|
764
|
+
value: "# abcde",
|
|
765
|
+
contentUpdatedAt: "2024-01-01T00:00:02.000Z",
|
|
766
|
+
editorOwnedFocus: true,
|
|
767
|
+
});
|
|
768
|
+
await flush();
|
|
769
|
+
|
|
770
|
+
expect(getEditorMarkdown(captured.editor!)).toBe("# ab");
|
|
771
|
+
|
|
772
|
+
render(root, Harness, {
|
|
773
|
+
value: "# updated externally",
|
|
774
|
+
contentUpdatedAt: "2024-01-01T00:00:03.000Z",
|
|
775
|
+
editorOwnedFocus: false,
|
|
776
|
+
});
|
|
777
|
+
await flush();
|
|
778
|
+
|
|
779
|
+
expect(getEditorMarkdown(captured.editor!)).toBe("# updated externally");
|
|
780
|
+
});
|
|
742
781
|
});
|
|
@@ -62,6 +62,13 @@ export interface UseCollabReconcileOptions {
|
|
|
62
62
|
contentUpdatedAt?: string | null;
|
|
63
63
|
/** Whether the editor accepts edits. Reconcile/seed only run for the live editor. */
|
|
64
64
|
editable: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Reports whether focus is inside any editing surface owned by this editor.
|
|
67
|
+
* Defaults to TipTap's contenteditable focus. Apps with editable NodeView
|
|
68
|
+
* controls outside the contenteditable surface can include those controls so
|
|
69
|
+
* a partial save echo cannot interrupt an active edit.
|
|
70
|
+
*/
|
|
71
|
+
isEditorFocused?: (editor: Editor) => boolean;
|
|
65
72
|
/**
|
|
66
73
|
* Reads the current markdown from the editor. Injected so a dialect could
|
|
67
74
|
* swap serializers; defaults to the tiptap-markdown storage reader. For an app
|
|
@@ -216,6 +223,10 @@ function defaultSetContent(
|
|
|
216
223
|
editor.commands.setContent(value);
|
|
217
224
|
}
|
|
218
225
|
|
|
226
|
+
function defaultIsEditorFocused(editor: Editor): boolean {
|
|
227
|
+
return editor.isFocused;
|
|
228
|
+
}
|
|
229
|
+
|
|
219
230
|
export function useCollabReconcile({
|
|
220
231
|
editor,
|
|
221
232
|
ydoc = null,
|
|
@@ -224,6 +235,7 @@ export function useCollabReconcile({
|
|
|
224
235
|
value,
|
|
225
236
|
contentUpdatedAt,
|
|
226
237
|
editable,
|
|
238
|
+
isEditorFocused = defaultIsEditorFocused,
|
|
227
239
|
getMarkdown = getEditorMarkdown,
|
|
228
240
|
setContent = defaultSetContent,
|
|
229
241
|
parseValue,
|
|
@@ -452,8 +464,9 @@ export function useCollabReconcile({
|
|
|
452
464
|
const editorUnchangedSinceApply =
|
|
453
465
|
lastAppliedSerializedRef.current !== null &&
|
|
454
466
|
currentMarkdown === lastAppliedSerializedRef.current;
|
|
467
|
+
const editorFocused = isEditorFocused(editor);
|
|
455
468
|
const typingRecently =
|
|
456
|
-
|
|
469
|
+
editorFocused && Date.now() - lastTypedAtRef.current < 1500;
|
|
457
470
|
|
|
458
471
|
// Doc-equivalence skip. Never re-apply content the editor already
|
|
459
472
|
// represents — comparing by DOC EQUIVALENCE, not raw strings/timestamps:
|
|
@@ -531,7 +544,7 @@ export function useCollabReconcile({
|
|
|
531
544
|
// `lastAppliedSerializedRef` so the very first seed (nothing applied yet,
|
|
532
545
|
// also not-newer) still lands.
|
|
533
546
|
const seeded = lastAppliedSerializedRef.current !== null;
|
|
534
|
-
if (!externalNewer && (
|
|
547
|
+
if (!externalNewer && (editorFocused || (!collab && seeded))) return;
|
|
535
548
|
|
|
536
549
|
// Race guard: with peers present, let Yjs deliver a peer's edit first.
|
|
537
550
|
// Defer once and re-check — a peer edit makes the equality check above
|
|
@@ -616,6 +629,7 @@ export function useCollabReconcile({
|
|
|
616
629
|
setContent,
|
|
617
630
|
parseValue,
|
|
618
631
|
normalizeValue,
|
|
632
|
+
isEditorFocused,
|
|
619
633
|
]);
|
|
620
634
|
|
|
621
635
|
const shouldIgnoreUpdate = (transaction: Transaction): boolean => {
|