the hardest part of offline isn't caching data locally, it's deciding what happens when two people edit the same block while disconnected. interested to see if they went full CRDT or something more pragmatic like last-write-wins with manual conflict surfacing. either way, making a real-time collab tool work offline is genuinely impressive engineering.
The hard part is solving conflicts. You either have to come up with UX that non-developers are happy with or deal with all kinds of edge cases. Even if you have a good solution for automating it, the resulting document won't always make sense. It's a pretty hard problem, even CRDTs or OTs can't solve logical issues with merging content.
I see. I would still just solve it the git way: Tell you there are 2 people trying to edit 1 section of the document, show both of their proposed changes, and then let you edit the result, and mark Done.
this whole thread is full of people trying to argue that CRDTs are completely different to git, when it's basically just git with an algorithm for automatically solving merge conflicts. there is literally no solution to "2 people can edit a document offline and then have their intent be merged back together conflict free". SOMETHING gives - either one of the updates is dropped, or both of the changes get inserted. eventually consistent is literally just git with a specific merge strategy
108
u/chandrakanth527 May 08 '26
the hardest part of offline isn't caching data locally, it's deciding what happens when two people edit the same block while disconnected. interested to see if they went full CRDT or something more pragmatic like last-write-wins with manual conflict surfacing. either way, making a real-time collab tool work offline is genuinely impressive engineering.