mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Give a blanked link one immediate second chance so a momentary failure recovers right away instead of waiting out the full self-heal window. - A transient fetch failure (timeout/5xx/network) earns one inline retry after a short backoff before falling into the 30s self-heal wait. If that retry succeeds the card shows immediately. - A rate limit (429) skips the inline retry (an immediate retry would just be throttled again) and waits out its Retry-After instead, so we do not re-trip the limit. The whole sequence stays under one coalesced promise inside the 2-concurrent scheduler. - Move the rate-limit / transient-status classification into the rate_limit submodule where retry_after_duration already lives, keeping link_preview.rs within the file-size ratchet. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>