Rebasely Beta: data may be purged

examples/live-notes Public

Markdown · 840 B · at 99dd857

live-notes

Plain-text notes several people edit at once. Each note is one Durable Object, which orders every edit and passes it on to the other editors over WebSockets.

How it works

  • [[conflict-strategy]]: how two people typing at once end up with the same text.
  • [[note-room]]: the Durable Object behind a note, its storage, and hibernation.
  • [[wire-protocol]]: the messages on the socket.
  • [[presence]]: who else has the note open, and how the room knows.

Decisions

  • [[0001-single-sequencer-per-note]]: the room is the only place edits are ordered.
  • [[0002-drop-inserts-inside-concurrent-deletes]]: the one rule that keeps the transform small.
  • [[0003-presence-lives-on-the-sockets]]: presence is never written to storage.

Guides

  • [[local-dev]]: run it on your machine, open two tabs, and watch the edits cross.