-
Notifications
You must be signed in to change notification settings - Fork 550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
synchronisation to allow offline editing #25
Comments
Thanks for your feedback! As it stands right now, I've intentionally excluded all OT-specifics for the editor because there are many ways to implement these. As far as I understand offline editing would be an integral part of OT workflow because those edits will likely need to be transformed against any remote revisions and vice versa. This also means that Zefyr would need to be aware of current network status in some way. This one specifically seems like an overkill for this package at least. Overall, I feel like it would be hard to come up with a generic-enough approach to this without taking into account online side things. But I'd be curious to see any proposals either in form of a pull-request or a spec. PR would definitely be much better though. |
Hey @pulyaevskiy sorry about late reply I worked a little bit on this before. There are a few libraries out there in golang to do this. Generally if i need it to interact with Dart i used GRPC. GRPC between golang and dart works really wel btw. Its almost too easy. Anyway, let me knwo if your interested and we can work on it together and maybe get more interest in this rolling forward. |
Sure, but again there are many ways to implement this logic. I have implemented fully working OT server in my project which supports both offline edits and online sync using Firebase. I’m not clear on which path exactly you are suggesting yet. E.g.
|
@pulyaevskiy thanks for the info. What Server Side language ? Where to store local edits when offline? How to determine offline / online ? |
Hi @gedw99 Would you like sharing more details about golang / flutter stack, both server side and client side? |
I'm going to close this one as I consider it out of scope for this package itself. Feel free to open a discussion (in Discussions) on this subject though. |
Love this project.
We can add offline editing by using Lamport clocks. What this does is ensure globally ordering or OT operations.
THis also allows git style branches and merges to be possible. Users can edit in a branch, and merge to Master and have no conflicts.
If your interested in this i would be happy to help collaborate on this to add it.
The text was updated successfully, but these errors were encountered: