Commit graph

  • 194f9087a3
    Add sortable columns to draft picks table on manager page (#207) Chris Parsons 2026-03-22 19:20:01 -07:00
  • 5e9fc0e2f4
    Fix pick sort to use pure pick number (matches tests) Claude 2026-03-23 02:16:16 +00:00
  • 4e8f76996c
    Fix code review issues in TeamScoreBreakdown sortable table Claude 2026-03-23 02:08:10 +00:00
  • 906fb6865a
    Add sortable columns to draft picks table on manager page Claude 2026-03-23 01:49:53 +00:00
  • 88e18412ec
    Don't show Game #1 label for single-game matchups in calendar (#206) Chris Parsons 2026-03-22 16:39:26 -07:00
  • aca6f3d327
    Cache isSeries per entry to avoid re-deriving it in the finalization loop Claude 2026-03-22 23:36:22 +00:00
  • 01b012e09c
    Split series games into individual calendar entries, each showing Game #x Claude 2026-03-22 21:25:29 +00:00
  • 7001ec1227
    Show game number when multiple games from same series are in date window Claude 2026-03-22 21:18:32 +00:00
  • a4c5e7b4d5
    Fix Game #1 label for multi-game series when only Game #1 is in date window Claude 2026-03-22 21:03:09 +00:00
  • 6d6508d503
    Show game number for Game #2+ in series, hide Game #1 for single-game matchups Claude 2026-03-22 20:41:19 +00:00
  • 6f51ad8c78
    Don't show Game #1 label for single-game matchups in calendar Claude 2026-03-22 20:38:23 +00:00
  • 8c5389909d
    Redesign standings page with sortable table, 7-day change, and chart repositioned (#205) Chris Parsons 2026-03-22 11:05:13 -07:00
  • 8eb25c88f3
    Fix movement indicator arrow count assertion to exclude sort header arrows Claude 2026-03-22 17:56:17 +00:00
  • 26b51cc28b
    Update StandingsTable tests to match redesigned component Claude 2026-03-22 17:48:30 +00:00
  • 5e572d6351
    Code review fixes: module-level comparators, correct type on SortableHead, handle negative point change, remove redundant spread Claude 2026-03-22 17:17:54 +00:00
  • 0b74a6a2d2
    Redesign standings page with sortable table, 7-day change, and chart repositioned Claude 2026-03-22 17:14:33 +00:00
  • c1be92b2af
    Add AFL season + finals simulator (closes #126) (#204) Chris Parsons 2026-03-22 01:57:39 -07:00
  • c83774223b Add AFL season + finals simulator (closes #126) Chris Parsons 2026-03-22 01:53:43 -07:00
  • 46a2e9c199
    Tune NHL simulator: Vegas futures blending + parity factor calibration (closes #168) (#202) Chris Parsons 2026-03-22 00:14:18 -07:00
  • 39dfec7fd2 Tune NHL simulator: Vegas futures blending + parity factor calibration (closes #168) Chris Parsons 2026-03-22 00:10:47 -07:00
  • 7093b22726
    Simulate NBA remaining regular season games from standings (#201) Chris Parsons 2026-03-21 23:37:20 -07:00
  • 58f7f2b6d5 Simulate NBA remaining regular season games from standings Chris Parsons 2026-03-21 23:33:04 -07:00
  • 618bc57ec1
    Replace console.* with structured logger, fix no-inferrable-types (closes #98) (#199) Chris Parsons 2026-03-21 13:41:39 -07:00
  • 029cc96ffc Replace console.* with structured logger, fix no-inferrable-types (closes #98) Chris Parsons 2026-03-21 13:38:31 -07:00
  • 4bffa40606
    Fix oxlint warnings: no-shadow, consistent-function-scoping, no-non-null-assertion, and others (#196) Chris Parsons 2026-03-21 10:59:51 -07:00
  • 79f0a22b7e Add npm run typecheck as Stop hook in Claude settings Chris Parsons 2026-03-21 10:57:24 -07:00
  • c26573f435 Fix TypeScript errors from no-non-null-assertion fixes Chris Parsons 2026-03-21 10:56:40 -07:00
  • 13a36e6c41 Fix prefer-add-event-listener, no-unassigned-import, require-module-specifiers Chris Parsons 2026-03-21 10:51:21 -07:00
  • 552fe28b99 Fix no-non-null-assertion lint violations and promote to error Chris Parsons 2026-03-21 10:48:48 -07:00
  • 4de6cb23a0 Fix no-shadow and consistent-function-scoping lint violations Chris Parsons 2026-03-21 10:14:54 -07:00
  • 180aad1520
    Fix postgres connection pool leak in development (#195) Chris Parsons 2026-03-21 09:57:53 -07:00
  • ece3e63902 Fix postgres connection pool leak in development Chris Parsons 2026-03-21 09:50:37 -07:00
  • e2b178221a
    Add oxlint linting setup with zero errors (#194) Chris Parsons 2026-03-21 09:44:05 -07:00
  • 5cb0a626ad Promote no-explicit-any to error Chris Parsons 2026-03-21 09:32:58 -07:00
  • 2b9ffc0b62 Fix no-explicit-any warnings and upgrade tsconfig to ES2023 Chris Parsons 2026-03-21 09:30:59 -07:00
  • bf0ddaa8aa Add oxlint and fix all lint errors Chris Parsons 2026-03-21 08:40:51 -07:00
  • bcca8b76fa
    Add regular season standings for NBA/NHL (fixes #89) (#192) Chris Parsons 2026-03-21 00:12:01 -07:00
  • feb0018f2a Add regular season standings for NBA/NHL (fixes #89) Chris Parsons 2026-03-21 00:07:28 -07:00
  • 2949ca733a
    Add standard draft clock mode (#67) (#189) Chris Parsons 2026-03-20 21:36:39 -07:00
  • 1f8ab02c23 Add standard draft clock mode (#67) Chris Parsons 2026-03-20 21:33:25 -07:00
  • ebe06b2522
    Improve drag handle UX in queue items with activator node (#188) Chris Parsons 2026-03-20 16:19:44 -07:00
  • c499fb9595
    Fix O(n²) lookup, memoize components and callbacks in QueueSection Claude 2026-03-20 22:54:28 +00:00
  • 21119abf12
    Code review cleanup: use GripVertical icon and add drag activation constraint Claude 2026-03-20 22:50:11 +00:00
  • a10abd8b48
    Fix queue drag to only activate on handle and number, not entire row Claude 2026-03-20 22:44:10 +00:00
  • 3f3401f0d8
    Recalculate league standings after EV simulation updates (#186) Chris Parsons 2026-03-20 14:39:05 -07:00
  • b21c553c9c
    Polish simulate route after code review Claude 2026-03-20 21:33:47 +00:00
  • e284d08f2b
    Use recalculateStandings directly after EV simulation Claude 2026-03-20 21:31:21 +00:00
  • 7cf37aace8
    Force standings recalculation after EV simulation Claude 2026-03-20 21:21:47 +00:00
  • 063834d8e6
    Display team owner names in standings views (#184) Chris Parsons 2026-03-19 20:19:28 -07:00
  • fb8e672f77
    Address code review: type hygiene, explicit types, parallel fetching, style fix Claude 2026-03-20 03:16:51 +00:00
  • 5fd9c6410b
    Show team name + username in standings, extract TeamNameDisplay component Claude 2026-03-20 03:11:34 +00:00
  • fa0e798db7
    Add "Games to Score" widget to admin dashboard (#183) Chris Parsons 2026-03-19 19:25:37 -07:00
  • 4501d9875a
    Document dual game date storage in CLAUDE.md Claude 2026-03-20 02:07:58 +00:00
  • 32ae32ab6a
    Fix getEventsForDates to include bracket events by game scheduledAt Claude 2026-03-20 01:57:53 +00:00
  • 4044a6372e
    Add "Games to Score" widget to admin dashboard Claude 2026-03-20 01:53:58 +00:00
  • d271cc6792
    Refactor standings notifications to show only changed teams (#182) Chris Parsons 2026-03-19 15:52:57 -07:00
  • 7c25852dfa
    Refactor Discord notification logic in scoring calculator Claude 2026-03-19 22:33:18 +00:00
  • b0c43ef2d3
    fix: only set winnerUsername when winning team's score actually changed Claude 2026-03-19 22:10:11 +00:00
  • be9f30753f
    Refine Discord webhook scoring notifications (fixes #180, #181) Claude 2026-03-19 21:54:29 +00:00
  • 52e7c98805 Fix migration Chris Parsons 2026-03-18 22:54:01 -07:00
  • 51a0a3ebba
    Add isDraftable toggle to sport seasons (#165) (#178) Chris Parsons 2026-03-18 22:40:19 -07:00
  • ce48998430 Add isDraftable toggle to sport seasons (#165) Chris Parsons 2026-03-18 22:36:57 -07:00
  • a054247a55
    Fix standings snapshot upsert: atomic writes, correct date, and event-driven updates (#177) Chris Parsons 2026-03-18 22:15:28 -07:00
  • 840e041137 Fix standings snapshot upsert: atomic writes, correct date, and event-driven updates Chris Parsons 2026-03-18 22:09:50 -07:00
  • 09b9b9bdad
    Optimize user data fetching with batch queries and centralize display name logic (#176) Chris Parsons 2026-03-18 16:46:07 -07:00
  • 4ebcc061bb
    Fix N+1 user queries in buildOwnerMap Claude 2026-03-18 23:42:37 +00:00
  • 1b5016ab2a
    Fix N+1 user queries in league loader and settings loader Claude 2026-03-18 23:30:31 +00:00
  • 3ba9d15f9e
    Extract getUserDisplayName helper and use consistently throughout Claude 2026-03-18 23:15:01 +00:00
  • 05ba57651f
    Fall back to displayName when username is null for Discord webhook Claude 2026-03-18 23:06:00 +00:00
  • 143698cb96
    Fix NCAAM/NCAAW simulators: FF completion handling and validation hardening (#169) Chris Parsons 2026-03-18 01:37:55 -07:00
  • bf9f4e88aa Fix NCAAM/NCAAW simulators: FF completion handling and validation hardening Chris Parsons 2026-03-18 01:34:39 -07:00
  • 6f5ea35952
    Add NHL playoff simulator and fix simulator dropdown (#166) Chris Parsons 2026-03-18 01:23:53 -07:00
  • 665902806d Add NHL playoff simulator and fix simulator dropdown Chris Parsons 2026-03-18 01:20:59 -07:00
  • 9d1765d8a4
    Auto-name teams on claim and harden owner-assignment logic (#163) Chris Parsons 2026-03-18 00:53:40 -07:00
  • 54a4f7fc01 Fixing dropdown for admins Chris Parsons 2026-03-18 00:50:53 -07:00
  • 7f26b74b2b Auto-name teams on claim and harden owner-assignment logic Chris Parsons 2026-03-18 00:46:15 -07:00
  • 41384f08fb
    Grant sitewide admins commissioner-level access in leagues (#162) Chris Parsons 2026-03-18 00:41:56 -07:00
  • 1e9bcee0e1 Fix draft.force-manual-pick tests broken by isUserAdminByClerkId Chris Parsons 2026-03-17 16:17:20 -07:00
  • 57e6ed0215 Grant sitewide admins commissioner-level access in leagues Chris Parsons 2026-03-17 16:11:54 -07:00
  • dfaf1f0589
    Fix participantsRemaining not counting non-scoring-round eliminations (#161) Chris Parsons 2026-03-17 15:02:19 -07:00
  • b0938ffff6 Fix participantsRemaining not counting non-scoring-round eliminations Chris Parsons 2026-03-17 14:54:00 -07:00
  • 7236c8aefb
    Add Discord usernames, fix calculateTeamScore partial-score bug, and add admin re-score action (#160) Chris Parsons 2026-03-17 14:34:09 -07:00
  • 8a14e1b316 Add Discord usernames, fix calculateTeamScore partial-score bug, and add admin re-score action Chris Parsons 2026-03-17 14:31:20 -07:00
  • af99f6d002
    Fix bracket point averaging and partial-score display in standings/breakdown (#159) Chris Parsons 2026-03-17 14:00:32 -07:00
  • b2ef5e208e Fix typecheck: cast DUMMY_EV_ROW to any in test fixture Chris Parsons 2026-03-17 13:56:51 -07:00
  • af790cca50 Fix bracket point averaging and partial-score display in standings/breakdown Chris Parsons 2026-03-17 13:54:28 -07:00
  • beab6400b2
    Fix partial bracket scoring, rank labels, and Discord notification bugs (#158) Chris Parsons 2026-03-17 12:34:10 -07:00
  • ccbe84117a Fix partial bracket scoring, rank labels, and Discord notification bugs Chris Parsons 2026-03-17 12:25:00 -07:00
  • 79f7a41837
    Add Discord webhook notifications for standings updates (#157) Chris Parsons 2026-03-17 11:16:36 -07:00
  • 0f43248a3d Fix process-match-result tests: add sportsSeasons to db mock Chris Parsons 2026-03-17 11:13:55 -07:00
  • db49c83999 Fix Discord notification edge cases from code review Chris Parsons 2026-03-17 11:09:49 -07:00
  • 1f8a69a2b7 Add Discord webhook notifications for standings updates Chris Parsons 2026-03-17 11:08:45 -07:00
  • dbffddc9ff
    Partial bracket scoring, code review fixes, and double-chance logic (#156) Chris Parsons 2026-03-17 10:50:30 -07:00
  • 1e3dbee7ac Partial bracket scoring, code review fixes, and double-chance logic Chris Parsons 2026-03-17 10:11:09 -07:00
  • 33f9ad6ebe
    Simplify team breakdown page layout and fix code quality issues (#155) Chris Parsons 2026-03-17 09:20:41 -07:00
  • 9989d71523 Simplify team breakdown page layout and fix code quality issues Chris Parsons 2026-03-17 09:16:40 -07:00
  • 5a48327102 Fix NBA simulator missing from dropdown and enum not applied to prod DB Chris Parsons 2026-03-16 22:18:50 -07:00
  • e5431ebd0b Fix missing NBA simulator dropdown. Chris Parsons 2026-03-16 22:02:50 -07:00
  • cbaab920f9
    Add NBA playoff bracket Monte Carlo simulator (#154) Chris Parsons 2026-03-16 21:43:39 -07:00
  • 35d4ffbac7 Add NBA playoff bracket Monte Carlo simulator Chris Parsons 2026-03-16 21:38:49 -07:00