Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
🎯 Changes
If a
retryorretryDelayfunction throws, the retryer never settles. The query stays infetchStatus: 'fetching'forever, is never garbage collected, and later refetches reuse the same stuck promise. A mutation in ascopealso blocks every mutation queued after it.This happens with a common pattern like:
A network error has no
response, so this throws aTypeError.The fix wraps both calls in a
try/catchand rejects with the thrown error. I used the callback's error instead of the original one so the mistake in the callback shows up instead of being hidden. This matches how a synchronous throw fromfnis handled.Added two tests to
retryer.test.tsx. Without the fix they time out.✅ Checklist
pnpm run test:pr, or these tests do not apply to this pull request.🚀 Release Impact
Summary by CodeRabbit
retryorretryDelaycallback throws, instead of remaining pending and fetching.