| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | sync: a delta's signatures as a blob of their own | tv | 30 hours | 1 | -1/+38 |
| | | | | | | | | | | | | | | | | | | | | | | | | | A sync message larger than the threshold for its peer (16 chunks, lower on a slow link or after a message to it failed whole) goes as a delta: the peer fetches its changes in chunks, from any node holding them. Its signatures, each writer's latest with changes in it, went in the envelope offering it: up to 65536 of them, 6 MiB, in one message, the size the delta exists to avoid. Nor did an Automerge message count its signatures (one per writer in a whole document pulled) towards the threshold. A delta's signatures are now a blob of their own: the offerer packs and keeps them (Blobs::keep, the latest 64), and the spec names them by BLAKE3 hash and size (DeltaSpec::signatures, None where no signature vouches for its changes). They are served as content (BlobId::Content), so their hash checks them. The receiver fetches them from the offerer alone, as another node holding the changes holds signatures of its own, before the changes, and offers them under the write lock just before judging the changes, so they wait for them as before. The envelope of a delta carries none. An Automerge message's signatures count towards its size: past the threshold, it goes as a delta. Wire version 49. | ||||
| * | offerer asked first | tv | 7 days | 1 | -2/+4 |
| | | |||||
| * | chunk fetch counters | tv | 7 days | 1 | -1/+12 |
| | | |||||
| * | first chunk by the fastest | tv | 7 days | 1 | -14/+33 |
| | | |||||
| * | chunks from dropped sources | tv | 7 days | 1 | -13/+19 |
| | | |||||
| * | last chunks from two | tv | 8 days | 1 | -1/+55 |
| | | |||||
| * | unreached sources hand over | tv | 8 days | 1 | -1/+26 |
| | | |||||
| * | chunk timeout adapts | tv | 8 days | 1 | -6/+74 |
| | | |||||
| * | manifests asked at once | tv | 8 days | 1 | -45/+57 |
| | | |||||
| * | measure deflated chunks | tv | 8 days | 1 | -8/+14 |
| | | |||||
| * | deflate blob chunks | tv | 8 days | 1 | -4/+27 |
| | | |||||
| * | blob window grows | tv | 8 days | 1 | -5/+10 |
| | | |||||
| * | one delta at a time | tv | 8 days | 1 | -7/+38 |
| | | |||||
| * | time blob messages | tv | 8 days | 1 | -0/+2 |
| | | |||||
| * | large messages over slow links are deltas | tv | 11 days | 1 | -0/+23 |
| | | |||||
| * | use Automerge as Document instead of AutoCommit | tv | 13 days | 1 | -3/+2 |
| | | | | | This allows a lot of operations to drop mut. | ||||
| * | move changes as bytes to document | tv | 13 days | 1 | -130/+12 |
| | | |||||
| * | rename AutoMerge to Document | tv | 13 days | 1 | -9/+9 |
| | | |||||
| * | talk about "transport" unless mycelium is meant | tv | 2026-10-27 | 1 | -8/+8 |
| | | |||||
| * | reject and warn about too large delta blobs | tv | 2026-10-26 | 1 | -0/+4 |
| | | |||||
| * | add delta blobs | tv | 2026-10-26 | 1 | -14/+186 |
| | | |||||
| * | warn about dropped blob requests | tv | 2026-10-26 | 1 | -0/+28 |
| | | |||||
| * | add sync and relay stats | tv | 2026-10-26 | 1 | -0/+1 |
| | | |||||
| * | introduce bounded blob downloads | tv | 2026-10-26 | 1 | -13/+41 |
| | | |||||
| * | read stamps sync and lock free | tv | 2026-10-26 | 1 | -2/+2 |
| | | |||||
| * | allow humand-friendly durations and sizes in CLI | tv | 2026-10-26 | 1 | -1/+1 |
| | | |||||
| * | unify lock logic | tv | 2026-10-26 | 1 | -9/+4 |
| | | |||||
| * | late messages don't flip peer's epoch back | tv | 2026-10-25 | 1 | -2/+6 |
| | | |||||
| * | put remake content into blobs | tv | 2026-10-24 | 1 | -4/+21 |
| | | |||||
| * | add chunked download and use it during rejoin | tv | 2026-10-24 | 1 | -0/+491 |
