@agent-native/toolkit 0.10.4 → 0.10.6

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.
Files changed (41) hide show
  1. package/README.md +8 -1
  2. package/agent-native.eject.json +1 -1
  3. package/dist/app-shell/index.d.ts +1 -0
  4. package/dist/app-shell/index.d.ts.map +1 -1
  5. package/dist/app-shell/index.js +1 -0
  6. package/dist/app-shell/index.js.map +1 -1
  7. package/dist/app-shell/sidebar-footer-actions.d.ts +15 -0
  8. package/dist/app-shell/sidebar-footer-actions.d.ts.map +1 -0
  9. package/dist/app-shell/sidebar-footer-actions.js +10 -0
  10. package/dist/app-shell/sidebar-footer-actions.js.map +1 -0
  11. package/dist/app-shell/sidebar-footer-actions.spec.d.ts +2 -0
  12. package/dist/app-shell/sidebar-footer-actions.spec.d.ts.map +1 -0
  13. package/dist/app-shell/sidebar-footer-actions.spec.js +35 -0
  14. package/dist/app-shell/sidebar-footer-actions.spec.js.map +1 -0
  15. package/dist/chat-history.css +52 -1
  16. package/dist/design-system/default-adapter.js +1 -1
  17. package/dist/design-system/default-adapter.js.map +1 -1
  18. package/dist/editor/useCollabReconcile.concurrent.spec.js +240 -1
  19. package/dist/editor/useCollabReconcile.concurrent.spec.js.map +1 -1
  20. package/dist/editor/useCollabReconcile.d.ts.map +1 -1
  21. package/dist/editor/useCollabReconcile.js +77 -13
  22. package/dist/editor/useCollabReconcile.js.map +1 -1
  23. package/dist/ui/button.d.ts.map +1 -1
  24. package/dist/ui/button.js +1 -1
  25. package/dist/ui/button.js.map +1 -1
  26. package/dist/ui/card.js +1 -1
  27. package/dist/ui/card.js.map +1 -1
  28. package/dist/ui/table.d.ts.map +1 -1
  29. package/dist/ui/table.js +4 -4
  30. package/dist/ui/table.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/app-shell/index.ts +1 -0
  33. package/src/app-shell/sidebar-footer-actions.spec.tsx +65 -0
  34. package/src/app-shell/sidebar-footer-actions.tsx +48 -0
  35. package/src/chat-history.css +52 -1
  36. package/src/design-system/default-adapter.tsx +1 -1
  37. package/src/editor/useCollabReconcile.concurrent.spec.ts +270 -1
  38. package/src/editor/useCollabReconcile.ts +83 -15
  39. package/src/ui/button.tsx +1 -2
  40. package/src/ui/card.tsx +1 -1
  41. package/src/ui/table.tsx +4 -11
package/README.md CHANGED
@@ -45,7 +45,10 @@ import { VisibilityBadge } from "@agent-native/toolkit/sharing";
45
45
  import { Button } from "@agent-native/toolkit/ui/button";
46
46
  import { Toaster } from "@agent-native/toolkit/ui/sonner";
47
47
  import { useToast } from "@agent-native/toolkit/hooks/use-toast";
