From c914173379941d7df67ccff0c16a2d6a46c4291d Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 24 Oct 2026 20:09:15 +0200 Subject: follow and download from ready members only --- src/remake/catchup.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/remake/catchup.rs') diff --git a/src/remake/catchup.rs b/src/remake/catchup.rs index 39b9550..56aeee1 100644 --- a/src/remake/catchup.rs +++ b/src/remake/catchup.rs @@ -71,11 +71,13 @@ pub(super) async fn check(host: &H) { } let local = host.current_epoch(); + // Only ready members count: a rejoining peer advertises an epoch it doesn't hold + // yet, and a node of another swarm (or a stranger) advertises one that isn't ours. let mut ahead: Vec<(String, Epoch)> = host .peer_summaries() .await .into_iter() - .filter(|peer| peer.active) + .filter(|peer| peer.serves()) .filter_map(|peer| peer.epoch.map(|epoch| (peer.id, epoch))) .filter(|(_, epoch)| epoch.generation > local.generation) .collect(); -- cgit v1.3.1