In Linear, the rich text portion of the app (documents) and the structured data portion (issues) use different syncing methods, and they don’t share the same undo/redo history.
The structured data uses Linear’s home-grown sync engine, and documents use Yjs.
The structured data uses Linear’s home-grown sync engine, and documents use Yjs.
Comments
It’s all an illusion. They cheated by using last-writes-win on a block level. If you concurrently edit a block with someone else, one person’s edits will win
Server components bake data into components and make non-interactive UIs faster, but they don’t speed up interactive UIs (which includes navigation & data shared between components).
When data could be an *active replica* of data on the server, that conception of how data is treated feels wholly unimaginative.
You’re manipulating data! Text! Images! Diagrams!
And these manipulations are instant, both in terms of what you see on screen and what collaborators see in real time.
I can’t help being excited about client-first making a comeback!
I continued a bit here: https://bsky.app/profile/andric.dev/post/3lcbif6ikqk2z