david
e3f9935d68
feat: auto-create tournament when uploading matches without selection
2026-03-31 03:38:34 -07:00
david
d051afba82
fix: update admin scripts to use PostgreSQL adapter and dotenv
2026-03-31 03:38:25 -07:00
david
af20a5d9ec
feat: update match API to calculate all rating systems
2026-03-31 03:38:19 -07:00
david
e3137085c8
feat: add Glicko2 rating system support
2026-03-31 03:38:16 -07:00
david
cfd36d375c
feat: add OpenSkill rating system support
2026-03-31 03:38:12 -07:00
david
2932d40ff7
fix: rename migrations to ensure init runs first
2026-03-31 03:38:07 -07:00
david
141ca7c93e
feat: add manual match entry form and match detail pages with diagram
2026-03-31 02:01:35 -07:00
david
e0d159ad8d
fix: remove logging from prisma client and fix users API routes
2026-03-31 01:15:57 -07:00
david
492a18aa1b
fix: remove duplicate win/loss increment in partnership stats calculation
2026-03-31 01:08:53 -07:00
david
5be7022382
docs: update TODO with Next.js 16 breaking change fixes and root cause analysis
2026-03-31 01:01:16 -07:00
david
1729dacdec
test: add Next.js 16 params Promise handling regression tests
2026-03-31 00:52:04 -07:00
david
b8d90897a4
fix: await params in Next.js 16 routes and pages for TypeScript compatibility
2026-03-31 00:50:56 -07:00
david
42217e182e
test: add regression tests for ID validation with Prisma v7
2026-03-31 00:24:28 -07:00
david
a1fb0e25a7
fix: validate ID parsing in API routes and player pages for Prisma v7
2026-03-31 00:21:02 -07:00
david
0f66815ed4
fix: validate tournament ID parsing for Prisma v7 strict type checking
2026-03-31 00:16:22 -07:00
david
3465082816
fix(prisma): use PostgreSQL adapter for Prisma v7 client connection
2026-03-31 00:10:47 -07:00
david
e1034adfcf
fix(prisma): add datasourceUrl to PrismaClient constructor for v7 compatibility
2026-03-31 00:04:16 -07:00
david
77de648200
test: update mocks for Prisma v7 stricter type checking
2026-03-31 00:00:50 -07:00
david
9649c62c28
fix(prisma): update schema for Prisma v7 datasource URL changes
2026-03-31 00:00:29 -07:00
david
15b579b919
chore(deps): upgrade React 18→19, Next.js 14→16, Prisma 6→7
2026-03-31 00:00:07 -07:00
david
b0aaffbecf
chore: fix linting errors in tests and api routes
2026-03-30 22:58:33 -07:00
david
6f83080fca
feat: update POST /api/matches to handle eventId and tournament match stats
2026-03-30 22:58:25 -07:00
david
9c8f1bc57d
feat: update MatchEditor to use tournament-specific scoring rules
2026-03-30 22:58:17 -07:00
david
ab41ede160
feat: add variant scoring controls to EditTournamentForm
2026-03-30 22:58:09 -07:00
david
d6a53f8912
feat: add targetScore and allowTies fields to tournament API routes
2026-03-30 22:58:01 -07:00
david
5d1755f082
chore: add variant scoring fields, fix tie handling, and fix test files for normalizedName
2026-03-30 22:48:31 -07:00
david
fb04a6c3f1
fix: delete elo snapshots before deleting duplicate players during merge
2026-03-30 22:20:18 -07:00
david
a7d94e9fee
fix: add tournament update API endpoint and consolidate delete into main tournaments API
2026-03-30 22:17:44 -07:00
david
4d9cbc9259
fix: add site_admin support to tournament permissions and fix session cache issues
2026-03-30 22:09:50 -07:00
david
fa7a422ce3
feat: add player merge functionality with automatic Elo recalculation
2026-03-30 22:04:31 -07:00
david
6001eda9aa
feat: add admin panel links to navigation header
2026-03-30 22:01:18 -07:00
david
db782ff504
feat: add player name editing functionality in admin UI and fix site_admin access to admin dashboard
2026-03-30 21:58:30 -07:00
david
9201b2c437
feat: add admin player management page
2026-03-30 21:51:26 -07:00
david
07804b5f8f
feat: add site_admin role, casual match support, and tournament deletion
2026-03-30 21:49:43 -07:00
david
d821dd7ce2
fix: include participants in getManageableTournaments query
2026-03-30 21:34:16 -07:00
david
c27aec72fc
chore: update dependencies and remove old SQLite migrations
2026-03-30 21:32:34 -07:00
david
0cf346f16a
feat: add user profile API endpoint
2026-03-30 21:32:00 -07:00
david
710e4f811e
test: add comprehensive tests for player deduplication, permissions, and user management
2026-03-30 21:31:55 -07:00
david
93af8dccef
feat: add scripts for player deduplication and user management
2026-03-30 21:31:49 -07:00
david
073681b30c
chore: add PostgreSQL migrations for database setup and player normalization
2026-03-30 21:31:43 -07:00
david
ef01061a05
chore: switch database provider from SQLite to PostgreSQL
2026-03-30 21:31:36 -07:00
david
e061e1e9f7
feat: add tournaments participated and recent matches to player profile
2026-03-30 21:31:06 -07:00
david
78b4c84eb8
feat: implement player deduplication in match upload
2026-03-30 21:30:58 -07:00
david
6feada4fd8
refactor: use permission system instead of direct session checks in admin pages
2026-03-30 21:30:50 -07:00
david
5748e416be
fix: remove duplicate tournament variable definitions in admin pages
2026-03-30 21:30:41 -07:00
david
e053cd7743
chore: add unique constraint to PartnershipStat table
2026-03-30 21:28:27 -07:00
david
3a78f354ad
feat: add recalculateAllElo function for idempotent ELO recalculation
2026-03-30 21:28:09 -07:00
david
04a42c903b
fix: ensure Prisma client generation and migrations in Docker build
...
- Add explicit step in both builder and runner stages
- Set DATABASE_URL environment variable for Prisma operations during build
- Run database migrations during build to support static page generation
- Copy package-lock.json to runner stage for production dependency installation
- Fix the original TypeScript error: Module '@prisma/client' has no exported member 'Event'
2026-03-29 21:48:44 -07:00
david
4cd744f10c
fix: resolve Prisma Event type conflict with global DOM Event
...
- Renamed Event import to EventModel to avoid conflict with global DOM Event interface
- Updated type assertion to use EventModel[]
2026-03-29 21:26:16 -07:00
david
c9415d490e
fix: improve error handling and type safety
...
- Replaced 'any' types with proper TypeScript types
- Improved error handling with instanceof checks
- Removed unused imports (calculateExpectedTeamScore)
- Updated error messages to be more descriptive
- Removed deprecated eslint.config.mjs file
2026-03-29 21:20:40 -07:00