CBaquero / delta-enabled-crdts

Reference implementations of state-based CRDTs that offer deltas for all mutations.
Apache License 2.0
319 stars 36 forks source link

Status of ORSeq datatype #10

Open jrfaller opened 3 years ago

jrfaller commented 3 years ago

Hi Carlos!

We are experimenting around the topic of real-time collaborative editors, and I remarked that I only saw existing solutions based upon operation-CRDTs. I came across your amazing articles about delta-state CRDTs (notably Efficient Synchronization of State-Based CRDTs), and I was wondering whether or not it could be a good candidate to implement a real-time collaborative editor. By looking more closely in the various articles, I don't have the impression that you define somewhere a delta-based sequence CRDT. However, in this repository the ORSeq CRDT seems to be the one I have been looking for.

Could you tell me if it's only a prototype or a "stable" implementation. Additionally, do you have some write up about how it works besides the code? Also, if you have already tried something in the same vein, I would be very glad to have your input on the subject 😄

Cheers!

CBaquero commented 1 year ago

Sorry, for the 2-year delay, better late than never.

I made some initial code towards an editable sequence, but it was incorrect and not easy to fix, so it was stopped. I might come back to this in the future, but nowadays the state of the art is probably in projects like https://automerge.org

Regards,

jrfaller commented 1 year ago

Hi @CBaquero and thanks for the answer! Thanks for pointing out automerge even though it's not clear in their doc if they use operation-based or state-based CRDTs 😄

I hope that you'll find the time to have a second try at this because I really think that a state-based sequence could really ease the development of collaborative editors.

Cheers!