ot-core playground

Several people editing one document, over a network you can break on purpose. Every pane below is a real Client; the server is a real Server. Nothing is mocked except the wire, and the wire is only slow because you asked it to be.

There is no “drop a message” control, because a WebSocket does not lose one. It delivers, or the connection dies — so that is the failure on offer, and watching a client come back from it is the interesting part.

Or see it in a real editor โ†’ two CodeMirror instances on one document

Everyone agrees.
Server authority revision 0 ยท history 0

Coloured by who typed it, with everybody's cursor where it actually is. Three people editing the same word interleave โ€” that is the correct answer, and it is the one thing here that looks like a bug until you can see whose characters are whose.

The wire

every message, as it is sent