|
All checks were successful
🚀 Deploy / 🧪 Test (pull_request) Successful in 1m29s
🚀 Deploy / ʦ TypeScript (pull_request) Successful in 1m20s
🚀 Deploy / 🔍 Lint (pull_request) Successful in 50s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
Three issues identified by code review: 1. Per-league queue: replace single global queue with a Map keyed by leagueId so concurrent drafts in different leagues don't block each other. 2. Deadlock fix: wrap drainer body in try/finally so drainingLeagues is always cleaned up even if a task throws unexpectedly, preventing the queue from being permanently stuck. 3. Wait cap fix: move Math.min to wrap the full backoff expression (retryAfter * (attempt+1)) so the 10s ceiling applies to the product, not just the base — settings actions were previously blockable for up to 30s. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| autodraft.update.ts | ||
| draft.adjust-time-bank.ts | ||
| draft.force-autopick.ts | ||
| draft.force-manual-pick.ts | ||
| draft.make-pick.ts | ||
| draft.pause.ts | ||
| draft.replace-pick.ts | ||
| draft.resume.ts | ||
| draft.rollback.ts | ||
| draft.start.ts | ||
| queue.add.ts | ||
| queue.clear.ts | ||
| queue.remove.ts | ||
| queue.reorder.ts | ||
| seasons.$seasonId.draft.ts | ||
| user.timezone.ts | ||
| watchlist.toggle.ts | ||