aboutsummaryrefslogtreecommitdiffstats
path: root/src/state/host.rs
Commit message (Collapse)AuthorAgeFilesLines
* swarm: changes taken unjudged, dropped (REFUSALS)tv4 days1-1/+85
| | | | | | | | | A node refusing changes a peer brought tells it which broke a rule; the peer judges them itself, and if its rules refuse them too, drops them with all built on them (its document forked without them, a fresh actor), quarantining its own writes among them. Wire version 42. Auth plan M6 (rejoin on taint).
* access: signatures requiredtv4 days1-2/+15
| | | | | | | | "signatures": "required": a change counts only once a signature by its committer vouches for it, and waits until then; every node then signs every change it makes. Auth plan M6.
* access: the policy enforcedtv4 days1-3/+18
| | | | | | | | _continuum/access/policy ({"version": 1}) has every node screen every change it receives, on every path changes come in. A policy a node doesn't know stops its writes through the API. GET /admin/refused. Auth plan M6.
* remake: forgetting and releasing name their usertv4 days1-0/+19
| | | | | | | Forget records and released quarantines name the user who made them, so they are judged by its capabilities. Auth plan M6.
* signatures: changes signed by their nodetv4 days1-0/+2
| | | | | | | | | | Every node signs the changes it commits with its node key, an Ed25519 signature over the change's hash, kept beside the document. One signature on an actor's latest change vouches for its earlier ones. Protocol data and paths listed in _continuum/access/signed are signed, and writes with ?signed=true. Auth plan M5.
* refuse misplaced authorstv4 days1-0/+5
|
* bootstrap: replace pull by progress notifytv10 days1-0/+2
|
* document: allow writes during rejointv10 days1-100/+169
|
* LWW everywhere, mostlytv10 days1-0/+29
|
* remake: copy stale view when writes stoptv10 days1-0/+13
| | | | This ensures that stale reads show every write that was answered.
* state: drop epoch_txtv10 days1-3/+3
| | | | The stamp is the only lock-free epoch label.
* document: reject writes during rejointv10 days1-2/+14
|
* use Automerge as Document instead of AutoCommittv11 days1-5/+31
| | | | This allows a lot of operations to drop mut.
* rename AutoMerge to Documenttv11 days1-9/+9
|
* remake needs sane clocktv11 days1-0/+4
|
* unify request_sync logictv11 days1-2/+1
|
* move ChangeSet from swarm to documenttv11 days1-1/+2
|
* unify sync_on predicatetv11 days1-4/+2
|
* unify source resettv11 days1-3/+2
|
* peers from member list start as unknowntv2026-10-281-3/+3
|
* move keepalive and firewall to pathstv2026-10-281-8/+18
|
* rename PING/PONG to STATUS/STATUS_REPLYtv2026-10-281-2/+2
|
* introduce bounded blob downloadstv2026-10-261-2/+6
|
* wrap unix timestamps in newtypetv2026-10-261-2/+2
|
* unify peers snapshot logictv2026-10-261-16/+4
|
* unify lock logictv2026-10-261-8/+3
|
* split state moduletv2026-10-251-0/+276