-
Notifications
You must be signed in to change notification settings - Fork 11
CPositionSource sharing #264
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
Comments
My current plan for this:
|
I'm skipping collabs/crdts/src/list/c_position_source.ts Line 532 in 9b20307
|
I'm omitting this for now because I can't think of a good use case, and we can add it backwards-compatibly later. E.g. for suggestions on a doc, storing the actual text and suggestions in separate CValueLists does not allow proper "accepting": you want to transfer (position, value) pairs from the suggestion to the actual text, but CValueList doesn't let you set a position directly. Instead, you should:
Even without this feature, the CPositionSource refactoring still makes (2) more reasonable. It might also enable using CPositionSource in a centralized app, to manage a CRDT total order whose actual position-value maps are handled by a server. |
Allow multiple list CRDTs to share a
CPositionSource
, possibly across linked documents (#262).E.g.:
CPositionSource
in a 3rd document, but not the original text CRDT's document.(Can we make this work for multiple CRichTexts as well, including formatting spans?)
LocalList
gets partway there but not all the way.Some specific changes needed:
CPositionSource
, and also expose theirs.newLocalList()
methods? (If fully redundant)CValueList
.CValueList
merging if a separate list modified them.CPositionSource.compare
function, in case you want to opt out of whatever the list CRDTs are doing.This feature is not critical, but it would be nice to implement it sooner because it will break backwards compatibility for saved states.
The text was updated successfully, but these errors were encountered: