Problem
No timeouts or retry logic on any HTTP call. All reqwest calls use default timeouts (effectively infinite connect, 30s overall). No handling for 429 rate limits or 5xx transient errors.
Proposed Solution
- Set
Client::builder().timeout(Duration::from_secs(30)) globally
- Add a simple retry wrapper (max 3 retries with exponential backoff) for 429/5xx responses
- Especially important for
ci --watch and merge --wait loops
Category: enhancement | Priority: medium
Problem
No timeouts or retry logic on any HTTP call. All reqwest calls use default timeouts (effectively infinite connect, 30s overall). No handling for 429 rate limits or 5xx transient errors.
Proposed Solution
Client::builder().timeout(Duration::from_secs(30))globallyci --watchandmerge --waitloopsCategory: enhancement | Priority: medium