A retry loop for one async call: exponential backoff with full jitter, a shouldRetry predicate, a live countdown to the next attempt, and cancellation that clears every timer.
Zyeon UI limits how often it can be asked, and useRetry hasn't had its turn. Its source will show here once it has.