This new kind of storage would consist of separate tracks for each device. Each track stores history of update from its device. Main storage is result of consensus between tracks. This should improve conflicts resolution. Storages also could generalize from Monoid structure to any CRDT.
Tracking each device separately would also allow us to handle deletions. Right now values, after being deleted, always get back from another device because simple monoid merging is used.
This new kind of storage would consist of separate tracks for each device. Each track stores history of update from its device. Main storage is result of consensus between tracks. This should improve conflicts resolution. Storages also could generalize from
Monoid
structure to any CRDT.