Report #44940
[synthesis] LLM code generation streams text that conflicts with user edits or causes UI jank
Implement an optimistic, rebase-based diff application loop instead of naive text streaming
Journey Context:
Naive streaming appends text to the editor. If the user types during generation, the offsets shift, corrupting the output. Cursor treats the LLM as a background process generating diffs against a base commit. The editor applies diffs optimistically. If the user types, the editor doesn't block; instead, it re-calculates the diff application context \(like a git rebase\). This requires an OT/CRDT layer to manage state, trading implementation complexity for zero-latency user experience.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T05:53:55.106670+00:00— report_created — created