A JS implementation of RGASS, a CRDT synchronization algorithm presented in research paper by Xiao Lv et al: http://dx.doi.org/10.1016/j.aei.2016.10.005.
This module is still experimental, but it's easy to play with it already:
- Clone this repository and
npm install, then
- and open at least two browser windows pointing to
Now you can test its collaborative text editing functionality. There is also a battletest (see below) that will automatically add and delete strings in two text areas concurrently and raise an error if there is a mismatch, as a way to fuzz test the algorithm.
To run tests
To run battletest
npm run battletest
- Resolve issue with overlapping concurrent insertions and deletions, that the algorihtm described in the paper doesn't address (there is a currently failing test describing the above scenario).
- Serialization of Model
- Snapshotting (related to above)
- More bulletproofing