| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | benchmark where twice comes from | tv | 3 days | 1 | -1/+1 |
| | | |||||
| * | resend only what is needed | tv | 3 days | 1 | -1/+1 |
| | | |||||
| * | benchmark delivered and twice | tv | 3 days | 1 | -0/+8 |
| | | |||||
| * | any message taken as delivered | tv | 3 days | 1 | -11/+20 |
| | | |||||
| * | tree messages need no answer | tv | 3 days | 1 | -2/+15 |
| | | |||||
| * | writers from authors | tv | 5 days | 1 | -6/+20 |
| | | |||||
| * | tree changes had already | tv | 5 days | 1 | -4/+14 |
| | | |||||
| * | replace eager links by trees | tv | 5 days | 1 | -13/+5 |
| | | |||||
| * | add writer trees | tv | 5 days | 1 | -6/+15 |
| | | |||||
| * | introduce eager links | tv | 5 days | 1 | -5/+13 |
| | | |||||
| * | document: introduce patch log | tv | 6 days | 1 | -3/+3 |
| | | |||||
| * | large messages over slow links are deltas | tv | 6 days | 1 | -7/+17 |
| | | |||||
| * | peer worker sleeps until deadline, not fixed time | tv | 6 days | 1 | -0/+11 |
| | | |||||
| * | bootstrap: replace pull by progress notify | tv | 6 days | 1 | -0/+1 |
| | | |||||
| * | use Automerge as Document instead of AutoCommit | tv | 7 days | 1 | -5/+5 |
| | | | | | This allows a lot of operations to drop mut. | ||||
| * | move SyncSession to document | tv | 7 days | 1 | -1/+1 |
| | | |||||
| * | move all automerge references to document | tv | 7 days | 1 | -14/+6 |
| | | |||||
| * | move changes as bytes to document | tv | 7 days | 1 | -4/+1 |
| | | |||||
| * | sync messages are bytes outside the session | tv | 7 days | 1 | -3/+2 |
| | | | | | | | | | SyncPayload is now an opaque byte container in transport. SyncSession::generate returns the encoded payload, state::decode_sync(&payload) decodes it off the document lock (as before), and receive takes the decoded message, which is a type only the session can open. transport/mod.rs no longer imports Automerge. | ||||
| * | propagate clock figures | tv | 8 days | 1 | -1/+4 |
| | | |||||
| * | unify usage of is_dormant | tv | 8 days | 1 | -2/+2 |
| | | |||||
| * | unify request_sync logic | tv | 8 days | 1 | -21/+5 |
| | | |||||
| * | move change publisher to own module | tv | 8 days | 1 | -81/+0 |
| | | |||||
| * | move ChangeSet from swarm to document | tv | 8 days | 1 | -10/+1 |
| | | |||||
| * | cleanup log messages | tv | 11 days | 1 | -8/+8 |
| | | |||||
| * | talk about "transport" unless mycelium is meant | tv | 12 days | 1 | -3/+7 |
| | | |||||
| * | reject and warn about too large delta blobs | tv | 12 days | 1 | -0/+5 |
| | | |||||
| * | add delta blobs | tv | 12 days | 1 | -5/+116 |
| | | |||||
| * | decode sync messages lazily | tv | 12 days | 1 | -1/+3 |
| | | | | | | | | Sync messages are now being decoded only where they are applied: after membership has been checked, in the sync lane's blocking task. Debug now shows only the size instead of the whole message. | ||||
| * | add pull queue | tv | 12 days | 1 | -2/+4 |
| | | |||||
| * | send sync messages off worker | tv | 12 days | 1 | -1/+23 |
| | | |||||
| * | add session IDs | tv | 13 days | 1 | -15/+23 |
| | | | | | | This prevents the regenerate flag from being lost across reset_sync during an in-flight send. | ||||
| * | wrap unix timestamps in newtype | tv | 13 days | 1 | -1/+1 |
| | | |||||
| * | SyncSessions owns Automerge's sync state | tv | 13 days | 1 | -78/+11 |
| | | |||||
| * | unify lock logic | tv | 13 days | 1 | -2/+2 |
| | | |||||
| * | add clock module | tv | 13 days | 1 | -1/+2 |
| | | | | | | The Clock module is the system clock that every unix timestamp new goes through. It comes with an offset that only tests can set. | ||||
| * | recompute neighbours whenever topology changes | tv | 13 days | 1 | -0/+7 |
| | | |||||
| * | late messages don't flip peer's epoch back | tv | 13 days | 1 | -3/+4 |
| | | |||||
| * | cache heads | tv | 2026-10-24 | 1 | -2/+3 |
| | | | | | To reduce the number of write locks, heads are now cached. | ||||
| * | being caught up needs some heads | tv | 2026-10-24 | 1 | -5/+9 |
| | | | | | | | | | | | | A sync message from a ready peer only completes the initial sync if that peer has at least one head. A peer with an empty document can no longer make a joiner ready on an empty store: a misconfigured second swarm, or a genesis node in its first seconds. Effect on a brand-new swarm: a joiner now waits until the genesis node has registered itself in the member list, which happens within about 5 s of it becoming ready. | ||||
| * | add chunked download and use it during rejoin | tv | 2026-10-24 | 1 | -0/+6 |
| | | |||||
| * | add throughput stats | tv | 2026-10-24 | 1 | -1/+18 |
| | | |||||
| * | add propagation stats | tv | 2026-10-24 | 1 | -0/+15 |
| | | |||||
| * | add swarm stats | tv | 2026-10-24 | 1 | -1/+7 |
| | | |||||
| * | pull missing changes | tv | 2026-10-24 | 1 | -5/+14 |
| | | | | | | | Nodes push changes to their neighbours but don't relay them directly. In a partial mesh, nodes can learn about missing changes via keepalive messages and can pull them from their neighbours. | ||||
| * | sync with neighbours | tv | 2026-10-24 | 1 | -1/+13 |
| | | |||||
| * | retry using fresh messages | tv | 2026-10-24 | 1 | -158/+127 |
| | | | | | | Don't store encoded messages but retry using a newly generated one. That way any accumulated changes can be delivered at once. | ||||
| * | drop stall breaker; resend needed changes | tv | 2026-10-24 | 1 | -65/+21 |
| | | | | | | | The stall breaker was superseded by regular re-handshaking Re-handshaking also gets triggered, when a node needs some of the heads its peer believes it has already sent. In that case the peer now resends what's needed. | ||||
| * | both sides may open sync after reset | tv | 2026-10-23 | 1 | -19/+8 |
| | | | | | | | | | | | Ready nodes will leave the first message to the pear that isn't ready. Hello and hello reply now carry ready, so readiness is known from the very first contact, before any sync. Together with the sync messages and keepalives, reports_ready is always current. After epoch switch, pings go to everyone except ready members already on the new epoch, these learn from the lagging peer's opening. | ||||
| * | perform handshake in one round trip | tv | 2026-10-23 | 1 | -1/+0 |
| | | |||||
