Skip to content

Board: per-chapter email sender - #100

Merged
getvindicated2day merged 1 commit into
mainfrom
board-chapter-sender
Oct 12, 2026
Merged

getvindicated2day merged 1 commit into
mainfrom
board-chapter-sender

Conversation

@getvindicated2day

@getvindicated2day getvindicated2day commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

What this does

Board emails now use a sender for each chapter instead of the one shared BOARD_INVITE_FROM. This covers announcement emails, calendar invites and submission emails.

  • Berkeley: Rana <president@getvindicated.org>
  • UCLA: President Fiona <vindicatedbruins@getvindicated.org>

Both senders live in lib/board/chapter-server.ts as from, with the display name and address together. A chapter set to from: null falls back to BOARD_INVITE_FROM, written either as a bare address or as Name <address>. Reply-to is unchanged: the organizer for announcements and invites, and the submitter for submissions.

The setup checks now only ask for BOARD_INVITE_FROM when a chapter has no sender of its own. Submission emails used to come from getvindicated@outlook.com; that address is now only the last fallback.

Tested (local production build, Brevo replaced by a stub, BOARD_INVITE_FROM unset)

  • UCLA announcement test: President Fiona <vindicatedbruins@getvindicated.org>, replies to fionarhine@ucla.edu.
  • Berkeley announcement test: Rana <president@getvindicated.org>, replies to Rana.
  • Test calendar invites (.eml From header): the same senders for each chapter, with the organizer as Reply-To.
  • Submissions: UCLA from President Fiona, Berkeley from Rana, replies to the submitter, with recipients unchanged.
  • Fallback parsing checked for a bare address, Name <address> and "Name" <address>.
  • Typecheck, lint and build pass.

Deploy notes

No new variables. BOARD_INVITE_FROM can stay as a fallback; neither chapter needs it now.


Generated by Claude Code

Announcements, calendar invites and submission emails now come from the
chapter's sender in chapter-server.ts (Berkeley: Rana
<president@getvindicated.org>, UCLA: President Fiona
<vindicatedbruins@getvindicated.org>). BOARD_INVITE_FROM is the fallback
for a chapter without one, and the setup checks only ask for it then.
Reply-to is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzNDQSmhjgKE63rwUnwcMq
@getvindicated2day
getvindicated2day merged commit 049cb2d into main Oct 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants