Commit Graph

  • 03526fca97 fix(mentor): defer in-app-notification emails when mentoring round is draft main Matt 2026-05-27 13:12:41 +02:00
  • 61dfc608cd fix(mentor): restore Add Project on mentoring rounds + gate mentor assignment Matt 2026-05-26 15:20:01 +02:00
  • c4f7216bc1 feat(mentor): defer all assignment emails until round opens + per-project bulk UI Matt 2026-05-26 14:48:38 +02:00
  • cb2a864b7f feat(mentor): many-to-many bulk assignment (multi-mentor × multi-project) Matt 2026-05-26 14:25:41 +02:00
  • 195fc787a9 feat(mentor): bulk assignment + coalesced emails + team intros on round open Matt 2026-05-26 14:04:32 +02:00
  • 921019aaa4 fix(mentor): unbreak the mentor pipeline end-to-end Matt 2026-05-26 13:01:05 +02:00
  • 5b99d6a530 refactor(ui): strip all dark: Tailwind classes (single-theme product) Matt 2026-05-22 18:45:42 +02:00
  • 6969b9c2bc chore(deps): drop next-themes; remove ThemeProvider + theme toggle UI Matt 2026-05-22 18:31:28 +02:00
  • 3bc9c11a51 merge: PR10 — applicant nationality stats card Matt 2026-05-22 18:42:51 +02:00
  • 8d4b62a602 feat(reports): applicant nationality breakdown card with scope filter (PR10) Matt 2026-05-22 18:38:52 +02:00
  • f64e68e751 merge: PR8 — multi-mentor per team + change-requests + inline previews Matt 2026-05-22 18:26:37 +02:00
  • 48e48f058d feat(mentor-workspace): inline document preview matching applicant docs pattern Matt 2026-05-22 18:26:20 +02:00
  • ec92b03006 test(mentor): cover multi-mentor stacking + change-request procedures (PR8 Task 10) Matt 2026-05-22 17:20:01 +02:00
  • 349671f37c merge: PR8 Task 8 — admin multi-mentor UI + change-request inbox Matt 2026-05-22 17:13:02 +02:00
  • 4f444a1baa merge: PR8 Task 7 — applicant mentor list + request-change dialog Matt 2026-05-22 17:12:58 +02:00
  • d47db17027 merge: PR8 Task 9 — mentor co-mentor visibility Matt 2026-05-22 17:12:54 +02:00
  • 83e950bb67 feat(admin): multi-mentor stacking UI + change-request inbox (PR8 Task 8) Matt 2026-05-22 17:11:31 +02:00
  • ba115f71a0 feat(applicant): mentor list + request-change dialog (PR8 Task 7) Matt 2026-05-22 17:09:06 +02:00
  • d440b5f274 feat(mentor): show co-mentors on workspace page (PR8 Task 9) Matt 2026-05-22 17:07:11 +02:00
  • ee47c0305f feat(mentor): add change-request procedures + admin email notification Matt 2026-05-22 16:59:23 +02:00
  • 3a1eb149b6 feat(mentor-workspace): re-scope files from assignment to project for team-wide visibility Matt 2026-05-22 16:53:07 +02:00
  • a5ad11a1b5 feat(mentor): allow stacking mentors per team; send per-team assignment email Matt 2026-05-22 16:38:14 +02:00
  • 66110598a0 refactor(schema-cascade): rename Project.mentorAssignment → mentorAssignments Matt 2026-05-22 16:37:37 +02:00
  • 9152ebb399 feat(email): add sendMentorTeamAssignmentEmail for per-team mentor notifications Matt 2026-05-22 16:16:28 +02:00
  • a26e486ab5 chore(migration): include manual rollback.sql for PR8 multi-mentor Matt 2026-05-22 16:13:28 +02:00
  • e89dca24c3 feat(schema): multi-mentor per team + change-requests + per-assignment email field Matt 2026-05-22 15:58:16 +02:00
  • 3bcbf72ad6 fix(members): replace flat role checkbox grid with assigned-only dropdown + confirm modal Matt 2026-05-07 18:27:15 +02:00
  • 47746d79dd feat(auth): admin access link doubles as magic-login for users with passwords Matt 2026-05-07 17:35:22 +02:00
  • 44c7accf62 feat(admin): generate access link for users when email isn't reaching them Matt 2026-05-07 17:28:43 +02:00
  • 9a9a73dde2 fix(docker): query _prisma_migrations directly for failed-migration auto-resolve Matt 2026-05-07 17:10:44 +02:00
  • cad5b3fc28 fix(migration): drop default on User.roles before altering type Matt 2026-05-07 16:31:08 +02:00
  • 7bc2b84d1d refactor(awards): remove AWARD_MASTER role, fold features into jury chair flow Matt 2026-05-07 15:21:09 +02:00
  • a9116b5833 fix(applicant-feedback): correct dashboard card scale + visible criterion bars Matt 2026-05-07 12:34:45 +02:00
  • b7a4eac2b1 fix(applicant-feedback): correct scales, hide jury-internal criteria, declutter UI Matt 2026-05-07 12:21:52 +02:00
  • 55e6abc161 feat(finalization): winner email + UI for terminal rounds Matt 2026-05-05 20:30:35 +02:00
  • e8d0bb050f fix(finalization): skip MENTORING rounds in advancement display copy Matt 2026-05-05 20:02:35 +02:00
  • 6e36704bb1 feat(awards): notify jurors on assignment + admin reminder button Matt 2026-04-29 13:17:29 +02:00
  • 7d72ee271f fix(security): route ai-shortlist through canonical anonymization pipeline Matt 2026-04-29 04:14:58 +02:00
  • fbc42f11fd fix(security): defang CSV formula injection in all exports Matt 2026-04-29 04:14:42 +02:00
  • 9d0beed02f fix(security): file storage authorization hardening Matt 2026-04-29 03:30:00 +02:00
  • 89e637843a fix(security): harden user router role guards + drop self-service email change Matt 2026-04-29 03:29:09 +02:00
  • a1c293028a fix(security): per-role visibility on project.list and project.get Matt 2026-04-29 03:13:19 +02:00
  • 765bdf9f9e fix(security): restrict file.replaceFile to admins + team members only Matt 2026-04-29 03:13:11 +02:00
  • 48d29d4a6b fix(security): assignment check on getDiscussion/addComment/getCOIStatus Matt 2026-04-29 03:13:06 +02:00
  • 90dcb47c25 fix(security): assertWorkspaceAccess on mentor workspace messaging Matt 2026-04-29 03:13:01 +02:00
  • 35f46c3e34 fix(security): require jury membership for liveVoting.vote Matt 2026-04-29 03:12:54 +02:00
  • e0f6b7e741 chore: drop lunch placeholder from edition settings coming-soon card Matt 2026-04-29 02:50:39 +02:00
  • 31b98f6f1e feat: read-only external attendees strip on applicant dashboard Matt 2026-04-29 02:50:15 +02:00
  • df95867465 feat: lunch picker on attending-members card + admin slide-over Matt 2026-04-29 02:49:08 +02:00
  • ec24d404c5 feat: lunch banner on applicant dashboard Matt 2026-04-29 02:46:02 +02:00
  • 618def6174 feat: lunch recap actions card with preview + send + resend confirm Matt 2026-04-29 02:45:12 +02:00
  • bbfe2d8097 feat: external lunch attendees card + dialog Matt 2026-04-29 02:44:38 +02:00
  • 051dea4d0e feat: lunch manifest card with filters + CSV export Matt 2026-04-29 02:42:49 +02:00
  • 939a13c0e8 feat: lunch dishes card with create/edit/delete Matt 2026-04-29 02:42:07 +02:00
  • ec00942620 feat: lunch event configuration card Matt 2026-04-29 02:41:34 +02:00
  • 6fcabc89d7 feat: lunch tab scaffold + un-disable trigger Matt 2026-04-29 02:40:32 +02:00
  • d4e5d54de2 feat: lunch cron endpoints — reminders + recap Matt 2026-04-29 02:39:51 +02:00
  • 829a7e457a feat: lunch recap aggregation + sendRecap with forceUpdate gate Matt 2026-04-29 02:38:00 +02:00
  • 05b0412534 feat: lunch reminder + recap email templates Matt 2026-04-29 02:37:17 +02:00
  • a671bb853c feat: lunch manifest query + CSV export Matt 2026-04-29 02:34:24 +02:00
  • d779959e54 feat: lunch member reads — getEventForMember + getTeamPicks Matt 2026-04-29 02:33:24 +02:00
  • 9e14775f08 feat: lunch.upsertPick with role-aware guard + cutoff Matt 2026-04-29 02:32:42 +02:00
  • 06b171b0d4 feat: external lunch attendees CRUD Matt 2026-04-29 02:31:28 +02:00
  • 1f24f5539c feat: dish CRUD on lunch router Matt 2026-04-29 02:30:49 +02:00
  • 7da4200e72 feat: lunch.getEvent + lunch.updateEvent procedures Matt 2026-04-29 02:30:06 +02:00
  • 1a0afd8c6e feat: auto-create MemberLunchPick on attendee writes Matt 2026-04-29 02:28:51 +02:00
  • cdb18cc3d1 feat: schema for lunch event, dishes, picks, externals Matt 2026-04-29 02:23:55 +02:00
  • e16039142e docs: implementation plan for PR 6 — lunch event Matt 2026-04-29 02:20:07 +02:00
  • 1a58b3db1a docs: design spec for PR 6 — lunch event Matt 2026-04-29 02:06:28 +02:00
  • eb19cb11a1 chore: drop dead Logistics tabs + move visa toggle to settings Matt 2026-04-28 20:09:50 +02:00
  • 2f59b87e4f feat: Edition tab on /admin/settings Matt 2026-04-28 20:01:48 +02:00
  • 78992a493a feat: program.getEditionSettings + updateEditionSettings Matt 2026-04-28 19:59:31 +02:00
  • 62ab27a05a feat: mentor detail side sheet + Teams column Matt 2026-04-28 19:52:17 +02:00
  • 030db533e1 fix: size logistics tab bar to fit buttons + horizontal scrollbar Matt 2026-04-28 19:45:52 +02:00
  • 7824b00ff4 fix: horizontal scroll on logistics tab bar instead of wrapping Matt 2026-04-28 19:44:38 +02:00
  • 46a78c3a74 feat: render visa status + next date on AttendingMembersCard Matt 2026-04-28 19:40:25 +02:00
  • fe630e0e2d feat: admin Visas tab — table + edit dialog + visibility toggle Matt 2026-04-28 19:37:55 +02:00
  • 7c86e42413 feat: applicant.getMyVisaApplications gated by program toggle Matt 2026-04-28 19:33:40 +02:00
  • 0e104e0b6f feat: admin visa CRUD procedures Matt 2026-04-28 19:32:52 +02:00
  • bdfd99874a feat: auto-create/sync VisaApplication on attendee writes Matt 2026-04-28 19:31:28 +02:00
  • 289903c8bd feat: schema for visa tracking (additive) Matt 2026-04-28 19:28:53 +02:00
  • 6e5f607425 feat: admin can confirm/decline attendance on team behalf Matt 2026-04-28 19:03:01 +02:00
  • ff355ee10e feat: gate mentor auto-assign on CONFIRMED finalist status Matt 2026-04-28 18:57:18 +02:00
  • 903ec2401f chore: bump version to 1.0.0 Matt 2026-04-28 18:55:12 +02:00
  • a6284e5c66 feat: edit-attendees dialog + roster card on applicant dashboard Matt 2026-04-28 18:54:40 +02:00
  • 5b642c3d50 feat: finalist.editAttendees with cutoff and diff-based update Matt 2026-04-28 18:50:52 +02:00
  • 3d8aab46f1 feat: mentor self-drop dialog on project detail page Matt 2026-04-28 18:48:09 +02:00
  • 3bc1cc14c7 feat: mentor self-drop with required reason Matt 2026-04-28 18:44:45 +02:00
  • 5bdb65181d feat: finalist.unconfirm with mentor cascade Matt 2026-04-28 18:37:34 +02:00
  • e706913a57 feat: add MENTEE_DROPPED + MENTOR_DROPPED notification types Matt 2026-04-28 18:35:50 +02:00
  • 6487f4b209 feat: schema — mentor assignment drop tracking Matt 2026-04-28 18:34:49 +02:00
  • 57ec28edad feat: logistics page shell + Confirmations/Travel/Hotels tabs Matt 2026-04-28 18:25:29 +02:00
  • d1f29a149a feat: list-confirmations admin query Matt 2026-04-28 18:20:40 +02:00
  • b1e6eb81eb feat: flight-detail CRUD on logistics router Matt 2026-04-28 18:19:39 +02:00
  • 497145b983 feat: hotel CRUD on logistics router Matt 2026-04-28 18:18:16 +02:00
  • 88548cbea3 feat: schema for logistics hotels + flight tracking Matt 2026-04-28 18:17:09 +02:00
  • 95055e0dae feat: admin UI for finalist slot quotas + waitlist on grand-finale round Matt 2026-04-28 18:07:55 +02:00
  • 437bed2326 feat: public finalist confirmation page UI Matt 2026-04-28 18:04:25 +02:00
  • 14a81cd6ec feat: auto-cascade cron + admin waitlist management procedures Matt 2026-04-28 18:00:47 +02:00
  • 19ef364c71 feat: public confirm/decline procedures with waitlist auto-promotion Matt 2026-04-28 17:58:31 +02:00