From b9a5e375d0b02cd79eb927a14f6b11df75241697 Mon Sep 17 00:00:00 2001 From: Adam Masiarek Date: Wed, 19 Aug 2026 16:54:59 -0400 Subject: [PATCH] fix(emails): "update you ballot" -> "update your ballot" in the receipt The plaintext ballot receipt reads "While the election is still open, you can update you ballot at ...". One character, but it sits in the sentence that hands the voter their vote-changing credential -- the single most trust-sensitive line either email template contains. Co-Authored-By: Claude Opus 5 --- packages/backend/src/Services/Email/EmailTemplates.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/Services/Email/EmailTemplates.ts b/packages/backend/src/Services/Email/EmailTemplates.ts index 7e4fcce70..9280ec006 100644 --- a/packages/backend/src/Services/Email/EmailTemplates.ts +++ b/packages/backend/src/Services/Email/EmailTemplates.ts @@ -96,7 +96,7 @@ export function Receipt(election: Election, email: string, ballot: Ballot, url: from: process.env.FROM_EMAIL_ADDRESS ?? '', subject: `Ballot Receipt For ${election.title}`, text: `${election.state === 'draft' ? '[⚠️Test Ballot]' : ''} Thank you for voting in ${election.title}, you can view your ballot and ballot status at \ - ${ballotVerifyUrl}. ${election.settings.ballot_updates && roll ? `While the election is still open, you can update you ballot at ${ballotUpdateUrl}`: ''}`, + ${ballotVerifyUrl}. ${election.settings.ballot_updates && roll ? `While the election is still open, you can update your ballot at ${ballotUpdateUrl}`: ''}`, html: emailTemplate(`
${election.state === 'draft' ? "

⚠️This was cast as a test ballot. All test ballots will be removed once the election is finalized, and at that time you will need to vote again.⚠️

" : ''}