mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-11-16 00:00:37 +08:00
The `Announcer` logic was subtly different to the fetching logic, where the preferred seeds need to be announced to *and* the replication factor had to be reached. This patch relaxes that constraint, and allows it to hit either targets before exiting. This also surfaced an issue with the with the `Progress` calculation, where calculating the `unsynced` used the `synced` value to subtract. However, this was not required because `to_sync` is mutated, so the value is simply `to_sync.len()`. A test case was added to ensure this is correct by checking that invariant that the total between synced and unsynced nodes always matches the total of synced and unsynced progress.