Test and document shared tournament deadlines
Some checks failed
Deploy MineGeo to Dokploy / deploy (push) Failing after 2m20s
Some checks failed
Deploy MineGeo to Dokploy / deploy (push) Failing after 2m20s
This commit is contained in:
@@ -26,8 +26,9 @@ Delivery uses two-minute database leases, a stable Discord nonce, bounded reques
|
||||
|
||||
Apply the checked-in migrations before deploying the application code, in filename order. The relevant additions are:
|
||||
|
||||
1. `supabase/migrations/20261018060642_extended_difficulty_rules.sql`
|
||||
2. `supabase/migrations/20261018060844_tournaments.sql`
|
||||
1. `supabase/migrations/20261018075331_extended_difficulty_rules.sql`
|
||||
2. `supabase/migrations/20261018075348_tournaments.sql`
|
||||
3. `supabase/migrations/20261019044542_shared_tournament_deadline.sql`
|
||||
|
||||
Use the project's normal controlled database migration process. If applying these through the Supabase SQL editor, run each complete file once, in that order, after the earlier project migrations. These files are schema changes, not application `.env` settings. Do not clear production data to repair a missing table. If PostgREST reports a stale schema cache after a successful migration, reload its schema cache with `NOTIFY pgrst, 'reload schema';`.
|
||||
|
||||
@@ -42,3 +43,11 @@ A missing migration or database connection pauses scheduling; the worker retries
|
||||
`npm test` includes tournament schema-validation, API, timer, and announcement tests. `npm run typecheck -- --incremental false` checks the server/client contracts. `node scripts/test-tournaments-sql.mjs` runs SQL integration tests against an isolated in-memory PostgreSQL-compatible fixture and requires the local test dependency at `.data/sql-verification/node_modules/@electric-sql/pglite`.
|
||||
|
||||
The SQL suite covers the 32-player limit, locked owner actions, registration, shared game engine, standings, announcement leases, and restricted direct database access. Announcement unit tests use fake Discord clients; they do not publish messages. Apply production migrations and verify a real opted-in event deliberately after deployment; no external test announcement is required during local development.
|
||||
|
||||
## 1.0.4.1 bug fix — October 19, 2026
|
||||
|
||||
Shared budgets above 600 seconds previously inherited the ordinary engine's shorter mini-round deadline. The shared-deadline migration makes each active mini-round use the persisted tournament-round deadline, including after transitions. Polling does not extend that deadline. Separate mini-round timers retain their existing behavior.
|
||||
|
||||
The migration was applied to the configured MineGeo production database. A production query confirmed the corrected function, invoker security, and server-only execution permissions. Regression coverage fails against the original function and passes with the correction. The complete tournament SQL suite, 179 unit tests, TypeScript check, and production HTTP/API/Storage smoke test passed; the smoke test completed and cleaned up a temporary five-round guest game. No application code changed, so this fix requires no web deployment or restart.
|
||||
|
||||
The [Discord bug-fix update](https://discord.com/channels/1558039087980486728/1558048830770122772/1561601584360722495) was posted with only the two requested role mentions. It contains no event announcement.
|
||||
|
||||
Reference in New Issue
Block a user