feat(notifications): include issue description in emails#1136
Merged
timothyfroehlich merged 5 commits intomainfrom Mar 29, 2026
Merged
feat(notifications): include issue description in emails#1136timothyfroehlich merged 5 commits intomainfrom
timothyfroehlich merged 5 commits intomainfrom
Conversation
…_assigned emails Adds the issue description as a sanitized blockquote in notification emails for new issues and issue assignments, giving recipients immediate context without needing to click through. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Updates to Preview Branch (feat/email-issue-description) ↗︎
Tasks are run on every commit but only new migration files are pushed.
View logs for this Workflow Run ↗︎. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds issue descriptions to notification emails (for new_issue and issue_assigned) by converting stored ProseMirror docs to plain text and rendering them in the email HTML with sanitization.
Changes:
- Pass
issueDescription(plain text viadocToPlainText) into notification creation forcreateIssueandassignIssue. - Extend email formatting to optionally render the description in a
<blockquote>fornew_issue/issue_assigned. - Add unit tests covering description rendering, omission, and XSS sanitization behavior.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/services/issues.ts | Adds plain-text issueDescription to notification payloads for new issues and assignments. |
| src/lib/notifications.ts | Threads issueDescription through createNotification into email rendering. |
| src/lib/notification-formatting.ts | Renders the description blockquote in new_issue and issue_assigned emails with sanitization. |
| src/test/unit/notification-formatting.test.ts | Adds unit tests for description inclusion/omission and sanitization in emails. |
| src/services/issues.test.ts | Updates service test expectations to include issueDescription for createIssue. |
…Text call - Move description blockquote outside <p> tag (block elements can't be nested inside <p>; invalid HTML causes inconsistent email client rendering) - Compute docToPlainText once and reuse for both issueDescription and commentContent in the mentions path, avoiding redundant doc traversal Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2 tasks
…rendering - Replace 8 positional params with EmailHtmlOptions interface - Move sanitizedDescription computation to only run for new_issue/issue_assigned types - Fix blockquote HTML indentation in template literal - Add integration test verifying description flows through assignIssue() - Update all call sites and test assertions to use options object Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This was referenced Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
<blockquote>in notification emails fornew_issueandissue_assignedtypesdocToPlainText()before including in emailssanitize-htmlbefore renderingTest plan
new_issueandissue_assignedemailspnpm run checkpasses (749 tests, types, lint, format)🤖 Generated with Claude Code