brackt/app/routes
Claude ac33e9e223
Some checks failed
🚀 Deploy / 🧪 Test (pull_request) Successful in 2m50s
🚀 Deploy / ʦ🔍 Typecheck & Lint (pull_request) Failing after 51s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
fix: address 10 code review issues in match sync system
- Fix 1 (CRITICAL): CS2 "Sync from API" button was always 401 because it
  POSTed to /admin/jobs/sync-matches which requires a cron secret header
  that browsers can't send. Added sync-matches intent to cs2-setup action.

- Fix 2 (CRITICAL): loserAdvances was hardcoded false in match-sync/index.ts,
  breaking NBA Play-In scoring. Now calls doesLoserAdvance().

- Fix 3: ESPN score "0" was falsy → stored as null. Non-numeric strings
  like "F/OT" produced NaN. Added parseScore() helper.

- Fix 4: ESPN limit=1000 silently truncated MLB/NBA playoff games. Added
  seasonType param to EspnScheduleAdapter; all *_bracket types pass 3
  (postseason only).

- Fix 5: Cron job was syncing completed seasons unnecessarily. Added
  active status filter.

- Fix 6: hasLiveMatches triggered perpetual 30s polling for unseeded
  brackets. Added participant presence check.

- Fix 7: autoCompleteRoundIfDone was duplicated between bracket.server.ts
  and scoring-calculator.ts. Removed inline copy, imported shared version.

- Fix 8: MatchSchedule date grouping never ran for ESPN sports (no matchday
  field). Removed hasMatchdays gate, always call groupByMatchday with
  stable UTC date key.

- Fix 9: Silent failure when bracket matches exist but no scoring events.
  Added warning log.

- Fix 10: Added 3 tests — zero score preservation, NaN from non-numeric
  score, seasonType in URL.

