Files
ngit-grasp/src/sync
DanConwayDev fb9d22aefe fix(sync): bound missing-event retries per ID
Unrelated events arriving during recovery reset the shared no-progress budget,
allowing persistently unavailable IDs to keep retrying indefinitely. Track
failed fetches per ID and rotate bounded requests in FIFO order instead.

Only attempted unresolved IDs consume their twelve-fetch budget. Preserve
backoff for remaining failures and keep the relay degraded after any expiry,
even when younger IDs subsequently recover. Disconnected deferrals and daily
rediscovery remain unchanged; this does not alter event authorization.

Validation: all 945 library tests passed, including regressions for unrelated
progress, registration during a fetch, partial expiry and fair request rotation.

Assisted-by: GPT-6
2026-09-25 10:55:44 +00:00
..