brackt/app/routes/leagues
Chris Parsons 5f23885097
fix: prevent silent logout during long-running draft sessions (#49)
Clerk's short-lived JWTs (60s) can expire when browser tabs are
backgrounded and the SDK's refresh interval is throttled. This left
users silently logged out — actions returned 401s shown as generic
error toasts with no recovery path.

Prevention: refresh the Clerk JWT on tab visibility change so the
token is always fresh when the user returns from a backgrounded tab.

Detection: replace all 12 raw fetch() calls with an authFetch wrapper
that catches 401 responses and sets an authDegraded state, triggering
a blocking recovery overlay instead of confusing toasts.

Recovery: AuthRecoveryOverlay (mirrors ConnectionOverlay pattern)
prompts the user to reload the page, which re-authenticates via
Clerk's long-lived session cookie.

Also adds missing try/catch to handleStartDraft, handleMakePick,
handleForceAutopick, handleForceManualPick, and handleReplacePick
which previously had no network error handling.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:33:03 -08:00
..
__tests__ fix: guard against stale revalidation overwriting fresh socket data 2026-03-01 12:23:24 -08:00
$leagueId.draft-board.$seasonId.tsx Claude/fix pick timer ghll n (#29) 2026-02-22 19:29:29 -08:00
$leagueId.draft.$seasonId.tsx fix: prevent silent logout during long-running draft sessions (#49) 2026-03-01 19:33:03 -08:00
$leagueId.server.ts Claude/fix pick timer ghll n (#29) 2026-02-22 19:29:29 -08:00
$leagueId.settings.tsx fix: address code review issues from draft board scrolling and team creation changes (#35) 2026-02-24 10:01:27 -08:00
$leagueId.sports-seasons.$sportsSeasonId.server.ts Fix sports season page 404 when sports season is linked to multiple leagues (#10) 2026-02-20 11:35:35 -08:00
$leagueId.sports-seasons.$sportsSeasonId.tsx feat: Add routes and components for sports season display, including playoff brackets and standings 2025-11-12 23:44:33 -08:00
$leagueId.standings.$seasonId.teams.$teamId.tsx feat: Implement team breakdown pages with detailed score breakdown 2025-11-14 20:01:21 -08:00
$leagueId.standings.$seasonId.tsx Claude/fix pick timer ghll n (#29) 2026-02-22 19:29:29 -08:00
$leagueId.tsx feat: show live draft alert banner on league page (#42) 2026-02-27 23:00:42 -08:00
new.tsx Add implementation plan for commissioner-without-team feature (#6) 2026-02-20 08:45:09 -08:00