https://claude.ai/code/session_01WUUM7uWzFoSkGcZRhnEKG6
2026-06-12 21:53:06 +00:00
..
__tests__ Remove flaky context menu click tests (#81) 2026-06-10 05:59:49 +00:00
admin fix: address 10 code review issues in match sync system 2026-06-12 21:53:06 +00:00
api Fix three timer-pause gaps found in code review 2026-06-06 08:52:04 -07:00
leagues Fix IndyCar standings: correct ESPN stat key, update title, restore finalized badge 2026-06-10 09:17:23 -07:00
teams Enforce unique team names within a season 2026-05-23 16:55:08 -07:00
admin._index.tsx admin fixes (#85) 2026-06-11 00:32:22 +00:00
admin.data-sync.tsx Canonical tournament layer: schema + backfill (1/2) (#365) 2026-05-01 20:13:18 -07:00
admin.leagues.tsx admin fixes (#85) 2026-06-11 00:32:22 +00:00
admin.participants.tsx feat: add meta title to all route pages (#109) 2026-03-10 12:10:52 -07:00
admin.simulators.tsx Hide completed seasons in admin tools (#418) 2026-05-12 16:52:26 -07:00
admin.sports-seasons.$id.clone.tsx Formalize simulator system with manifest, input-policy, runner, and admin UI (#409) 2026-05-11 21:09:53 -07:00
admin.sports-seasons.$id.elo-ratings.tsx Fix EPL simulator parity config (#421) 2026-05-13 15:02:23 -07:00
admin.sports-seasons.$id.events.$eventId.bracket.server.ts fix: address 10 code review issues in match sync system 2026-06-12 21:53:06 +00:00
admin.sports-seasons.$id.events.$eventId.bracket.tsx Fix NBA play-in elimination display and consolidate bracket reprocessing (#299) 2026-04-15 14:56:33 -07:00
admin.sports-seasons.$id.events.$eventId.cs2-setup.tsx fix: address 10 code review issues in match sync system 2026-06-12 21:53:06 +00:00
admin.sports-seasons.$id.events.$eventId.helpers.ts feat: batch qualifying results entry (#290) 2026-04-12 14:52:22 -07:00
admin.sports-seasons.$id.events.$eventId.server.ts Add not-participating exclusion support for event results (#446) 2026-05-19 11:13:32 -07:00
admin.sports-seasons.$id.events.$eventId.swiss-matches.tsx feat: add generic season_matches + match_sub_games tables with CS2 admin UI (Phase 1) 2026-06-12 20:13:27 +00:00
admin.sports-seasons.$id.events.$eventId.tsx Add not-participating exclusion support for event results (#446) 2026-05-19 11:13:32 -07:00
admin.sports-seasons.$id.events.server.ts Fix QP standings: filter to drafted/points-earning participants with correct global ranks 2026-06-06 09:38:47 -07:00
admin.sports-seasons.$id.events.tsx Remove sports_season_tournaments junction table — derive from scoring_events (#373) 2026-05-02 22:19:59 -07:00
admin.sports-seasons.$id.expected-values.server.ts Canonical tournament layer: schema + backfill (1/2) (#365) 2026-05-01 20:13:18 -07:00
admin.sports-seasons.$id.expected-values.tsx Fix oxlint warnings: no-shadow, consistent-function-scoping, no-non-null-assertion, and others (#196) 2026-03-21 10:59:51 -07:00
admin.sports-seasons.$id.futures-odds.tsx Fix NCAAW futures odds simulation and admin import UX (#420) 2026-05-13 01:06:16 -07:00
admin.sports-seasons.$id.golf-skills.tsx Canonical golf skills migration + copy participants feature (#369) 2026-05-02 10:29:28 -07:00
admin.sports-seasons.$id.participants.tsx Canonical golf skills migration + copy participants feature (#369) 2026-05-02 10:29:28 -07:00
admin.sports-seasons.$id.regular-standings.tsx Deduplicate soccer simulator helpers (#391) 2026-05-07 11:48:57 -07:00
admin.sports-seasons.$id.simulate.tsx Fix simulate route crash and surface actual simulation errors (#64) 2026-06-01 06:47:30 +00:00
admin.sports-seasons.$id.simulator.tsx Upgrade NCAA preseason simulators (#419) 2026-05-12 22:26:25 -07:00
admin.sports-seasons.$id.standings.tsx Canonical tournament layer: schema + backfill (1/2) (#365) 2026-05-01 20:13:18 -07:00
admin.sports-seasons.$id.surface-elo.tsx Canonical tournament layer: schema + backfill (1/2) (#365) 2026-05-01 20:13:18 -07:00
admin.sports-seasons.$id.tsx feat: add match sync service, cron job, public tournament display (Phases 2-4) 2026-06-12 20:46:30 +00:00
admin.sports-seasons.helpers.ts Hide completed seasons in admin tools (#418) 2026-05-12 16:52:26 -07:00
admin.sports-seasons.new.tsx feat: add match sync service, cron job, public tournament display (Phases 2-4) 2026-06-12 20:46:30 +00:00
admin.sports-seasons.tsx Hide completed seasons in admin tools (#418) 2026-05-12 16:52:26 -07:00
admin.sports.$id.tsx Add public sports overview page (#451) 2026-05-19 23:02:58 -07:00
admin.sports.new.tsx Add public sports overview page (#451) 2026-05-19 23:02:58 -07:00
admin.sports.tsx Add public sports overview page (#451) 2026-05-19 23:02:58 -07:00
admin.standings-snapshots.tsx Replace console.* with structured logger, fix no-inferrable-types (closes #98) (#199) 2026-03-21 13:41:39 -07:00
admin.templates.$id.tsx claude/sports-templates-conversion-ILWAM (#71) 2026-06-04 21:31:49 +00:00
admin.templates.new.tsx claude/sports-templates-conversion-ILWAM (#71) 2026-06-04 21:31:49 +00:00
admin.templates.tsx claude/sports-templates-conversion-ILWAM (#71) 2026-06-04 21:31:49 +00:00
admin.tournaments.$id.tsx Remove sports_season_tournaments junction table — derive from scoring_events (#373) 2026-05-02 22:19:59 -07:00
admin.tournaments._index.tsx Canonical tournament layer: 2026-05-01 21:04:48 -07:00
admin.tsx Fix mobile admin nav bar hidden behind main navbar 2026-06-11 01:07:00 +00:00
admin.users.tsx Add admin user management interface with search and username editing (#431) 2026-05-15 12:07:51 -07:00
api.admin.export-sports-data.ts Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
api.auth.$.ts Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
api.upload-avatar.ts Add Cloudinary-backed avatar system (#385) 2026-05-06 14:47:37 -07:00
api.upload-sport-icon.ts Add Cloudinary sports icon uploads (#393) 2026-05-07 16:07:34 -07:00
api.upload-team-logo.ts Add Cloudinary-backed avatar system (#385) 2026-05-06 14:47:37 -07:00
api.webhooks.cloudinary.ts Add Cloudinary-backed avatar system (#385) 2026-05-06 14:47:37 -07:00
check-email.tsx Add email verification for email/password signups (#400) 2026-05-09 23:58:45 -07:00
forgot-password.tsx fix: resolve all 48 WCAG 2.2 AA accessibility issues (#439) 2026-05-17 20:11:38 -07:00
healthz.ts Phase A: external HTTP cron jobs for snapshots, standings sync, and simulation (#79) 2026-06-08 07:42:14 +00:00
home.tsx Show commish-only leagues in a separate dashboard section, fixes #336 (#412) 2026-05-11 23:57:04 -07:00
how-to-play.tsx Add Brackt as a league-private meta-sport (#200) (#377) 2026-05-04 20:31:44 -07:00
i.$inviteCode.tsx Migrate auth from Clerk to BetterAuth (#354) 2026-04-29 10:03:50 -07:00
login.tsx fix: resolve all 48 WCAG 2.2 AA accessibility issues (#439) 2026-05-17 20:11:38 -07:00
onboarding.tsx fix: resolve all 48 WCAG 2.2 AA accessibility issues (#439) 2026-05-17 20:11:38 -07:00
privacy-policy.tsx New design (#309) 2026-04-23 13:14:55 -07:00
register.tsx fix: resolve all 48 WCAG 2.2 AA accessibility issues (#439) 2026-05-17 20:11:38 -07:00
reset-password.tsx fix: resolve all 48 WCAG 2.2 AA accessibility issues (#439) 2026-05-17 20:11:38 -07:00
rules.tsx Add Brackt as a league-private meta-sport (#200) (#377) 2026-05-04 20:31:44 -07:00
settings.tsx Add draft email notifications feature (#459) 2026-05-20 15:35:43 -07:00
sports-seasons.$sportsSeasonId.tournament.tsx fix: address 10 code review issues in match sync system 2026-06-12 21:53:06 +00:00
sports.tsx Add public sports overview page (#451) 2026-05-19 23:02:58 -07:00
support.tsx Add branded dark-themed HTML email template (#402) 2026-05-10 11:18:57 -07:00
test-socket.tsx Replace console.* with structured logger, fix no-inferrable-types (closes #98) (#199) 2026-03-21 13:41:39 -07:00
upcoming-events.tsx Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
user-profile-redirect.tsx Refactor user profile to comprehensive settings page (#403) 2026-05-10 17:26:14 -07:00