From f8c22d623fb1ee9759c8b7e8f0da5754673f48c0 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 5 Nov 2026 16:42:00 +0100 Subject: heal is last --- docs/peers.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/peers.md b/docs/peers.md index 5f5cfc9..eefb0cc 100644 --- a/docs/peers.md +++ b/docs/peers.md @@ -471,6 +471,12 @@ only for those, without saying what it has; Automerge would send just them, and ask again for theirs, one round trip per missing change. So we answer as if it had nothing since what we share: everything since then goes at once (a blob, if large). +The heal comes last, under all of this: only where sync is idle on our side (nothing +awaited) while heads stay apart. A pair whose sync messages are lost keeps awaiting +answers, resending with each reply timeout, and doesn't heal: a re-handshake would be +lost the same way. What the heal is for is a session out of step that nothing above +notices; no scenario of the bench, lossy, slow or with members away, needs one. + ## Timings Derived from `--keepalive` (`Timing::from_keepalive`, [`state/timing.rs`](../src/state/timing.rs)): -- cgit v1.3.1