- Add delete procedure to round tRPC router with cascade and audit log
- Add delete option to rounds list dropdown menu
- Show confirmation dialog with project/assignment counts before deletion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Cherry-picking individual prisma modules fails due to transitive
deps (effect, @prisma/config, etc). Copy full node_modules instead.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use direct node path to prisma CLI instead of npx
- Copy seed dependencies (bcryptjs, papaparse, tsx, esbuild) for manual seeding
- Copy package.json for module resolution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add getConfiguredModel() that reads ai_model from SystemSettings
- AI assignment and mentor matching now use the admin-selected model
- Remove duplicate OpenAI client in mentor-matching (use shared singleton)
- Add GPT-5, GPT-5 Mini, o3, o3 Mini, o4 Mini to model dropdown
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add public page at /email/change-password for Poste.io mailbox password management
- Add API routes for SMTP credential verification and Poste.io password change
- Rewrite nginx config as HTTP-only (certbot --nginx will add SSL)
- Add Poste.io admin API env vars to docker-compose and env templates
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add missing @mantine/utils to lock file so npm ci works in CI.
Document that npm/node commands must also use PowerShell on Windows.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Full Next.js 15 platform with tRPC, Prisma, PostgreSQL, NextAuth.
Includes production Dockerfile (multi-stage, port 7600), docker-compose
with registry-based image pull, Gitea Actions CI workflow, nginx config
for portal.monaco-opc.com, deployment scripts, and DEPLOYMENT.md guide.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>