@pilotiq/tiptap 3.9.0 → 3.10.1
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/react/CollabTextRenderer.d.ts +1 -1
- package/dist/react/CollabTextRenderer.d.ts.map +1 -1
- package/dist/react/CollabTextRenderer.js +22 -33
- package/dist/react/CollabTextRenderer.js.map +1 -1
- package/dist/react/MarkdownEditor.d.ts.map +1 -1
- package/dist/react/MarkdownEditor.js +38 -34
- package/dist/react/MarkdownEditor.js.map +1 -1
- package/dist/react/TiptapEditor.js +67 -39
- package/dist/react/TiptapEditor.js.map +1 -1
- package/dist/react/useAiInlineDiff.d.ts.map +1 -1
- package/dist/react/useAiInlineDiff.js +16 -1
- package/dist/react/useAiInlineDiff.js.map +1 -1
- package/package.json +2 -2
- package/src/react/CollabTextRenderer.tsx +27 -31
- package/src/react/MarkdownEditor.tsx +42 -32
- package/src/react/TiptapEditor.tsx +70 -41
- package/src/react/useAiInlineDiff.ts +17 -1
|
@@ -22,5 +22,5 @@ import { type CollabTextRendererProps } from '@pilotiq/pilotiq/react';
|
|
|
22
22
|
* crashes; in practice the upstream gate prevents this branch from mounting
|
|
23
23
|
* when collab isn't wired.
|
|
24
24
|
*/
|
|
25
|
-
export declare function CollabTextRenderer({ name, multiline, defaultValue, placeholder, disabled, onChange, onBlur, onSubmit, className, editorAttributes, }: CollabTextRendererProps): React.ReactElement;
|
|
25
|
+
export declare function CollabTextRenderer({ name, fragmentKey, multiline, defaultValue, placeholder, disabled, onChange, onBlur, onSubmit, className, editorAttributes, }: CollabTextRendererProps): React.ReactElement;
|
|
26
26
|
//# sourceMappingURL=CollabTextRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollabTextRenderer.d.ts","sourceRoot":"","sources":["../../src/react/CollabTextRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAA;AAK/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"CollabTextRenderer.d.ts","sourceRoot":"","sources":["../../src/react/CollabTextRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAA;AAK/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAwJ9C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo
|
|
2
|
+
import { useEffect, useMemo } from 'react';
|
|
3
3
|
import { useEditor, EditorContent } from '@tiptap/react';
|
|
4
|
-
import { useCollabRoom, getCollabExtensions,
|
|
4
|
+
import { useCollabRoom, getCollabExtensions, useCollabSeed, } from '@pilotiq/pilotiq/react';
|
|
5
5
|
import { createPlainTextEditor, plainTextOf, plainTextToDoc } from '../PlainTextEditor.js';
|
|
6
6
|
import { AiSuggestionExtension } from '../extensions/AiSuggestionExtension.js';
|
|
7
7
|
import { useAiSuggestionBridge } from './useAiSuggestionBridge.js';
|
|
@@ -28,10 +28,18 @@ import { useAiSuggestionBridge } from './useAiSuggestionBridge.js';
|
|
|
28
28
|
* crashes; in practice the upstream gate prevents this branch from mounting
|
|
29
29
|
* when collab isn't wired.
|
|
30
30
|
*/
|
|
31
|
-
export function CollabTextRenderer({ name, multiline, defaultValue, placeholder, disabled, onChange, onBlur, onSubmit, className, editorAttributes, }) {
|
|
31
|
+
export function CollabTextRenderer({ name, fragmentKey, multiline, defaultValue, placeholder, disabled, onChange, onBlur, onSubmit, className, editorAttributes, }) {
|
|
32
32
|
const room = useCollabRoom();
|
|
33
33
|
const factory = getCollabExtensions();
|
|
34
34
|
const collabActive = !!(room && factory);
|
|
35
|
+
// Collab-stable identifier — `name` on top-level fields, but the
|
|
36
|
+
// row-id-anchored composite (`items.<rowId>.title`) on Repeater /
|
|
37
|
+
// Builder row leaves so the Y.XmlFragment survives reorders. Routes
|
|
38
|
+
// ONLY into the collab branches (factory + first-load seed); AI
|
|
39
|
+
// suggestion bridge + onChange + hidden FormData input stay on
|
|
40
|
+
// `name` (the positional FormData path) so AI tool calls referencing
|
|
41
|
+
// the field by its FormData name still reach the editor.
|
|
42
|
+
const collabName = fragmentKey ?? name;
|
|
35
43
|
// Built once per editor mount. The factory closes over the room's `ydoc`
|
|
36
44
|
// + `provider` and the field name to produce a `Collaboration` (and
|
|
37
45
|
// optional `CollaborationCursor`) extension targeting the field's
|
|
@@ -42,7 +50,7 @@ export function CollabTextRenderer({ name, multiline, defaultValue, placeholder,
|
|
|
42
50
|
return factory({
|
|
43
51
|
ydoc: room.ydoc,
|
|
44
52
|
provider: room.provider,
|
|
45
|
-
fieldName:
|
|
53
|
+
fieldName: collabName,
|
|
46
54
|
...(room.user ? { user: room.user } : {}),
|
|
47
55
|
});
|
|
48
56
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -123,42 +131,23 @@ export function CollabTextRenderer({ name, multiline, defaultValue, placeholder,
|
|
|
123
131
|
},
|
|
124
132
|
});
|
|
125
133
|
// First-load seed when collab is active. Collaboration starts the editor
|
|
126
|
-
// empty regardless of `defaultValue`; once the
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
//
|
|
134
|
+
// empty regardless of `defaultValue`; once the room's first sync
|
|
135
|
+
// resolves, `useCollabSeed` runs the callback inside `ydoc.transact`.
|
|
136
|
+
// Empty fragment + we have an initial value = first session for this
|
|
137
|
+
// record — push the SSR-rendered default into the editor once.
|
|
130
138
|
//
|
|
131
139
|
// Race caveat: two peers simultaneously mounting against a brand-new
|
|
132
140
|
// record (both seeing `fragment.length === 0`) can both seed and produce
|
|
133
141
|
// duplicated text. Same window as `TiptapEditor`'s rich-text seed path.
|
|
134
142
|
// Acceptable for now; can be tightened later via a deterministic
|
|
135
143
|
// first-writer election or a server-side seed handoff.
|
|
136
|
-
|
|
137
|
-
useEffect(() => {
|
|
138
|
-
if (!editor || !collabActive || !room || hasSeeded)
|
|
139
|
-
return;
|
|
144
|
+
useCollabSeed(editor && collabActive ? room : null, collabName, (doc) => {
|
|
140
145
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const trySeed = () => {
|
|
147
|
-
try {
|
|
148
|
-
const fragment = ydoc.getXmlFragment(name);
|
|
149
|
-
if (fragment && fragment.length === 0 && defaultValue) {
|
|
150
|
-
editor.commands.setContent(plainTextToDoc(defaultValue, multiline));
|
|
151
|
-
}
|
|
152
|
-
setHasSeeded(true);
|
|
153
|
-
}
|
|
154
|
-
catch {
|
|
155
|
-
setHasSeeded(true);
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
return onProviderSynced(provider, trySeed);
|
|
159
|
-
// Seed once per editor instance — keyed remount above resets `hasSeeded`.
|
|
160
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
161
|
-
}, [editor, collabActive, room]);
|
|
146
|
+
const fragment = doc.getXmlFragment(collabName);
|
|
147
|
+
if (fragment && fragment.length === 0 && defaultValue && editor) {
|
|
148
|
+
editor.commands.setContent(plainTextToDoc(defaultValue, multiline));
|
|
149
|
+
}
|
|
150
|
+
});
|
|
162
151
|
// Bubble the editor's blur event up to the host. Tiptap exposes this via
|
|
163
152
|
// `editor.on('blur', ...)`. The simpler `onBlur` prop on `EditorContent`
|
|
164
153
|
// fires on the DOM node, but selection inside contenteditable can land on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollabTextRenderer.js","sourceRoot":"","sources":["../../src/react/CollabTextRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CollabTextRenderer.js","sourceRoot":"","sources":["../../src/react/CollabTextRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../src/react/MarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAanE,OAAO,
|
|
1
|
+
{"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../src/react/MarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAanE,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AA4G/B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAgB,EAChB,QAAQ,EACR,MAAM,EACN,cAAc,EACd,SAAS,EACT,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EACzB,SAAS,GACV,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAyZjD"}
|
|
@@ -11,7 +11,7 @@ import { DOMParser as ProseMirrorDOMParser } from '@tiptap/pm/model';
|
|
|
11
11
|
// keeps the CJS interop on our side of the dist boundary.
|
|
12
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
13
|
import { Markdown } from '../markdownExtension.js';
|
|
14
|
-
import { useCollabRoom, getCollabExtensions,
|
|
14
|
+
import { useCollabRoom, getCollabExtensions, useCollabSeed, useToast, } from '@pilotiq/pilotiq/react';
|
|
15
15
|
import { AiSuggestionExtension } from '../extensions/AiSuggestionExtension.js';
|
|
16
16
|
import { AiInlineDiffExtension } from '../extensions/AiInlineDiffExtension.js';
|
|
17
17
|
import { useAiSuggestionBridge } from './useAiSuggestionBridge.js';
|
|
@@ -82,6 +82,10 @@ export function MarkdownEditor({ name, fragmentKey, defaultValue, placeholder, d
|
|
|
82
82
|
const [sourceDraft, setSourceDraft] = useState(defaultValue);
|
|
83
83
|
const [uploading, setUploading] = useState(false);
|
|
84
84
|
const fileInputRef = useRef(null);
|
|
85
|
+
// Toast handle for surfacing upload failures via the host's notification
|
|
86
|
+
// stack. Falls back to a no-op when no ToasterProvider is mounted
|
|
87
|
+
// (`useToast` returns a default context — see Toaster.tsx).
|
|
88
|
+
const { notify } = useToast();
|
|
85
89
|
// Collab extension factory output. Built once per editor mount (the
|
|
86
90
|
// factory closes over the room's ydoc + provider + field name); keyed
|
|
87
91
|
// remount below ensures we never swap it underneath the running editor.
|
|
@@ -205,38 +209,22 @@ export function MarkdownEditor({ name, fragmentKey, defaultValue, placeholder, d
|
|
|
205
209
|
});
|
|
206
210
|
const isDiffActive = useIsAiInlineDiffActive(editor ?? null);
|
|
207
211
|
// First-load seed for collab. Collaboration starts the editor empty
|
|
208
|
-
// regardless of `content`; once the
|
|
209
|
-
//
|
|
210
|
-
// we have an initial value = first session for this
|
|
211
|
-
// the rich-text TiptapEditor seed path and the
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return;
|
|
216
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
217
|
-
const ydoc = room.ydoc;
|
|
212
|
+
// regardless of `content`; once the room's first sync resolves,
|
|
213
|
+
// `useCollabSeed` runs the callback inside `ydoc.transact`. Empty
|
|
214
|
+
// fragment + we have an initial value = first session for this
|
|
215
|
+
// record. Mirrors the rich-text TiptapEditor seed path and the
|
|
216
|
+
// CollabTextRenderer seed. Gates on `editor` so Tiptap v3's deferred
|
|
217
|
+
// `immediatelyRender: false` mount completes first.
|
|
218
|
+
useCollabSeed(editor && collabActive ? room : null, collabName, (doc) => {
|
|
218
219
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
219
|
-
const
|
|
220
|
-
if (
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const cmd = editor.commands.setContent;
|
|
228
|
-
if (cmd)
|
|
229
|
-
cmd(defaultValue);
|
|
230
|
-
}
|
|
231
|
-
setHasSeeded(true);
|
|
232
|
-
}
|
|
233
|
-
catch {
|
|
234
|
-
setHasSeeded(true);
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
return onProviderSynced(provider, trySeed);
|
|
238
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
239
|
-
}, [editor, collabActive, room]);
|
|
220
|
+
const fragment = doc.getXmlFragment(collabName);
|
|
221
|
+
if (fragment && fragment.length === 0 && defaultValue && editor) {
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
223
|
+
const cmd = editor.commands.setContent;
|
|
224
|
+
if (cmd)
|
|
225
|
+
cmd(defaultValue);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
240
228
|
// Source-tab → Editor: parse the textarea back into the editor (this also
|
|
241
229
|
// emits onChange via the editor's onUpdate). One-way during the same flip.
|
|
242
230
|
const enterEditorTab = () => {
|
|
@@ -286,10 +274,26 @@ export function MarkdownEditor({ name, fragmentKey, defaultValue, placeholder, d
|
|
|
286
274
|
if (fileAttachmentsVisibility)
|
|
287
275
|
fd.append('visibility', fileAttachmentsVisibility);
|
|
288
276
|
fd.append('fieldName', name);
|
|
289
|
-
|
|
277
|
+
let res;
|
|
278
|
+
try {
|
|
279
|
+
res = await fetch(uploadUrl, { method: 'POST', body: fd, headers: { Accept: 'application/json' } });
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
// Network-level failure (offline, DNS, etc.) — surface as a
|
|
283
|
+
// toast since the user clicked Upload and would otherwise see
|
|
284
|
+
// only the spinner stop.
|
|
285
|
+
notify({ title: 'Upload failed', body: 'Could not reach the upload endpoint.', type: 'error' });
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
290
288
|
const data = await res.json().catch(() => ({}));
|
|
291
|
-
if (!res.ok || !data.ok || !data.url)
|
|
289
|
+
if (!res.ok || !data.ok || !data.url) {
|
|
290
|
+
notify({
|
|
291
|
+
title: 'Upload failed',
|
|
292
|
+
body: data.error ?? `Upload failed (status ${res.status}).`,
|
|
293
|
+
type: 'error',
|
|
294
|
+
});
|
|
292
295
|
return;
|
|
296
|
+
}
|
|
293
297
|
const isImage = file.type.startsWith('image/');
|
|
294
298
|
if (isImage) {
|
|
295
299
|
editor.chain().focus().setImage({ src: data.url, alt: file.name }).run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.js","sourceRoot":"","sources":["../../src/react/MarkdownEditor.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MarkdownEditor.js","sourceRoot":"","sources":["../../src/react/MarkdownEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { Table, TableRow, TableCell, TableHeader } from '@tiptap/extension-table
|
|
|
14
14
|
import { Details, DetailsSummary, DetailsContent } from '@tiptap/extension-details';
|
|
15
15
|
import { Grid, GridColumn } from '../extensions/GridExtension.js';
|
|
16
16
|
import { Popover } from '@base-ui/react/popover';
|
|
17
|
-
import { useCollabRoom, getCollabExtensions,
|
|
17
|
+
import { useCollabRoom, getCollabExtensions, useCollabSeed, useRowCoords, parseRowFieldPath } from '@pilotiq/pilotiq/react';
|
|
18
18
|
import { useAiSuggestionBridge } from './useAiSuggestionBridge.js';
|
|
19
19
|
import { useAiInlineDiff, useIsAiInlineDiffActive } from './useAiInlineDiff.js';
|
|
20
20
|
import { AiSuggestionBanner } from './AiSuggestionBanner.js';
|
|
@@ -87,6 +87,36 @@ function CollabAwareTiptap(props) {
|
|
|
87
87
|
}
|
|
88
88
|
function ClientEditor(props) {
|
|
89
89
|
const { el, name, defaultValue, placeholder, disabled, room, factory, collabActive } = props;
|
|
90
|
+
// Collab-stable identifier — top-level fields just use `name`, but
|
|
91
|
+
// Repeater / Builder row leaves rebind to a row-id-anchored composite
|
|
92
|
+
// (`metadata.<rowId>.body`) so the `Y.XmlFragment` survives reorders.
|
|
93
|
+
// AI suggestion routing, hidden FormData input, and the inline-diff
|
|
94
|
+
// banner stay on the positional `name` so tool calls referencing the
|
|
95
|
+
// field by its FormData name (`metadata.0.body`) still resolve.
|
|
96
|
+
//
|
|
97
|
+
// Mirrors the `name` + `fragmentKey` split shipped for `MarkdownField`
|
|
98
|
+
// in `@pilotiq/pilotiq@0.20.0` + `@pilotiq/tiptap@3.9.0`. Different
|
|
99
|
+
// mechanics: `MarkdownInput` had an intermediate host wrapper in
|
|
100
|
+
// pilotiq core (because markdown has a textarea fallback path that
|
|
101
|
+
// needs the same composite). `RichTextField` has no fallback —
|
|
102
|
+
// pilotiq core just dispatches the registered renderer with the
|
|
103
|
+
// positional name. So the composite logic lives here, on the only
|
|
104
|
+
// editor that needs it.
|
|
105
|
+
const rowCoords = useRowCoords();
|
|
106
|
+
const collabName = useMemo(() => {
|
|
107
|
+
if (!name.includes('.'))
|
|
108
|
+
return name;
|
|
109
|
+
if (!rowCoords)
|
|
110
|
+
return name;
|
|
111
|
+
const parsed = parseRowFieldPath(name);
|
|
112
|
+
if (!parsed)
|
|
113
|
+
return name;
|
|
114
|
+
if (parsed.arrayName !== rowCoords.arrayName)
|
|
115
|
+
return name;
|
|
116
|
+
if (parsed.index !== rowCoords.rowIndex)
|
|
117
|
+
return name;
|
|
118
|
+
return `${rowCoords.arrayName}.${rowCoords.rowId}.${parsed.fieldName}`;
|
|
119
|
+
}, [name, rowCoords]);
|
|
90
120
|
const blocks = el['blocks'] ?? [];
|
|
91
121
|
const slashEnabled = el['slashCommand'] ?? true;
|
|
92
122
|
const toolbarGroups = el['toolbarGroups'] ?? null;
|
|
@@ -175,7 +205,7 @@ function ClientEditor(props) {
|
|
|
175
205
|
return factory({
|
|
176
206
|
ydoc: room.ydoc,
|
|
177
207
|
provider: room.provider,
|
|
178
|
-
fieldName:
|
|
208
|
+
fieldName: collabName,
|
|
179
209
|
...(room.user ? { user: room.user } : {}),
|
|
180
210
|
});
|
|
181
211
|
// Intentionally deps-stable across renders within the same collab
|
|
@@ -372,46 +402,44 @@ function ClientEditor(props) {
|
|
|
372
402
|
// every render. Re-creation would force the editor to rebuild from
|
|
373
403
|
// scratch on every keystroke.
|
|
374
404
|
useEffect(() => { editorRef.current = editor ?? null; }, [editor]);
|
|
375
|
-
//
|
|
376
|
-
//
|
|
377
|
-
//
|
|
378
|
-
//
|
|
379
|
-
//
|
|
380
|
-
// exactly once. Non-empty = the room already has authoritative state;
|
|
381
|
-
// don't overwrite.
|
|
405
|
+
// Mirror `disabled` onto the live editor at runtime. `useEditor`'s
|
|
406
|
+
// `editable: !disabled` only fires at construction time, so a parent
|
|
407
|
+
// flipping read-only after mount (e.g. policy denial mid-edit, form
|
|
408
|
+
// submitting state) would silently no-op without this effect. Same
|
|
409
|
+
// shape MarkdownEditor.tsx and CollabTextRenderer.tsx already use.
|
|
382
410
|
useEffect(() => {
|
|
383
|
-
if (!editor
|
|
411
|
+
if (!editor)
|
|
384
412
|
return;
|
|
413
|
+
editor.setEditable(!disabled);
|
|
414
|
+
}, [editor, disabled]);
|
|
415
|
+
// First-load seed when collab is active. Collaboration starts the
|
|
416
|
+
// editor empty regardless of `defaultValue`; once the room's first
|
|
417
|
+
// sync resolves, `useCollabSeed` runs the callback inside
|
|
418
|
+
// `ydoc.transact(..., 'pilotiq-collab-seed')`. We check whether the
|
|
419
|
+
// field's `Y.XmlFragment` was ever written — empty + we have an
|
|
420
|
+
// initial value = first session for this record — push the DB
|
|
421
|
+
// content into the ydoc exactly once. Non-empty = the room already
|
|
422
|
+
// has authoritative state; don't overwrite. Gating on `editor` keeps
|
|
423
|
+
// the effect from firing before Tiptap mounts its
|
|
424
|
+
// y-prosemirror binding (Tiptap v3 defers editor construction to
|
|
425
|
+
// first effect under `immediatelyRender: false`).
|
|
426
|
+
useCollabSeed(editor && collabActive ? room : null, collabName, (doc) => {
|
|
385
427
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
// y-prosemirror binding (inside Collaboration) mirrors it
|
|
402
|
-
// into the fragment so every peer sees the seeded state.
|
|
403
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
404
|
-
editor.commands.setContent(initialContent);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
catch { /* ignore — seed is best-effort */ }
|
|
408
|
-
};
|
|
409
|
-
return onProviderSynced(provider, trySeed);
|
|
410
|
-
// `initialContent` resolves once per mount (parsed from defaultValue
|
|
411
|
-
// at the top of this body). The keyed remount above guarantees we
|
|
412
|
-
// get a fresh closure per collab session.
|
|
413
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
414
|
-
}, [editor, collabActive, room, name]);
|
|
428
|
+
const fragment = doc.getXmlFragment(collabName);
|
|
429
|
+
if (fragment &&
|
|
430
|
+
fragment.length === 0 &&
|
|
431
|
+
initialContent !== undefined &&
|
|
432
|
+
initialContent !== null &&
|
|
433
|
+
initialContent !== '' &&
|
|
434
|
+
isTiptapShapedContent(initialContent) &&
|
|
435
|
+
editor) {
|
|
436
|
+
// setContent dispatches a Tiptap transaction; the bound
|
|
437
|
+
// y-prosemirror binding (inside Collaboration) mirrors it
|
|
438
|
+
// into the fragment so every peer sees the seeded state.
|
|
439
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
440
|
+
editor.commands.setContent(initialContent);
|
|
441
|
+
}
|
|
442
|
+
});
|
|
415
443
|
// Cross-package suggestion bridge — sync the host's
|
|
416
444
|
// `<PendingSuggestionsContext>` queue with the editor's `AiSuggestion`
|
|
417
445
|
// extension. No-op when no provider is mounted (default no-op context).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiptapEditor.js","sourceRoot":"","sources":["../../src/react/TiptapEditor.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TiptapEditor.js","sourceRoot":"","sources":["../../src/react/TiptapEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAiInlineDiff.d.ts","sourceRoot":"","sources":["../../src/react/useAiInlineDiff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAA;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAMtE;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,sBAAsB,GAC9B,IAAI,
|
|
1
|
+
{"version":3,"file":"useAiInlineDiff.d.ts","sourceRoot":"","sources":["../../src/react/useAiInlineDiff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAA;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAMtE;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CA8HN"}
|
|
@@ -55,6 +55,21 @@ export function useAiInlineDiff(editor, fieldName, options) {
|
|
|
55
55
|
// so we don't re-start the diff every render or for already-active
|
|
56
56
|
// suggestions.
|
|
57
57
|
const startedRef = useRef(new Set());
|
|
58
|
+
// Re-evaluate the suggestion queue when the editor's doc shape
|
|
59
|
+
// changes. Specifically guards against the seed race: collab-enabled
|
|
60
|
+
// markdown/richtext editors mount empty and seed their content
|
|
61
|
+
// asynchronously after the Yjs provider syncs. A suggestion arriving
|
|
62
|
+
// during that window (or before the first user keystroke) sees an
|
|
63
|
+
// empty doc, `planReplaceBlock` returns null for any blockIndex >= 1,
|
|
64
|
+
// the effect bails — and never re-runs because `list` hasn't changed
|
|
65
|
+
// and React doesn't track ProseMirror's doc state. Watching
|
|
66
|
+
// `doc.childCount` flips the diff-start effect from "ran once at
|
|
67
|
+
// suggestion-push time" to "re-runs when the doc reaches usable
|
|
68
|
+
// shape," which closes the silent no-preview gap.
|
|
69
|
+
const childCount = useEditorState({
|
|
70
|
+
editor,
|
|
71
|
+
selector: ({ editor: ed }) => ed?.state.doc.childCount ?? 0,
|
|
72
|
+
}) ?? 0;
|
|
58
73
|
// Context → editor: start the diff for each new whole-field /
|
|
59
74
|
// surgical-block suggestion. `meta.surgical` (if present) routes to a
|
|
60
75
|
// precise PM transaction; otherwise we treat the suggested value as a
|
|
@@ -126,7 +141,7 @@ export function useAiInlineDiff(editor, fieldName, options) {
|
|
|
126
141
|
if (!contextIds.has(id))
|
|
127
142
|
startedRef.current.delete(id);
|
|
128
143
|
}
|
|
129
|
-
}, [editor, list]);
|
|
144
|
+
}, [editor, list, childCount]);
|
|
130
145
|
// Cross-tree applier — two paths:
|
|
131
146
|
//
|
|
132
147
|
// 1. Review-mode accept. Banner / chat-sidebar pill calls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAiInlineDiff.js","sourceRoot":"","sources":["../../src/react/useAiInlineDiff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EACL,gCAAgC,EAChC,6BAA6B,GAG9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GAGpB,MAAM,mBAAmB,CAAA;AAkB1B;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,MAAM;QACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI;KACxF,CAAC,CAAA;IACF,OAAO,MAAM,IAAI,KAAK,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,SAAiB,EACjB,OAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAA;IAEzD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAChD,SAAS,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe,CAAA,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;IAE1F,kEAAkE;IAClE,mEAAmE;IACnE,eAAe;IACf,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAA;IAEjD,8DAA8D;IAC9D,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAQ;YAC1C,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;YACxE,MAAM,QAAQ,GAAK,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAEtC,mEAAmE;YACnE,+DAA+D;YAC/D,4DAA4D;YAC5D,8DAA8D;YAC9D,gEAAgE;YAChE,kEAAkE;YAClE,iEAAiE;YACjE,8DAA8D;YAC9D,8DAA8D;YAC9D,iEAAiE;YACjE,6DAA6D;YAC7D,2BAA2B;YAC3B,EAAE;YACF,6DAA6D;YAC7D,2DAA2D;YAC3D,oDAAoD;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBACvD,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;oBAC3C,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,EAAE,CAAC,UAAU;wBAAE,OAAO,KAAK,CAAA;oBAChC,IAAI,QAAQ;wBAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAC1B,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,CAAA;gBACF,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC5B,SAAQ;YACV,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBACvD,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;gBACzD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC5B,SAAQ;YACV,CAAC;YAED,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ;gBAAE,SAAQ;YAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC9C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,kEAAkE;QAClE,oEAAoE;QACpE,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useAiInlineDiff.js","sourceRoot":"","sources":["../../src/react/useAiInlineDiff.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pilotiq/tiptap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.1",
|
|
4
4
|
"description": "Tiptap rich-text editor adapter for @pilotiq/pilotiq — slash menu, draggable blocks, custom-block API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"react-dom": "^19",
|
|
84
84
|
"tiptap-markdown": "^0.9",
|
|
85
85
|
"typescript": "^5",
|
|
86
|
-
"@pilotiq/pilotiq": "^0.
|
|
86
|
+
"@pilotiq/pilotiq": "^0.22.0"
|
|
87
87
|
},
|
|
88
88
|
"author": "Suleiman Shahbari",
|
|
89
89
|
"scripts": {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useEffect, useMemo
|
|
1
|
+
import { useEffect, useMemo } from 'react'
|
|
2
2
|
import { useEditor, EditorContent, type Extension } from '@tiptap/react'
|
|
3
3
|
import type { AnyExtension } from '@tiptap/core'
|
|
4
4
|
import {
|
|
5
5
|
useCollabRoom,
|
|
6
6
|
getCollabExtensions,
|
|
7
|
-
|
|
7
|
+
useCollabSeed,
|
|
8
8
|
type CollabTextRendererProps,
|
|
9
9
|
} from '@pilotiq/pilotiq/react'
|
|
10
10
|
import { createPlainTextEditor, plainTextOf, plainTextToDoc } from '../PlainTextEditor.js'
|
|
@@ -36,6 +36,7 @@ import { useAiSuggestionBridge } from './useAiSuggestionBridge.js'
|
|
|
36
36
|
*/
|
|
37
37
|
export function CollabTextRenderer({
|
|
38
38
|
name,
|
|
39
|
+
fragmentKey,
|
|
39
40
|
multiline,
|
|
40
41
|
defaultValue,
|
|
41
42
|
placeholder,
|
|
@@ -50,6 +51,15 @@ export function CollabTextRenderer({
|
|
|
50
51
|
const factory = getCollabExtensions()
|
|
51
52
|
const collabActive = !!(room && factory)
|
|
52
53
|
|
|
54
|
+
// Collab-stable identifier — `name` on top-level fields, but the
|
|
55
|
+
// row-id-anchored composite (`items.<rowId>.title`) on Repeater /
|
|
56
|
+
// Builder row leaves so the Y.XmlFragment survives reorders. Routes
|
|
57
|
+
// ONLY into the collab branches (factory + first-load seed); AI
|
|
58
|
+
// suggestion bridge + onChange + hidden FormData input stay on
|
|
59
|
+
// `name` (the positional FormData path) so AI tool calls referencing
|
|
60
|
+
// the field by its FormData name still reach the editor.
|
|
61
|
+
const collabName = fragmentKey ?? name
|
|
62
|
+
|
|
53
63
|
// Built once per editor mount. The factory closes over the room's `ydoc`
|
|
54
64
|
// + `provider` and the field name to produce a `Collaboration` (and
|
|
55
65
|
// optional `CollaborationCursor`) extension targeting the field's
|
|
@@ -59,7 +69,7 @@ export function CollabTextRenderer({
|
|
|
59
69
|
return factory({
|
|
60
70
|
ydoc: room.ydoc,
|
|
61
71
|
provider: room.provider,
|
|
62
|
-
fieldName:
|
|
72
|
+
fieldName: collabName,
|
|
63
73
|
...(room.user ? { user: room.user } : {}),
|
|
64
74
|
}) as Extension[]
|
|
65
75
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -144,41 +154,27 @@ export function CollabTextRenderer({
|
|
|
144
154
|
})
|
|
145
155
|
|
|
146
156
|
// First-load seed when collab is active. Collaboration starts the editor
|
|
147
|
-
// empty regardless of `defaultValue`; once the
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
//
|
|
157
|
+
// empty regardless of `defaultValue`; once the room's first sync
|
|
158
|
+
// resolves, `useCollabSeed` runs the callback inside `ydoc.transact`.
|
|
159
|
+
// Empty fragment + we have an initial value = first session for this
|
|
160
|
+
// record — push the SSR-rendered default into the editor once.
|
|
151
161
|
//
|
|
152
162
|
// Race caveat: two peers simultaneously mounting against a brand-new
|
|
153
163
|
// record (both seeing `fragment.length === 0`) can both seed and produce
|
|
154
164
|
// duplicated text. Same window as `TiptapEditor`'s rich-text seed path.
|
|
155
165
|
// Acceptable for now; can be tightened later via a deterministic
|
|
156
166
|
// first-writer election or a server-side seed handoff.
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const trySeed = (): void => {
|
|
167
|
-
try {
|
|
168
|
-
const fragment = ydoc.getXmlFragment(name)
|
|
169
|
-
if (fragment && fragment.length === 0 && defaultValue) {
|
|
170
|
-
editor.commands.setContent(plainTextToDoc(defaultValue, multiline))
|
|
171
|
-
}
|
|
172
|
-
setHasSeeded(true)
|
|
173
|
-
} catch {
|
|
174
|
-
setHasSeeded(true)
|
|
167
|
+
useCollabSeed(
|
|
168
|
+
editor && collabActive ? room : null,
|
|
169
|
+
collabName,
|
|
170
|
+
(doc) => {
|
|
171
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
172
|
+
const fragment = (doc as any).getXmlFragment(collabName)
|
|
173
|
+
if (fragment && fragment.length === 0 && defaultValue && editor) {
|
|
174
|
+
editor.commands.setContent(plainTextToDoc(defaultValue, multiline))
|
|
175
175
|
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
return onProviderSynced(provider, trySeed)
|
|
179
|
-
// Seed once per editor instance — keyed remount above resets `hasSeeded`.
|
|
180
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
181
|
-
}, [editor, collabActive, room])
|
|
176
|
+
},
|
|
177
|
+
)
|
|
182
178
|
|
|
183
179
|
// Bubble the editor's blur event up to the host. Tiptap exposes this via
|
|
184
180
|
// `editor.on('blur', ...)`. The simpler `onBlur` prop on `EditorContent`
|
|
@@ -14,7 +14,8 @@ import { Markdown } from '../markdownExtension.js'
|
|
|
14
14
|
import {
|
|
15
15
|
useCollabRoom,
|
|
16
16
|
getCollabExtensions,
|
|
17
|
-
|
|
17
|
+
useCollabSeed,
|
|
18
|
+
useToast,
|
|
18
19
|
type MarkdownEditorProps,
|
|
19
20
|
} from '@pilotiq/pilotiq/react'
|
|
20
21
|
import { AiSuggestionExtension } from '../extensions/AiSuggestionExtension.js'
|
|
@@ -180,6 +181,10 @@ export function MarkdownEditor({
|
|
|
180
181
|
const [sourceDraft, setSourceDraft] = useState<string>(defaultValue)
|
|
181
182
|
const [uploading, setUploading] = useState(false)
|
|
182
183
|
const fileInputRef = useRef<HTMLInputElement | null>(null)
|
|
184
|
+
// Toast handle for surfacing upload failures via the host's notification
|
|
185
|
+
// stack. Falls back to a no-op when no ToasterProvider is mounted
|
|
186
|
+
// (`useToast` returns a default context — see Toaster.tsx).
|
|
187
|
+
const { notify } = useToast()
|
|
183
188
|
|
|
184
189
|
// Collab extension factory output. Built once per editor mount (the
|
|
185
190
|
// factory closes over the room's ydoc + provider + field name); keyed
|
|
@@ -304,36 +309,25 @@ export function MarkdownEditor({
|
|
|
304
309
|
const isDiffActive = useIsAiInlineDiffActive(editor ?? null)
|
|
305
310
|
|
|
306
311
|
// First-load seed for collab. Collaboration starts the editor empty
|
|
307
|
-
// regardless of `content`; once the
|
|
308
|
-
//
|
|
309
|
-
// we have an initial value = first session for this
|
|
310
|
-
// the rich-text TiptapEditor seed path and the
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
if (fragment && fragment.length === 0 && defaultValue) {
|
|
324
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
325
|
-
const cmd = (editor.commands as any).setContent
|
|
326
|
-
if (cmd) cmd(defaultValue)
|
|
327
|
-
}
|
|
328
|
-
setHasSeeded(true)
|
|
329
|
-
} catch {
|
|
330
|
-
setHasSeeded(true)
|
|
312
|
+
// regardless of `content`; once the room's first sync resolves,
|
|
313
|
+
// `useCollabSeed` runs the callback inside `ydoc.transact`. Empty
|
|
314
|
+
// fragment + we have an initial value = first session for this
|
|
315
|
+
// record. Mirrors the rich-text TiptapEditor seed path and the
|
|
316
|
+
// CollabTextRenderer seed. Gates on `editor` so Tiptap v3's deferred
|
|
317
|
+
// `immediatelyRender: false` mount completes first.
|
|
318
|
+
useCollabSeed(
|
|
319
|
+
editor && collabActive ? room : null,
|
|
320
|
+
collabName,
|
|
321
|
+
(doc) => {
|
|
322
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
323
|
+
const fragment = (doc as any).getXmlFragment(collabName)
|
|
324
|
+
if (fragment && fragment.length === 0 && defaultValue && editor) {
|
|
325
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
326
|
+
const cmd = (editor.commands as any).setContent
|
|
327
|
+
if (cmd) cmd(defaultValue)
|
|
331
328
|
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return onProviderSynced(provider, trySeed)
|
|
335
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
336
|
-
}, [editor, collabActive, room])
|
|
329
|
+
},
|
|
330
|
+
)
|
|
337
331
|
|
|
338
332
|
// Source-tab → Editor: parse the textarea back into the editor (this also
|
|
339
333
|
// emits onChange via the editor's onUpdate). One-way during the same flip.
|
|
@@ -381,9 +375,25 @@ export function MarkdownEditor({
|
|
|
381
375
|
if (fileAttachmentsDirectory) fd.append('directory', fileAttachmentsDirectory)
|
|
382
376
|
if (fileAttachmentsVisibility) fd.append('visibility', fileAttachmentsVisibility)
|
|
383
377
|
fd.append('fieldName', name)
|
|
384
|
-
|
|
378
|
+
let res: Response
|
|
379
|
+
try {
|
|
380
|
+
res = await fetch(uploadUrl, { method: 'POST', body: fd, headers: { Accept: 'application/json' } })
|
|
381
|
+
} catch {
|
|
382
|
+
// Network-level failure (offline, DNS, etc.) — surface as a
|
|
383
|
+
// toast since the user clicked Upload and would otherwise see
|
|
384
|
+
// only the spinner stop.
|
|
385
|
+
notify({ title: 'Upload failed', body: 'Could not reach the upload endpoint.', type: 'error' })
|
|
386
|
+
return
|
|
387
|
+
}
|
|
385
388
|
const data = await res.json().catch(() => ({} as { ok?: boolean; url?: string; error?: string }))
|
|
386
|
-
if (!res.ok || !data.ok || !data.url)
|
|
389
|
+
if (!res.ok || !data.ok || !data.url) {
|
|
390
|
+
notify({
|
|
391
|
+
title: 'Upload failed',
|
|
392
|
+
body: data.error ?? `Upload failed (status ${res.status}).`,
|
|
393
|
+
type: 'error',
|
|
394
|
+
})
|
|
395
|
+
return
|
|
396
|
+
}
|
|
387
397
|
const isImage = file.type.startsWith('image/')
|
|
388
398
|
if (isImage) {
|
|
389
399
|
editor.chain().focus().setImage({ src: data.url, alt: file.name }).run()
|
|
@@ -18,7 +18,7 @@ import type {
|
|
|
18
18
|
CollabRoom,
|
|
19
19
|
CollabExtensionFactory,
|
|
20
20
|
} from '@pilotiq/pilotiq/react'
|
|
21
|
-
import { useCollabRoom, getCollabExtensions,
|
|
21
|
+
import { useCollabRoom, getCollabExtensions, useCollabSeed, useRowCoords, parseRowFieldPath } from '@pilotiq/pilotiq/react'
|
|
22
22
|
import { useAiSuggestionBridge } from './useAiSuggestionBridge.js'
|
|
23
23
|
import { useAiInlineDiff, useIsAiInlineDiffActive } from './useAiInlineDiff.js'
|
|
24
24
|
import { AiSuggestionBanner } from './AiSuggestionBanner.js'
|
|
@@ -130,6 +130,32 @@ interface ClientEditorProps extends FieldRendererProps {
|
|
|
130
130
|
function ClientEditor(props: ClientEditorProps) {
|
|
131
131
|
const { el, name, defaultValue, placeholder, disabled, room, factory, collabActive } = props
|
|
132
132
|
|
|
133
|
+
// Collab-stable identifier — top-level fields just use `name`, but
|
|
134
|
+
// Repeater / Builder row leaves rebind to a row-id-anchored composite
|
|
135
|
+
// (`metadata.<rowId>.body`) so the `Y.XmlFragment` survives reorders.
|
|
136
|
+
// AI suggestion routing, hidden FormData input, and the inline-diff
|
|
137
|
+
// banner stay on the positional `name` so tool calls referencing the
|
|
138
|
+
// field by its FormData name (`metadata.0.body`) still resolve.
|
|
139
|
+
//
|
|
140
|
+
// Mirrors the `name` + `fragmentKey` split shipped for `MarkdownField`
|
|
141
|
+
// in `@pilotiq/pilotiq@0.20.0` + `@pilotiq/tiptap@3.9.0`. Different
|
|
142
|
+
// mechanics: `MarkdownInput` had an intermediate host wrapper in
|
|
143
|
+
// pilotiq core (because markdown has a textarea fallback path that
|
|
144
|
+
// needs the same composite). `RichTextField` has no fallback —
|
|
145
|
+
// pilotiq core just dispatches the registered renderer with the
|
|
146
|
+
// positional name. So the composite logic lives here, on the only
|
|
147
|
+
// editor that needs it.
|
|
148
|
+
const rowCoords = useRowCoords()
|
|
149
|
+
const collabName = useMemo<string>(() => {
|
|
150
|
+
if (!name.includes('.')) return name
|
|
151
|
+
if (!rowCoords) return name
|
|
152
|
+
const parsed = parseRowFieldPath(name)
|
|
153
|
+
if (!parsed) return name
|
|
154
|
+
if (parsed.arrayName !== rowCoords.arrayName) return name
|
|
155
|
+
if (parsed.index !== rowCoords.rowIndex) return name
|
|
156
|
+
return `${rowCoords.arrayName}.${rowCoords.rowId}.${parsed.fieldName}`
|
|
157
|
+
}, [name, rowCoords])
|
|
158
|
+
|
|
133
159
|
const blocks = (el['blocks'] as BlockMeta[] | undefined) ?? []
|
|
134
160
|
const slashEnabled = (el['slashCommand'] as boolean | undefined) ?? true
|
|
135
161
|
const toolbarGroups = (el['toolbarGroups'] as ToolbarGroups | null | undefined) ?? null
|
|
@@ -222,7 +248,7 @@ function ClientEditor(props: ClientEditorProps) {
|
|
|
222
248
|
return factory({
|
|
223
249
|
ydoc: room.ydoc,
|
|
224
250
|
provider: room.provider,
|
|
225
|
-
fieldName:
|
|
251
|
+
fieldName: collabName,
|
|
226
252
|
...(room.user ? { user: room.user } : {}),
|
|
227
253
|
})
|
|
228
254
|
// Intentionally deps-stable across renders within the same collab
|
|
@@ -423,47 +449,50 @@ function ClientEditor(props: ClientEditorProps) {
|
|
|
423
449
|
// scratch on every keystroke.
|
|
424
450
|
useEffect(() => { editorRef.current = editor ?? null }, [editor])
|
|
425
451
|
|
|
426
|
-
//
|
|
427
|
-
//
|
|
428
|
-
//
|
|
429
|
-
//
|
|
430
|
-
//
|
|
431
|
-
// exactly once. Non-empty = the room already has authoritative state;
|
|
432
|
-
// don't overwrite.
|
|
452
|
+
// Mirror `disabled` onto the live editor at runtime. `useEditor`'s
|
|
453
|
+
// `editable: !disabled` only fires at construction time, so a parent
|
|
454
|
+
// flipping read-only after mount (e.g. policy denial mid-edit, form
|
|
455
|
+
// submitting state) would silently no-op without this effect. Same
|
|
456
|
+
// shape MarkdownEditor.tsx and CollabTextRenderer.tsx already use.
|
|
433
457
|
useEffect(() => {
|
|
434
|
-
if (!editor
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
438
|
-
const ydoc = room.ydoc as any
|
|
439
|
-
if (!provider || !ydoc) return
|
|
440
|
-
|
|
441
|
-
const trySeed = () => {
|
|
442
|
-
try {
|
|
443
|
-
const fragment = ydoc.getXmlFragment(name)
|
|
444
|
-
if (
|
|
445
|
-
fragment &&
|
|
446
|
-
fragment.length === 0 &&
|
|
447
|
-
initialContent !== undefined &&
|
|
448
|
-
initialContent !== null &&
|
|
449
|
-
initialContent !== '' &&
|
|
450
|
-
isTiptapShapedContent(initialContent)
|
|
451
|
-
) {
|
|
452
|
-
// setContent dispatches a Tiptap transaction; the bound
|
|
453
|
-
// y-prosemirror binding (inside Collaboration) mirrors it
|
|
454
|
-
// into the fragment so every peer sees the seeded state.
|
|
455
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
456
|
-
editor.commands.setContent(initialContent as any)
|
|
457
|
-
}
|
|
458
|
-
} catch { /* ignore — seed is best-effort */ }
|
|
459
|
-
}
|
|
458
|
+
if (!editor) return
|
|
459
|
+
editor.setEditable(!disabled)
|
|
460
|
+
}, [editor, disabled])
|
|
460
461
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
462
|
+
// First-load seed when collab is active. Collaboration starts the
|
|
463
|
+
// editor empty regardless of `defaultValue`; once the room's first
|
|
464
|
+
// sync resolves, `useCollabSeed` runs the callback inside
|
|
465
|
+
// `ydoc.transact(..., 'pilotiq-collab-seed')`. We check whether the
|
|
466
|
+
// field's `Y.XmlFragment` was ever written — empty + we have an
|
|
467
|
+
// initial value = first session for this record — push the DB
|
|
468
|
+
// content into the ydoc exactly once. Non-empty = the room already
|
|
469
|
+
// has authoritative state; don't overwrite. Gating on `editor` keeps
|
|
470
|
+
// the effect from firing before Tiptap mounts its
|
|
471
|
+
// y-prosemirror binding (Tiptap v3 defers editor construction to
|
|
472
|
+
// first effect under `immediatelyRender: false`).
|
|
473
|
+
useCollabSeed(
|
|
474
|
+
editor && collabActive ? room : null,
|
|
475
|
+
collabName,
|
|
476
|
+
(doc) => {
|
|
477
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
478
|
+
const fragment = (doc as any).getXmlFragment(collabName)
|
|
479
|
+
if (
|
|
480
|
+
fragment &&
|
|
481
|
+
fragment.length === 0 &&
|
|
482
|
+
initialContent !== undefined &&
|
|
483
|
+
initialContent !== null &&
|
|
484
|
+
initialContent !== '' &&
|
|
485
|
+
isTiptapShapedContent(initialContent) &&
|
|
486
|
+
editor
|
|
487
|
+
) {
|
|
488
|
+
// setContent dispatches a Tiptap transaction; the bound
|
|
489
|
+
// y-prosemirror binding (inside Collaboration) mirrors it
|
|
490
|
+
// into the fragment so every peer sees the seeded state.
|
|
491
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
492
|
+
editor.commands.setContent(initialContent as any)
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
)
|
|
467
496
|
|
|
468
497
|
// Cross-package suggestion bridge — sync the host's
|
|
469
498
|
// `<PendingSuggestionsContext>` queue with the editor's `AiSuggestion`
|
|
@@ -95,6 +95,22 @@ export function useAiInlineDiff(
|
|
|
95
95
|
// suggestions.
|
|
96
96
|
const startedRef = useRef<Set<string>>(new Set())
|
|
97
97
|
|
|
98
|
+
// Re-evaluate the suggestion queue when the editor's doc shape
|
|
99
|
+
// changes. Specifically guards against the seed race: collab-enabled
|
|
100
|
+
// markdown/richtext editors mount empty and seed their content
|
|
101
|
+
// asynchronously after the Yjs provider syncs. A suggestion arriving
|
|
102
|
+
// during that window (or before the first user keystroke) sees an
|
|
103
|
+
// empty doc, `planReplaceBlock` returns null for any blockIndex >= 1,
|
|
104
|
+
// the effect bails — and never re-runs because `list` hasn't changed
|
|
105
|
+
// and React doesn't track ProseMirror's doc state. Watching
|
|
106
|
+
// `doc.childCount` flips the diff-start effect from "ran once at
|
|
107
|
+
// suggestion-push time" to "re-runs when the doc reaches usable
|
|
108
|
+
// shape," which closes the silent no-preview gap.
|
|
109
|
+
const childCount = useEditorState({
|
|
110
|
+
editor,
|
|
111
|
+
selector: ({ editor: ed }) => ed?.state.doc.childCount ?? 0,
|
|
112
|
+
}) ?? 0
|
|
113
|
+
|
|
98
114
|
// Context → editor: start the diff for each new whole-field /
|
|
99
115
|
// surgical-block suggestion. `meta.surgical` (if present) routes to a
|
|
100
116
|
// precise PM transaction; otherwise we treat the suggested value as a
|
|
@@ -159,7 +175,7 @@ export function useAiInlineDiff(
|
|
|
159
175
|
for (const id of Array.from(startedRef.current)) {
|
|
160
176
|
if (!contextIds.has(id)) startedRef.current.delete(id)
|
|
161
177
|
}
|
|
162
|
-
}, [editor, list])
|
|
178
|
+
}, [editor, list, childCount])
|
|
163
179
|
|
|
164
180
|
// Cross-tree applier — two paths:
|
|
165
181
|
//
|