Files
ngit-grasp/src
DanConwayDev dbdb6edf4a fix(sync): honor subscription pauses before reconnecting refused peers
PolicyLimited returned reconnect-allowed unconditionally, hiding an active
transport failure deadline. Production refused peers consequently redialed
within two seconds of disconnect while their failure streak was increasing.

Reject dial admission during active policy, rate, or request-failure pauses.
After those expire, continue enforcing the existing transport deadline.
Established live connections remain untouched and SDK auto-reconnect remains
disabled, so the application is the reconnect admission authority.

This assumes a new socket cannot repair a subscription refusal during its
pause. It deliberately does not ban the peer or modify remote state.

Validation: 932 library tests and 114 sync integration tests passed (one
ignored), formatting and strict all-target Clippy passed. The new regression
checks policy refusal plus disconnect, policy expiry with transport backoff
still active, eventual admission, and a separate silent-request pause.

The integration validation includes a separate follow-up fixture correction:
its last-update log search missed already installed coverage for another relay.

Assisted-by: GPT-6
2026-09-24 06:50:16 +00:00
..