aboutsummaryrefslogtreecommitdiffstats
path: root/src/remake/snapshot.rs
Commit message (Collapse)AuthorAgeFilesLines
* rules: a carried remake record taken from the coordinator its snapshot namestv3 days1-0/+6
| | | | | | | | | | | | | | | | | Review finding 7, second part: a record carried into a new epoch whole (proposal and decision in one change) was taken from any member, for any remake ID. A member could write a forged record, decision included, for a fresh ID in a single change. The snapshot's epoch metadata now names the remake's coordinator, as the quorum built it. The carried-record exception holds only in a later epoch, only for the remake that made it, and only from the coordinator its snapshot names, where there is no record yet. Wire version 43: the snapshot, and so the epoch ID, changes. The review suggested carrying the record inside the snapshot instead. The snapshot can't hold the decision, which names the snapshot's own hash. So the snapshot vouches for who may carry the record instead.
* store: keys_at tells no map from an empty onetv4 days1-1/+2
| | | | | | | | registry::exists counted any value at _continuum/users as a registry; keys_at answers None where there is no map, and its users (records, members, forget records, remakes) say what they make of it. Auth plan M1 (fix).
* use Automerge as Document instead of AutoCommittv11 days1-45/+49
| | | | This allows a lot of operations to drop mut.
* tests write through document::testing helperstv11 days1-82/+84
|
* remake: drop parse_metadatatv12 days1-12/+8
|
* remove some dead commentstv2026-10-261-5/+3
|
* wrap unix timestamps in newtypetv2026-10-261-7/+8
|
* move protocol paths to dedicated moduletv2026-10-261-22/+11
|
* nodes keep list of every actor ID they've usedtv2026-10-251-1/+2
|
* add possibility to start with a documenttv2026-10-251-0/+53
| | | | The --recover-from option allows a node start with a given document.
* put swarm ID into the documenttv2026-10-251-0/+2
|
* add votes registertv2026-10-241-3/+15
|
* put remake content into blobstv2026-10-241-5/+5
|
* rename cluster to swarm everywhere!tv2026-10-211-8/+8
|
* add the replace kind of remaketv2026-10-211-1/+1
| | | | | | | | | | | | | | POST /admin/remakes accepts specs with replace kind, e.g.: { "kind": "replace", "baseHeads": ["..."], "spec": { "document": { "accounts": { ... } }, "rules": [ { "from": "users", "to": "accounts" }, { "from": "users/admin", "drop": true }, { "from": "", "to": "" } ] } }
* turn compaction into a kind of remaketv2026-10-211-7/+72
|
* rename compaction to remaketv2026-10-211-0/+637