Skip to content

Use shared transactional template for verification emails - #68

Merged
Eoic merged 1 commit into
developmentfrom
agent/verification-email-template
Nov 7, 2026
Merged

Eoic merged 1 commit into
developmentfrom
agent/verification-email-template

Conversation

@Eoic

@Eoic Eoic commented Nov 7, 2026

Copy link
Copy Markdown
Member

Verification emails currently contain only plain text. Render them through the shared transactional email template, with a Verify email action and the same single-use URL and expiry guidance as the plain-text alternative.

Related to #22 (TASK-AUTH-02), PapyrusReader/client#60 (TASK-AUTH-03), and client PR PapyrusReader/client#134. Supports FR-1_1 and FR-1_4; follows up on #67.

Behavior

  • Reuse the existing HTML template and renderer used by other account emails; retain the plain-text alternative.
  • Preserve delivery leasing, retries, token identity, expiry, and the verification endpoint. Template-rendering failures follow the existing retry path.
  • No API, schema, dependency, or migration changes.

Validation

  • tools/papyrus check server: Ruff lint/format and strict Mypy passed.
  • tools/papyrus test server -- tests/services/test_verification.py tests/api/routes/test_auth.py tests/services/test_account_notifications.py: 86 passed against the isolated local test database.
  • After final wording adjustment, the delivery retry and resend-route regressions passed again. Tests assert the shared template, matching HTML/plain-text URLs, preserved expiry, and successful verification using the delivered token.
  • Real SMTP/provider delivery was not exercised. CI is separate from these local results.

No deployment is included.

Copilot AI balanced review requested due to automatic review settings November 7, 2026 19:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-07T19:44:41.513537Z aed82bb PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Eoic
Eoic merged commit c3d356e into development Nov 7, 2026
1 check passed
@Eoic
Eoic deleted the agent/verification-email-template branch November 7, 2026 19:55
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