You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Cache the agent-stream ProseMirror↔Yjs binding metadata per session and reuse it
across streamed frames instead of rebuilding it (O(doc)) every frame; matches how
y-tiptap's own binding maintains the mapping in place. Safe because the shadow doc
only ever sees the agent's own reconciles.
- Default createFileResponse to a private, no-cache policy so auth-gated bytes are never
stored in a shared cache; genuinely-public serve routes opt into public caching
explicitly.
- Serve content-addressed (key=) embedded images with an immutable private cache to
avoid re-downloading them on every doc re-open; fileId= embeds and public shares keep
revalidating (the underlying key can change / a share can be revoked).
- Drop the dead conflict.version field from the collab-doc persist result and remove the
wasted getWorkspaceFile re-read on the conflict path (the relay treats missing and
conflict identically and never read version).
- Decorate-sort the files/folders lists (compute each sort key once) and index the
move-menu subtree build (O(N) vs O(N^2)); ordering is preserved exactly.
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/collaboration/apply-streamed-markdown.test.ts
+37-1Lines changed: 37 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,12 @@ import { afterEach, beforeAll, describe, expect, it } from 'vitest'
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/collaboration/apply-streamed-markdown.ts
0 commit comments