48
- import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
48
+ import {
49
+ SidebarFooterActions,
50
+ useSetHeaderActions,
51
+ } from "@agent-native/toolkit/app-shell";
49
52
  ```
50
53
 
51
54
  Import `@agent-native/toolkit/styles.css` after Tailwind to include Toolkit's
@@ -59,6 +62,10 @@ action in a footer row with the ellipsis disclosure on its right. The app
59
62
  continues to own thread persistence, sorting, routing, and mutations through
60
63
  Core.
61
64
 
65
+ Use `SidebarFooterActions` for the shared left-sidebar utility row. Provide the
66
+ app-owned controls through its slots; the rendered order is feedback, translate,
67
+ search, then collapse, with the same order stacked in collapsed sidebars.
68
+
62
69
  Inside template apps, prefer local adapters such as `@/components/ui/button` so
63
70
  apps can replace their primitives without changing every callsite.
64
71
 
@@ -94,7 +94,7 @@
94
94
  "strategy": "source-copy",
95
95
  "sourceEntries": ["src/app-shell"],
96
96
  "targetRoot": "app/components/agent-native/toolkit",
97
- "dependencies": ["react"],
97
+ "dependencies": ["clsx", "react", "tailwind-merge"],
98
98
  "verification": ["pnpm typecheck"]
99
99
  },
100
100
  {
@@ -1,2 +1,3 @@
1
1
  export * from "./header-actions.js";
2
+ export * from "./sidebar-footer-actions.js";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app-shell/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app-shell/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./header-actions.js";
2
+ export * from "./sidebar-footer-actions.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app-shell/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app-shell/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SidebarFooterActionsProps {
3
+ feedback?: ReactNode;
4
+ translate?: ReactNode;
5
+ search?: ReactNode;
6
+ collapse?: ReactNode;
7
+ collapsed?: boolean;
8
+ className?: string;
9
+ }
10
+ /**
11
+ * Keeps the shared left-sidebar utility order stable while apps provide their
12
+ * own controls and behavior.
13
+ */
14
+ export declare function SidebarFooterActions({ feedback, translate, search, collapse, collapsed, className, }: SidebarFooterActionsProps): import("react").JSX.Element;
15
+ //# sourceMappingURL=sidebar-footer-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-footer-actions.d.ts","sourceRoot":"","sources":["../../src/app-shell/sidebar-footer-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAiB,EACjB,SAAS,GACV,EAAE,yBAAyB,+BAuB3B"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../utils.js";
3
+ /**
4
+ * Keeps the shared left-sidebar utility order stable while apps provide their
5
+ * own controls and behavior.
6
+ */
7
+ export function SidebarFooterActions({ feedback, translate, search, collapse, collapsed = false, className, }) {
8
+ return (_jsxs("div", { className: cn("flex items-center gap-1", collapsed ? "flex-col px-1 py-1" : "min-w-0 justify-end px-3 py-2", className), "data-sidebar-footer-actions": true, children: [feedback ? (_jsx("div", { className: cn("min-w-0", !collapsed && "flex-1"), "data-sidebar-footer-feedback": true, children: feedback })) : null, translate ? _jsx("div", { "data-sidebar-footer-translate": true, children: translate }) : null, search ? _jsx("div", { "data-sidebar-footer-search": true, children: search }) : null, collapse ? _jsx("div", { "data-sidebar-footer-collapse": true, children: collapse }) : null] }));
9
+ }
10
+ //# sourceMappingURL=sidebar-footer-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-footer-actions.js","sourceRoot":"","sources":["../../src/app-shell/sidebar-footer-actions.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAWjC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,SAAS,GACiB;IAC1B,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,+BAA+B,EAClE,SAAS,CACV,kDAGA,QAAQ,CAAC,CAAC,CAAC,CACV,cACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,IAAI,QAAQ,CAAC,kDAG/C,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,CAAC,CAAC,CAAC,+DAAoC,SAAS,GAAO,CAAC,CAAC,CAAC,IAAI,EACvE,MAAM,CAAC,CAAC,CAAC,4DAAiC,MAAM,GAAO,CAAC,CAAC,CAAC,IAAI,EAC9D,QAAQ,CAAC,CAAC,CAAC,8DAAmC,QAAQ,GAAO,CAAC,CAAC,CAAC,IAAI,IACjE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sidebar-footer-actions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-footer-actions.spec.d.ts","sourceRoot":"","sources":["../../src/app-shell/sidebar-footer-actions.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { act } from "react";
4
+ import { createRoot } from "react-dom/client";
5
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
6
+ import { SidebarFooterActions } from "./sidebar-footer-actions.js";
7
+ describe("SidebarFooterActions", () => {
8
+ let container;
9
+ let root;
10
+ beforeEach(() => {
11
+ vi.stubGlobal("IS_REACT_ACT_ENVIRONMENT", true);
12
+ container = document.createElement("div");
13
+ document.body.appendChild(container);
14
+ root = createRoot(container);
15
+ });
16
+ afterEach(() => {
17
+ act(() => root.unmount());
18
+ container.remove();
19
+ });
20
+ it("keeps the footer controls in feedback, translate, search, collapse order", () => {
21
+ act(() => {
22
+ root.render(_jsx(SidebarFooterActions, { feedback: _jsx("span", { children: "feedback" }), translate: _jsx("span", { children: "translate" }), search: _jsx("span", { children: "search" }), collapse: _jsx("span", { children: "collapse" }) }));
23
+ });
24
+ expect(Array.from(container.querySelectorAll("[data-sidebar-footer-feedback], [data-sidebar-footer-translate], [data-sidebar-footer-search], [data-sidebar-footer-collapse]")).map((element) => element.textContent)).toEqual(["feedback", "translate", "search", "collapse"]);
25
+ });
26
+ it("stacks the same controls when the sidebar is collapsed", () => {
27
+ act(() => {
28
+ root.render(_jsx(SidebarFooterActions, { collapsed: true, feedback: _jsx("span", { children: "feedback" }), translate: _jsx("span", { children: "translate" }), search: _jsx("span", { children: "search" }), collapse: _jsx("span", { children: "collapse" }) }));
29
+ });
30
+ expect(container
31
+ .querySelector("[data-sidebar-footer-actions]")
32
+ ?.className.includes("flex-col")).toBe(true);
33
+ });
34
+ });
35
+ //# sourceMappingURL=sidebar-footer-actions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-footer-actions.spec.js","sourceRoot":"","sources":["../../src/app-shell/sidebar-footer-actions.spec.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,SAAyB,CAAC;IAC9B,IAAI,IAAU,CAAC;IAEf,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,UAAU,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAChD,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1B,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,GAAG,CAAC,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,CACT,KAAC,oBAAoB,IACnB,QAAQ,EAAE,sCAAqB,EAC/B,SAAS,EAAE,uCAAsB,EACjC,MAAM,EAAE,oCAAmB,EAC3B,QAAQ,EAAE,sCAAqB,GAC/B,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CACJ,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,gBAAgB,CACxB,+HAA+H,CAChI,CACF,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CACxC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,GAAG,CAAC,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,CACT,KAAC,oBAAoB,IACnB,SAAS,QACT,QAAQ,EAAE,sCAAqB,EAC/B,SAAS,EAAE,uCAAsB,EACjC,MAAM,EAAE,oCAAmB,EAC3B,QAAQ,EAAE,sCAAqB,GAC/B,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CACJ,SAAS;aACN,aAAa,CAAC,+BAA+B,CAAC;YAC/C,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -78,6 +78,56 @@
78
78
  color: hsl(38 92% 50%);
79
79
  }
80
80
 
81
+ .an-chat-history-rail__collapse {
82
+ display: flow-root;
83
+ height: auto;
84
+ overflow: hidden;
85
+ overflow: clip;
86
+ opacity: 1;
87
+ clip-path: inset(0);
88
+ interpolate-size: allow-keywords;
89
+ transition:
90
+ height 200ms var(--ease-collapse),
91
+ opacity 150ms ease,
92
+ clip-path 200ms var(--ease-collapse);
93
+ }
94
+
95
+ .an-chat-history-rail__collapse[data-state="closed"] {
96
+ height: 0;
97
+ opacity: 0;
98
+ clip-path: inset(0 0 100% 0);
99
+ pointer-events: none;
100
+ }
101
+
102
+ @starting-style {
103
+ .an-chat-history-rail__collapse[data-state="open"] {
104
+ height: 0;
105
+ opacity: 0;
106
+ clip-path: inset(0 0 100% 0);
107
+ }
108
+ }
109
+
110
+ @supports not (interpolate-size: allow-keywords) {
111
+ .an-chat-history-rail__collapse {
112
+ height: auto;
113
+ max-height: 64rem;
114
+ transition:
115
+ max-height 200ms var(--ease-collapse),
116
+ opacity 150ms ease,
117
+ clip-path 200ms var(--ease-collapse);
118
+ }
119
+
120
+ .an-chat-history-rail__collapse[data-state="closed"] {
121
+ max-height: 0;
122
+ }
123
+ }
124
+
125
+ @media (prefers-reduced-motion: reduce) {
126
+ .an-chat-history-rail__collapse {
127
+ transition: opacity 150ms ease;
128
+ }
129
+ }
130
+
81
131
  .an-chat-history-rail__footer {
82
132
  display: flex;
83
133
  align-items: center;
@@ -118,7 +168,8 @@
118
168
  }
119
169
 
120
170
  .an-chat-history-rail__new-chat {
121
- flex: 1 1 auto;
171
+ flex: 0 0 auto;
172
+ margin-inline-end: auto;
122
173
  gap: 8px;
123
174
  height: auto;
124
175
  min-width: 0;
@@ -55,7 +55,7 @@ const DefaultSurface = ({ children, as = "div", elevation = "low", padding = "de
55
55
  };
56
56
  const elementProps = {
57
57
  ...props,
58
- className: cn("rounded-lg border bg-card text-card-foreground", elevation === "none" && "shadow-none", elevation === "low" && "shadow-sm", elevation === "medium" && "shadow-md", padding === "compact" && "p-3", padding === "default" && "p-4", padding === "spacious" && "p-6", interactive && "cursor-pointer", className),
58
+ className: cn("rounded-lg bg-card text-card-foreground", elevation === "none" && "shadow-none", elevation === "low" && "shadow-sm", elevation === "medium" && "shadow-md", padding === "compact" && "p-3", padding === "default" && "p-4", padding === "spacious" && "p-6", interactive && "cursor-pointer", className),
59
59
  onClick: (event) => onPress?.(event),
60
60
  onKeyDown,
61
61
  role: interactive ? "button" : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"default-adapter.js","sourceRoot":"","sources":["../../src/design-system/default-adapter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-adapter.js","sourceRoot":"","sources":["../../src/design-system/default-adapter.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  // @vitest-environment happy-dom
2
+ import { Editor as CoreEditor } from "@tiptap/core";
2
3
  import { useEditor } from "@tiptap/react";
3
4
  import React, { act } from "react";
4
5
  import { createRoot } from "react-dom/client";
5
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
6
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
7
+ import { Awareness } from "y-protocols/awareness";
8
+ import * as Y from "yjs";
6
9
  import { createRichMarkdownExtensions } from "./RichMarkdownEditor.js";
7
10
  import { useCollabReconcile, getEditorMarkdown } from "./useCollabReconcile.js";
8
11
  /**
@@ -30,6 +33,7 @@ beforeEach(() => {
30
33
  });
31
34
  afterEach(() => {
32
35
  act(() => root.unmount());
36
+ vi.useRealTimers();
33
37
  container.remove();
34
38
  });
35
39
  function makeHarness() {
@@ -252,6 +256,31 @@ describe("useCollabReconcile — concurrent edit / lost-update guards", () => {
252
256
  await flush();
253
257
  expect(results).toEqual([true]);
254
258
  });
259
+ it("allows the first user edit after an authoritative empty doc finishes loading", async () => {
260
+ let shouldIgnoreUpdate = null;
261
+ let editor = null;
262
+ function Probe() {
263
+ editor = useEditor({
264
+ extensions: createRichMarkdownExtensions({ dialect: "gfm" }),
265
+ content: "",
266
+ });
267
+ const fakeYdoc = { clientID: 1, getXmlFragment: () => ({ length: 0 }) };
268
+ const guards = useCollabReconcile({
269
+ editor,
270
+ ydoc: fakeYdoc,
271
+ collabSynced: true,
272
+ value: "",
273
+ contentUpdatedAt: "2024-01-01T00:00:01.000Z",
274
+ editable: true,
275
+ });
276
+ shouldIgnoreUpdate = guards.shouldIgnoreUpdate;
277
+ return React.createElement("div", null);
278
+ }
279
+ act(() => root.render(React.createElement(Probe)));
280
+ expect(editor).not.toBeNull();
281
+ expect(shouldIgnoreUpdate).not.toBeNull();
282
+ expect(shouldIgnoreUpdate(editor.state.tr)).toBe(false);
283
+ });
255
284
  it("refuses to persist an empty doc in collab mode (registerEmitted guard)", async () => {
256
285
  // Directly exercise the guard contract: in collab mode an empty markdown
257
286
  // string must not be registered/persisted (would clobber stored content
@@ -309,6 +338,216 @@ describe("useCollabReconcile — concurrent edit / lost-update guards", () => {
309
338
  await flush();
310
339
  expect(setContentValues).toEqual(["second seed"]);
311
340
  });
341
+ it("does not seed beside persisted Y.Doc content projected during initial sync", async () => {
342
+ const persistedYdoc = new Y.Doc();
343
+ const persistedEditor = new CoreEditor({
344
+ extensions: createRichMarkdownExtensions({
345
+ dialect: "gfm",
346
+ ydoc: persistedYdoc,
347
+ }),
348
+ });
349
+ persistedEditor.commands.setContent("persisted collab body");
350
+ const persistedUpdate = Y.encodeStateAsUpdate(persistedYdoc);
351
+ persistedEditor.destroy();
352
+ persistedYdoc.destroy();
353
+ const liveYdoc = new Y.Doc();
354
+ const setContentValues = [];
355
+ let capturedEditor = null;
356
+ function Probe({ collabSynced }) {
357
+ const editor = useEditor({
358
+ extensions: createRichMarkdownExtensions({
359
+ dialect: "gfm",
360
+ ydoc: liveYdoc,
361
+ }),
362
+ });
363
+ capturedEditor = editor;
364
+ useCollabReconcile({
365
+ editor,
366
+ ydoc: liveYdoc,
367
+ collabSynced,
368
+ value: "persisted collab body",
369
+ contentUpdatedAt: "2024-01-01T00:00:01.000Z",
370
+ editable: true,
371
+ setContent: (_editor, nextValue) => {
372
+ setContentValues.push(nextValue);
373
+ },
374
+ });
375
+ return React.createElement("div", null);
376
+ }
377
+ act(() => root.render(React.createElement(Probe, { collabSynced: false })));
378
+ act(() => Y.applyUpdate(liveYdoc, persistedUpdate, "remote"));
379
+ act(() => root.render(React.createElement(Probe, { collabSynced: true })));
380
+ await flush();
381
+ expect(getEditorMarkdown(capturedEditor)).toBe("persisted collab body");
382
+ expect(setContentValues).toEqual([]);
383
+ expect(getEditorMarkdown(capturedEditor).match(/persisted collab body/g)).toHaveLength(1);
384
+ liveYdoc.destroy();
385
+ });
386
+ it("adopts a nonempty synced Y.Doc instead of reconciling an empty SQL snapshot", async () => {
387
+ vi.useFakeTimers();
388
+ const persistedYdoc = new Y.Doc();
389
+ const persistedEditor = new CoreEditor({
390
+ extensions: createRichMarkdownExtensions({
391
+ dialect: "gfm",
392
+ ydoc: persistedYdoc,
393
+ }),
394
+ });
395
+ persistedEditor.commands.setContent("live collaborator body");
396
+ const liveYdoc = new Y.Doc();
397
+ Y.applyUpdate(liveYdoc, Y.encodeStateAsUpdate(persistedYdoc), "remote");
398
+ persistedEditor.destroy();
399
+ persistedYdoc.destroy();
400
+ const awareness = new Awareness(liveYdoc);
401
+ const setContentValues = [];
402
+ let capturedEditor = null;
403
+ function Probe() {
404
+ const editor = useEditor({
405
+ extensions: createRichMarkdownExtensions({
406
+ dialect: "gfm",
407
+ ydoc: liveYdoc,
408
+ }),
409
+ });
410
+ capturedEditor = editor;
411
+ useCollabReconcile({
412
+ editor,
413
+ ydoc: liveYdoc,
414
+ awareness,
415
+ collabSynced: true,
416
+ value: "",
417
+ contentUpdatedAt: "2024-01-01T00:00:01.000Z",
418
+ editable: true,
419
+ setContent: (_editor, nextValue) => {
420
+ setContentValues.push(nextValue);
421
+ },
422
+ });
423
+ return React.createElement("div", null);
424
+ }
425
+ act(() => root.render(React.createElement(Probe)));
426
+ await act(async () => vi.advanceTimersByTimeAsync(0));
427
+ // The document state can finish syncing before the first awareness poll.
428
+ // Publish the active peer after mount to cover that real transport order.
429
+ act(() => {
430
+ awareness.getStates().set(4_294_967_295, {
431
+ user: { name: "Active peer" },
432
+ visible: true,
433
+ });
434
+ awareness.emit("change", [
435
+ { added: [4_294_967_295], updated: [], removed: [] },
436
+ "remote",
437
+ ]);
438
+ });
439
+ await act(async () => vi.advanceTimersByTimeAsync(2500));
440
+ expect(getEditorMarkdown(capturedEditor)).toBe("live collaborator body");
441
+ expect(setContentValues).toEqual([]);
442
+ vi.useRealTimers();
443
+ awareness.destroy();
444
+ liveYdoc.destroy();
445
+ });
446
+ it("lets canonical empty SQL clear stale persisted Y.Doc content with no active peer", async () => {
447
+ const persistedYdoc = new Y.Doc();
448
+ const persistedEditor = new CoreEditor({
449
+ extensions: createRichMarkdownExtensions({
450
+ dialect: "gfm",
451
+ ydoc: persistedYdoc,
452
+ }),
453
+ });
454
+ persistedEditor.commands.setContent("stale persisted body");
455
+ const liveYdoc = new Y.Doc();
456
+ Y.applyUpdate(liveYdoc, Y.encodeStateAsUpdate(persistedYdoc), "remote");
457
+ persistedEditor.destroy();
458
+ persistedYdoc.destroy();
459
+ const setContentValues = [];
460
+ let capturedEditor = null;
461
+ const awareness = new Awareness(liveYdoc);
462
+ function Probe() {
463
+ const editor = useEditor({
464
+ extensions: createRichMarkdownExtensions({
465
+ dialect: "gfm",
466
+ ydoc: liveYdoc,
467
+ }),
468
+ });
469
+ capturedEditor = editor;
470
+ useCollabReconcile({
471
+ editor,
472
+ ydoc: liveYdoc,
473
+ awareness,
474
+ collabSynced: true,
475
+ value: "",
476
+ contentUpdatedAt: "2024-01-01T00:00:01.000Z",
477
+ editable: true,
478
+ setContent: (editorToClear, nextValue) => {
479
+ setContentValues.push(nextValue);
480
+ editorToClear.commands.setContent(nextValue);
481
+ },
482
+ });
483
+ return React.createElement("div", null);
484
+ }
485
+ vi.useFakeTimers();
486
+ act(() => root.render(React.createElement(Probe)));
487
+ await act(async () => vi.advanceTimersByTimeAsync(2499));
488
+ expect(setContentValues).toEqual([]);
489
+ await act(async () => vi.advanceTimersByTimeAsync(51));
490
+ expect(setContentValues).toContain("");
491
+ expect(getEditorMarkdown(capturedEditor)).toBe("");
492
+ vi.useRealTimers();
493
+ awareness.destroy();
494
+ liveYdoc.destroy();
495
+ });
496
+ it("preserves and permits a first local edit during the awareness settle window", async () => {
497
+ const persistedYdoc = new Y.Doc();
498
+ const persistedEditor = new CoreEditor({
499
+ extensions: createRichMarkdownExtensions({
500
+ dialect: "gfm",
501
+ ydoc: persistedYdoc,
502
+ }),
503
+ });
504
+ persistedEditor.commands.setContent("stale persisted body");
505
+ const liveYdoc = new Y.Doc();
506
+ Y.applyUpdate(liveYdoc, Y.encodeStateAsUpdate(persistedYdoc), "remote");
507
+ persistedEditor.destroy();
508
+ persistedYdoc.destroy();
509
+ const awareness = new Awareness(liveYdoc);
510
+ let capturedEditor = null;
511
+ let guards = null;
512
+ const setContentValues = [];
513
+ function Probe() {
514
+ const editor = useEditor({
515
+ extensions: createRichMarkdownExtensions({
516
+ dialect: "gfm",
517
+ ydoc: liveYdoc,
518
+ }),
519
+ });
520
+ capturedEditor = editor;
521
+ guards = useCollabReconcile({
522
+ editor,
523
+ ydoc: liveYdoc,
524
+ awareness,
525
+ collabSynced: true,
526
+ value: "",
527
+ contentUpdatedAt: "2024-01-01T00:00:01.000Z",
528
+ editable: true,
529
+ setContent: (editorToSet, nextValue) => {
530
+ setContentValues.push(nextValue);
531
+ editorToSet.commands.setContent(nextValue);
532
+ },
533
+ });
534
+ return React.createElement("div", null);
535
+ }
536
+ vi.useFakeTimers();
537
+ act(() => root.render(React.createElement(Probe)));
538
+ await act(async () => vi.advanceTimersByTimeAsync(0));
539
+ expect(guards).not.toBeNull();
540
+ expect(capturedEditor).not.toBeNull();
541
+ expect(guards.shouldIgnoreUpdate(capturedEditor.state.tr)).toBe(false);
542
+ expect(guards.registerEmitted("first local edit")).toBe(true);
543
+ act(() => capturedEditor.commands.setContent("first local edit"));
544
+ await act(async () => vi.advanceTimersByTimeAsync(2500));
545
+ expect(getEditorMarkdown(capturedEditor)).toBe("first local edit");
546
+ expect(setContentValues).toEqual([]);
547
+ vi.useRealTimers();
548
+ awareness.destroy();
549
+ liveYdoc.destroy();
550
+ });
312
551
  it("applies a genuinely newer external value once the user is no longer focused", async () => {
313
552
  const { captured, Harness } = makeHarness();
314
553
  render(root, Harness, {