Conflict-free Replicated Data Types (CRDTs) allow collaborative access to an app's data. We describe a novel CRDT operation, for-each on the list of CRDTs, and demonstrate its use in collaborative apps. Our for-each operation applies a given mutation to each element of a list, including elements inserted concurrently. This often preserves user intention in a way that would otherwise require custom CRDT algorithms. We give example applications of our for-each operation to collaborative rich-text, recipe, and slideshow editors.
@article{arxiv.2304.03141,
title = {For-Each Operations in Collaborative Apps},
author = {Matthew Weidner and Ria Pradeep and Benito Geordie and Heather Miller},
journal= {arXiv preprint arXiv:2304.03141},
year = {2023}
}