composablesys / collabs

Collabs library monorepo
https://collabs.readthedocs.io/
Apache License 2.0
246 stars 11 forks source link

Load: support state-based merging #239

Closed mweidner037 closed 1 year ago

mweidner037 commented 1 year ago

Currently, CRDTs can only be loaded (CRuntime.load) at the beginning of a session, before sending/receiving any messages. It would be more convenient if we could load a savedState at any time, merging it like a state-based CRDT.

As an extension, we could allow saving only the delta over a previous state / vector clock, to help sync documents between online peers.