@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.
@@ -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,CA6J9C"}
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, useState } from 'react';
2
+ import { useEffect, useMemo } from 'react';
3
3
  import { useEditor, EditorContent } from '@tiptap/react';
4
- import { useCollabRoom, getCollabExtensions, onProviderSynced, } from '@pilotiq/pilotiq/react';
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: name,
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 provider syncs the room
127
- // state from the server we check whether the field's `Y.XmlFragment`
128
- // was ever written. Empty + we have an initial value = first session for
129
- // this record — push the SSR-rendered default into the editor once.
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
- const [hasSeeded, setHasSeeded] = useState(false);
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 ydoc = room.ydoc;
142
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
- const provider = room.provider;
144
- if (!ydoc || !provider)
145
- return;
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":"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"}
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,EAIL,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,CAgZjD"}
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, onProviderSynced, } from '@pilotiq/pilotiq/react';
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 provider syncs from the server we
209
- // check whether the field's `Y.XmlFragment` was ever written. Empty +
210
- // we have an initial value = first session for this record. Mirrors
211
- // the rich-text TiptapEditor seed path and the CollabTextRenderer seed.
212
- const [hasSeeded, setHasSeeded] = useState(false);
213
- useEffect(() => {
214
- if (!editor || !collabActive || !room || hasSeeded)
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 provider = room.provider;
220
- if (!ydoc || !provider)
221
- return;
222
- const trySeed = () => {
223
- try {
224
- const fragment = ydoc.getXmlFragment(collabName);
225
- if (fragment && fragment.length === 0 && defaultValue) {
226
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
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
- const res = await fetch(uploadUrl, { method: 'POST', body: fd, headers: { Accept: 'application/json' } });
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, onProviderSynced } from '@pilotiq/pilotiq/react';
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: name,
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
- // First-load seed when collab is active. Collaboration starts the
376
- // editor empty regardless of `defaultValue`; once the WebsocketProvider
377
- // syncs the room state from the server we check whether the field's
378
- // Y.XmlFragment was ever written. Empty + we have an initial value =
379
- // first session for this record — push the DB content into the ydoc
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 || !collabActive || !room)
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 provider = room.provider;
387
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
388
- const ydoc = room.ydoc;
389
- if (!provider || !ydoc)
390
- return;
391
- const trySeed = () => {
392
- try {
393
- const fragment = ydoc.getXmlFragment(name);
394
- if (fragment &&
395
- fragment.length === 0 &&
396
- initialContent !== undefined &&
397
- initialContent !== null &&
398
- initialContent !== '' &&
399
- isTiptapShapedContent(initialContent)) {
400
- // setContent dispatches a Tiptap transaction; the bound
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,CA8GN"}
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":"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"}
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,+DAA+D;IAC/D,qEAAqE;IACrE,+DAA+D;IAC/D,qEAAqE;IACrE,kEAAkE;IAClE,sEAAsE;IACtE,qEAAqE;IACrE,4DAA4D;IAC5D,iEAAiE;IACjE,gEAAgE;IAChE,kDAAkD;IAClD,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,MAAM;QACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC;KAC5D,CAAC,IAAI,CAAC,CAAA;IAEP,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,EAAE,UAAU,CAAC,CAAC,CAAA;IAE9B,kCAAkC;IAClC,EAAE;IACF,4DAA4D;IAC5D,uEAAuE;IACvE,qEAAqE;IACrE,uBAAuB;IACvB,sEAAsE;IACtE,iEAAiE;IACjE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,kEAAkE;IAClE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,OAAO,GAA6B,CAAC,UAAU,EAAE,EAAE;YACvD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAA;gBACpC,OAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACvD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC3C,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACZ,IAAI,CAAC,EAAE,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAA;gBAChC,IAAI,QAAQ;oBAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC1B,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,OAAO,gCAAgC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,CAAoB;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAA;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAiD,CAAA;IACjF,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;AACpF,CAAC;AAyBD,SAAS,eAAe,CAAC,GAA4B;IACnD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;IACpC,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC/C,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,eAAe,CAAC;QACrB,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;YAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;YAC5C,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;QACpC,CAAC;QACD,KAAK,cAAc;YACjB,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAA;QAC3B,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAI,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAiD,CAAA;YAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACzF,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YAC3C,OAAO;gBACL,EAAE;gBACF,UAAU;gBACV,IAAI;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;gBACzC,KAAK;gBACL,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3F,CAAA;QACH,CAAC;QACD;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAoB;IAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAA;IACtD,MAAM,GAAG,GAAI,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAChD,MAAM,GAAG,GAAG,GAA8B,CAAA;IAC1C,yCAAyC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAQ;YACjD,MAAM,EAAE,GAAG,eAAe,CAAC,KAAgC,CAAC,CAAA;YAC5D,IAAI,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;IACxB,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,MAAM,CAAC,MAAc,EAAE,EAAc;IAC5C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACd,KAAK,eAAe,CAAC,CAAO,OAAO,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QACtF,KAAK,qBAAqB,CAAC,CAAC,OAAO,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QAC3F,KAAK,cAAc,CAAC,CAAQ,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;QACzE,KAAK,mBAAmB,CAAC,CAAG,OAAO,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IACtH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAAC,MAAc,EAAE,QAAsB;IAClE,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;QAC5E,MAAM,SAAS,GAA0B,EAAE,CAAA;QAC3C,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC9B,IAAI,GAAG;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACvC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,SAAS;YAAE,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilotiq/tiptap",
3
- "version": "3.9.0",
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.20.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, useState } from 'react'
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
- onProviderSynced,
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: name,
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 provider syncs the room
148
- // state from the server we check whether the field's `Y.XmlFragment`
149
- // was ever written. Empty + we have an initial value = first session for
150
- // this record — push the SSR-rendered default into the editor once.
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
- const [hasSeeded, setHasSeeded] = useState(false)
158
- useEffect(() => {
159
- if (!editor || !collabActive || !room || hasSeeded) return
160
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
161
- const ydoc = room.ydoc as any
162
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
- const provider = room.provider as any
164
- if (!ydoc || !provider) return
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
- onProviderSynced,
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 provider syncs from the server we
308
- // check whether the field's `Y.XmlFragment` was ever written. Empty +
309
- // we have an initial value = first session for this record. Mirrors
310
- // the rich-text TiptapEditor seed path and the CollabTextRenderer seed.
311
- const [hasSeeded, setHasSeeded] = useState(false)
312
- useEffect(() => {
313
- if (!editor || !collabActive || !room || hasSeeded) return
314
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
315
- const ydoc = room.ydoc as any
316
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
317
- const provider = room.provider as any
318
- if (!ydoc || !provider) return
319
-
320
- const trySeed = (): void => {
321
- try {
322
- const fragment = ydoc.getXmlFragment(collabName)
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
- const res = await fetch(uploadUrl, { method: 'POST', body: fd, headers: { Accept: 'application/json' } })
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) return
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, onProviderSynced } from '@pilotiq/pilotiq/react'
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: name,
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
- // First-load seed when collab is active. Collaboration starts the
427
- // editor empty regardless of `defaultValue`; once the WebsocketProvider
428
- // syncs the room state from the server we check whether the field's
429
- // Y.XmlFragment was ever written. Empty + we have an initial value =
430
- // first session for this record — push the DB content into the ydoc
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 || !collabActive || !room) return
435
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
436
- const provider = room.provider as any
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
- return onProviderSynced(provider, trySeed)
462
- // `initialContent` resolves once per mount (parsed from defaultValue
463
- // at the top of this body). The keyed remount above guarantees we
464
- // get a fresh closure per collab session.
465
- // eslint-disable-next-line react-hooks/exhaustive-deps
466
- }, [editor, collabActive, room, name])
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
  //