Rebasely Beta: data may be purged

examples/live-notes Public

Show who else is editing #1

Changed files

21 files changed344 additions49 deletionssince main at d21dfdd

An edit reaching other editors

1 step relabelled, description changed

  • Added
  • Rerouted, relabelled or moved
  • Removed

Editor A (Otter) types while editor B (Heron) has the same note open. The room puts the edit in order, saves it and passes it on with who made it.

An edit reaching other editors: 6 steps between 4 participants Step 1: editor-a to note-room, op: insert "oat " at 4, written against version 41op: insert "oat " at 4, writt…Step 2: note-room to ops, transform the op past versions 42 and 43 from the logtransform the op past version…Step 3: ops to note-room, the op as it applies now, which the room saves to SQLitethe op as it applies now, whi…Step 4: note-room to editor-a, ack: version 44ack: version 44Step 5: note-room to editor-b, the transformed op at version 44, marked as Otter's (relabelled, was “the transformed op at version 44”)the transformed op at version 44, marked as …Step 6: editor-b to ops, move the op past B's own unacknowledged edits, then apply itmove the op past B's own unac…editor-aeditor-aActornote-roomnote-roomDurable ObjectopsopsLibraryeditor-beditor-bActor

The flow edit-broadcast at the head of this pull request, numbered in its order, with the steps it adds, reroutes, relabels, moves and removes. A removed step has no number.

Steps

  1. Step 1: editor-a → note-room op: insert "oat " at 4, written against version 41
  2. Step 2: note-room → ops transform the op past versions 42 and 43 from the log
  3. Step 3: ops → note-room the op as it applies now, which the room saves to SQLite
  4. Step 4: note-room → editor-a ack: version 44
  5. Step 5, relabelled: note-room → editor-b the transformed op at version 44, marked as Otter's Relabelled was “the transformed op at version 44”
  6. Step 6: editor-b → ops move the op past B's own unacknowledged edits, then apply it

The flow's description changed too.

Knowledge base

Back to the conversation