Skip to content

Switch production email from Gmail to Resend - #380

Closed
github-actions[bot] wants to merge 3 commits into
mainfrom
hotfix-setup-resend-smtp-9d3d
Closed

Switch production email from Gmail to Resend#380
github-actions[bot] wants to merge 3 commits into
mainfrom
hotfix-setup-resend-smtp-9d3d

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Automated PR tracking changes from hotfix-setup-resend-smtp-9d3d into dev.


Note

High Risk
Touches production SMTP/sign-in, new Cloud Storage IAM and schema, and removes the staff audit API—verify Resend domain verification, bucket access, and any /admin/audit consumers before merge.

Overview
Production email moves from consumer Gmail to Resend SMTP (smtp.resend.com, EMAIL_SERVER_PASSWORD as the API key, noreply@datasciencegt.org). apphosting.yaml and env docs are updated; mass-email comments no longer cite Gmail’s daily cap.

Resume book adds member_resume metadata in Postgres and PDFs in RESUME_BUCKET (dsgt-resumes), with tRPC metadata (resume router + resume-list), Prometheus gauges, and new ops doc. Club project applications can attach an optional PDF on initiative_applications (required pitch, applicantResume for leaders); profile resumes use GCS, not tRPC bytes.

Public club projects get a club_project table, Fall 2026 seed script (db:seed:club-projects), and member-facing docs; glossary/copy shifts from “initiative” to “club project” in user-facing text.

Portal API hardening and load: CacheService.getOrSet collapses cache stampedes; cheaper deletePattern and eviction sweeps; volunteers no longer count as isAdmin; new admin.growth insights; hot paths (events check-in, hackathon resolve, admin analytics) use getOrSet or fewer queries. The audit tRPC router is removed (tests dropped).

CI bumps pnpm/action-setup to v5 and stops pinning pnpm in workflows so packageManager / pnpm-workspace.yaml settings apply. Monitoring adds p99 latency recording, a tail-slow alert, and Grafana p99 panels.

Reviewed by Cursor Bugbot for commit 10963c0. Bugbot is set up for automated code reviews on this repo. Configure here.

aamoghS and others added 3 commits September 7, 2026 17:47
The edge proxy sent X-Frame-Options: DENY on /api/resume, so Chrome's PDF viewer reported a failed load for a file that was already on disk. Preview now fetches the PDF as a blob, and uploads keep the original bytes instead of a pdf-lib rewrite that can corrupt real resumes.

Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>
Force the blob to application/pdf, reject non-PDF bodies, and add an
Open-in-new-tab path so Chrome's viewer is not the only way to see a
stored resume.

Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>
Point App Hosting at smtp.resend.com with user resend. The Resend API
key belongs in Secret Manager as EMAIL_SERVER_PASSWORD, not in git.
From-address is noreply@datasciencegt.org, which Resend will reject
until that domain is verified.

Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>
@github-actions
github-actions Bot requested a review from aamoghS as a code owner September 7, 2026 18:12
@cursor cursor Bot changed the title Feature: hotfix-setup-resend-smtp-9d3d to dev Switch production email from Gmail to Resend Sep 7, 2026
@cursor
cursor Bot changed the base branch from dev to main September 7, 2026 18:13
@aamoghS aamoghS closed this Sep 7, 2026
@cursor
cursor Bot deleted the hotfix-setup-resend-smtp-9d3d branch September 7, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant