Tracking changes

Changes are first-class values in ProseMirror. You can hold on to them, and do things with them. Such as rebasing them across other changes, inverting them, or inspecting them to see what they did.

This demo uses those properties to allow you to “commit” your changes, to revert individual commits, and to find out which commit a piece of text originates from.

Note that, due to the implicit conflict resolution when moving changes across each other, outcomes of complicated reverts aren't always optimal.

Commit message:

Hover over commits to highlight the text they introduced.

The source code for this example can be found on github.