How conflict-free replicated data types converge without a central authority: the YATA algorithm, Yjs shared types, update exchange, awareness, and a runnable collaborative editor.