Created: 2021-01-29T19:36:14-06:00
This card pertains to a resource available on the internet.
Checkpoints: a complete copy of the document.
Simplification: combining patches to remove no-ops; for example if text is removed, and the same text is added, simplify would remove the unnecessary delete and additions.
Pruning: deleting the history of a document which occured prior to a checkpoint.
Diffing: takes two strings and generates a list of patches to turn one in to the other.
Inverse patch: a patch which undoes the effects of the patch.
Checkpoints are created sometimes to minimize the amount of patches which have to be applied to synchronize with the current world state.
Authorative: the document as the server knows it.
Uncommitted work: the document as the local user knows it.
Changes by a client apply to uncommitted work. Then a patch from authorative to uncommitted is sent to the server as a patch.
Authorative document is only updated by the server sending down a patch.
The longest chain of hashes with the lowest hash values is considered the winner.