-
-
Notifications
You must be signed in to change notification settings - Fork 145
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
Support time travel #52
Comments
Conflict can arise when Google Docs exposes the following dialog with the message with a red banner.
We also have to deal with exposing an error when there are changes created at the same time as restoring. |
Yorkie internally saves a history of all changes in documents. This enables time travel which is looking at the document state at past points in time.
The current state of the Yorkie system is as follows:
Past to Present
For now, we have not introduced inverse operations yet, we can only apply operations from the past to the present.
Changes and Snapshots
Currently, Client only has a snapshot of the current state and changes that have not been sent to Agent. Since client data is not enough, we need to use Snapshots and Changes stored on Agent for time travel.
For example, if Client A wants to go back to S7, it needs S5, C6, and C7.
Proposal
We can think of a document as a pointer to a specific location in a Change. Using this, we can create two features,
fork
andpeek
.The text was updated successfully, but these errors were encountered: