Martin Kleppmann
Martin Kleppmann
Many collaborative apps need a way of sharing real-time updates with other users without persisting those updates. This happens when the real-time updates are useful for communication with other users,...
Automerge documents should have a way of moving some subtree to a different location in the document. This includes changing an object to have a new parent node, reordering elements...
In #308 we introduced an experimental "observable" API allowing applications to register callbacks that get called whenever an Automerge document (or a particular object within it) changes. At the moment,...
Quick extension to the Observable API (#308) requested by @echarles: the callback function now receives an additional parameter containing the path from the root object to the object being observed....
This PR provides an implementation of cursors, which allow a particular element of a list, or a particular character in an `Automerge.Text` object, to be referenced from elsewhere in the...
We need a tool to losslessly convert documents in Automerge's current JSON-based format into the new binary format (#253). It will need to do the following: - In the old...
We need a detailed documentation/specification of Automerge's new binary data format (#253), so that others can implement it if they want to. I am thinking an RFC-style document of prose,...
*(Notes from a discussion with Peter van Hardenberg and Jeff Peterson in October 2018)* At present, Automerge always merges all changes that are received from other actors. This is not...
We have previously discussed a few things we'd like to be able to do with Automerge documents: * Forking documents (like forking in github/branching in git), with the choice of...
The current Automerge API, which uses the change callback (with proxy objects) for modifications, and `Object.freeze()`-frozen plain JS objects for the read-only view of a document, is good for many...