-
Notifications
You must be signed in to change notification settings - Fork 11.7k
feat: add proration invoice and reminder email templates #27246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
8f29823 to
9f69f09
Compare
9f69f09 to
fea5046
Compare
Add email templates for monthly proration billing notifications: - ProrationInvoiceEmail: Sent when invoice is created for additional seats - ProrationReminderEmail: Sent 7 days later if invoice remains unpaid Includes: - React email templates using V2BaseEmailHtml - BaseEmail classes for rendering - Billing email service functions - Translation keys for email content Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
fea5046 to
b23fdaa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting
| ); | ||
| } | ||
|
|
||
| await Promise.all(emailsToSend); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Promise.allSettled() ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 issue found across 7 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="packages/emails/templates/proration-reminder-email.ts">
<violation number="1" location="packages/emails/templates/proration-reminder-email.ts:68">
P2: Use the existing translation keys for the plain-text body instead of embedding the English string directly so the reminder email localizes correctly.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
|
|
||
| protected getTextBody(): string { | ||
| const formattedAmount = (this.proration.proratedAmount / 100).toFixed(2); | ||
| return `Reminder: Your invoice of $${formattedAmount} for team ${this.team.name} is still unpaid. Please pay to avoid restrictions on adding new users.`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: Use the existing translation keys for the plain-text body instead of embedding the English string directly so the reminder email localizes correctly.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/emails/templates/proration-reminder-email.ts, line 68:
<comment>Use the existing translation keys for the plain-text body instead of embedding the English string directly so the reminder email localizes correctly.</comment>
<file context>
@@ -0,0 +1,70 @@
+
+ protected getTextBody(): string {
+ const formattedAmount = (this.proration.proratedAmount / 100).toFixed(2);
+ return `Reminder: Your invoice of $${formattedAmount} for team ${this.team.name} is still unpaid. Please pay to avoid restrictions on adding new users.`;
+ }
+}
</file context>
Devin AI is addressing Cubic AI's review feedbackA Devin session has been created to address the issues identified by Cubic AI. |
|
I reviewed the Cubic AI feedback for this PR. The issue identified at Per my instructions, I'm only addressing issues with a confidence score of 9/10 or higher. Since this issue is below that threshold, I'm skipping it for now. The PR author or reviewers can decide whether to address this feedback manually. |
Summary
Changes
sendProrationInvoiceEmails,sendProrationReminderEmails)Test plan