Repository navigation
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
|
Landed in main via 332c668 — rebased onto current main and re-validated under Next 16.3.2 as part of today's merge queue (full gates green: tsc / vitest / lint / build). Thanks @mikeascendx for the contribution — authorship preserved in the rebased commit. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consolidates the work of three concurrent sessions onto one reviewable branch, on top of the 17 contributed fixes merged in #21.
What's in here
signUpso a failed account never strands a half-saved school.email_outboxqueue drained by a daily cron. Outbox rather than inline send becauserecordPaymentis idempotent: on a PayMongo retry it returns early, so an inline send that failed would be lost forever.select("*")and map defensively, so a lagging column costs one field instead of blanking every profile. Plus a preflight gate (npm run db:check) that fails the build when the DB is behind the code.postgres:16service applies every migration to a throwaway DB, and separately replays the production baseline then appliesconsolidated-pending.sqlon top.Why this PR exists
Primarily to make CI actually run. The migration harness had never executed against a real Postgres — this PR is what proves the consolidated SQL applies cleanly before it is pasted into production.
Do not merge until
db-migrationsCI is green here.Pending migrations, in order:
20260821010000_profiles_school_type,20260821020000_admin_profiles_agg_school_type,20260822000000_email_outbox,20260822000003_restrict_privileged_rpcs,20260822000004_server_only_public_writes,20260822000005_server_only_feedback_inserts.Verified locally
tsc --noEmitclean ·next lintclean · 821 tests passing across 86 files.Still open on their own branches: dual-secret rotation (unblocks #14), rate-limiter payment exemption (unblocks #20), and the university sector audit.