aboutsummaryrefslogtreecommitdiffstats
path: root/src/document/file.rs
Commit message (Collapse)AuthorAgeFilesLines
* document file: a clean stop marked, and `--keep-actor` writes on as the same ↵tv35 hours1-8/+86
| | | | | | | | | | | | | | | | | | | | | | actor A node writes as a fresh Automerge actor at each start, so no change number of an actor comes twice: one sent before a crash but not yet appended to the document file would otherwise be made again, differently. An epoch thus gathers a writer per start, and every transfer of its history carries a signature per writer. The document file now says when it holds everything the node wrote: * at a clean stop, after the last append, an empty `Closed` record, only where the file is up to the document's heads (ready, not rejoining); * as a node starts on the file, before anything is written, an empty `Opened` record, so a crash from then on leaves a file without the mark; * the header names the actor the node writes with (`current`). With `--keep-actor` (off by default; needs `--document-file`), a node starting on a file that ends with `Closed` writes on as that actor. A crash, a drop, a switch or a rejoin still starts a fresh one, so an epoch's writers come to one per node plus one per such event. lifecycle.md says so.
* signatures: with sync messagestv3 days1-21/+7
| | | | | | | Sync messages carry, for each actor's writes, the latest signature the sender checked; the receiver checks it once it holds the change. Auth plan M5.
* signatures: kept in the document filetv3 days1-34/+167
| | | | | | | A node's signatures are saved with its document (--document-file) and loaded with it. Auth plan M5.
* document: allow writes during rejointv10 days1-0/+5
|
* use Automerge as Document instead of AutoCommittv11 days1-6/+6
| | | | This allows a lot of operations to drop mut.
* tests write through document::testing helperstv11 days1-4/+3
|
* move all automerge references to documenttv11 days1-6/+3
|
* document: move knowledge about node to swarmtv11 days1-132/+130
|
* allow humand-friendly durations and sizes in CLItv2026-10-261-2/+2
|
* unify lock logictv2026-10-261-3/+2
|
* allow to persist documenttv2026-10-251-0/+362