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
{{ message }}
Repository navigation
Commit eb2db57
Browse filesBrowse the repository at this point in the historyBrowse files
fix(files): fail-close base-less previews + operation-based stream hold
Cursor/Greptile round 3 (High + Medium) — remove the fragile string-prefix
"extend gate", which was the root of both findings:
- Server: `buildFilePreviewText` now fails closed for an `append` whose base
content hasn't loaded (returns undefined, like patch/update), so a base-less
fragment never reaches the client. This eliminates the base-less wipe at
settle (Greptile P1) at the source; an empty file (existingContent === '')
still previews normally.
- Client: the collab streaming tick no longer string-prefixes the raw preview
against the editor's canonical markdown (the '*' vs '-' / emphasis mismatch
that froze every append frame — Cursor). The mid-stream hold is now purely
operation-based: `update` waits for settle; append/patch/create apply each
frame via the (peer-safe) shadow reconcile. lastStreamedBodyRef is now a plain
dedup guard, not a prefix baseline.
Keeps the shadow, durable write, and SYNC_NO_PERSIST unchanged.
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/rich-markdown-editor.tsx
0 commit comments