Skip to content

[PM-41951] sponsored families email template copy - #8217

Open
JaredScar wants to merge 4 commits into
mainfrom
ac/pm-41951-sponsored-families-email-template-copy
Open

[PM-41951] sponsored families email template copy#8217
JaredScar wants to merge 4 commits into
mainfrom
ac/pm-41951-sponsored-families-email-template-copy

Conversation

@JaredScar

@JaredScar JaredScar commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-41951

📔 Objective

Fixes email copy for new terminology directed by Design.

📸 Screenshots

image image

…ature flag support

- Updated email templates for existing and new accounts to include conditional messaging based on the VFO1FoundationEnabled feature flag.
- Adjusted the HandlebarsMailService and related interfaces to support the new messaging logic.
- Modified the FamiliesForEnterpriseOfferViewModel to include the feature flag property.
- Ensured that the bulk email sending methods accommodate the new feature flag for dynamic content rendering.
… removing feature flag conditions

- Removed conditional messaging based on the VFO1FoundationEnabled feature flag from email templates for existing and new accounts.
- Updated the HandlebarsMailService and related interfaces to reflect the removal of the feature flag.
- Adjusted the FamiliesForEnterpriseOfferViewModel to eliminate the feature flag property.
- Ensured that bulk email sending methods are streamlined without the feature flag logic.
@JaredScar
JaredScar requested a review from a team as a code owner August 14, 2026 16:14
@JaredScar
JaredScar requested a review from djsmith85 August 14, 2026 16:14
@JaredScar JaredScar added ai-review Request a Claude code review t:bugfix Change Type - Bugfix labels Aug 14, 2026
@JaredScar
JaredScar requested review from BTreston and removed request for djsmith85 August 14, 2026 16:14
@github-actions github-actions Bot added the platform-community Touches a Platform-stewarded area with limited team familiarity label Aug 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

ℹ️ Limited Platform familiarity

This PR touches a platform-community area. The Platform team owns this code but does not actively develop it, so a Platform review here may be less authoritative than usual.

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Copy-only change to the four Families-for-Enterprise sponsorship offer templates plus the offer email subject in HandlebarsMailService. No behavioral, data, or security-relevant logic changed; {{SponsorOrgName}} remains HTML-escaped (double braces) in both HTML templates, {{{Url}}} interpolation is unchanged, and no test asserts the previous subject string. The later commits resolved the earlier terminology mismatch — all four templates now consistently use "plan".

Code Review Details
  • ❓ : New-account copy drops the "this email address" constraint, but redemption requires the registered account email to match the invited email exactly (already raised inline, thread still open)
    • src/Core/MailTemplates/Handlebars/FamiliesForEnterprise/FamiliesForEnterpriseOfferNewAccount.html.hbs:5 (and .text.hbs:2)

Also noted, not posted inline: the new subject Accept your Sponsored Families Plan keeps title case on "Sponsored Families Plan" while the button copy moved to sentence case ("Accept offer", "Create account") — worth a quick check against the Design copy deck.

<tr style="margin: 0; box-sizing: border-box; color: #333; line-height: 25px; -webkit-text-size-adjust: none;">
<td class="content-block" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 16px; color: #333; line-height: 25px; margin: 0; -webkit-font-smoothing: antialiased; padding: 0 0 10px; -webkit-text-size-adjust: none;" valign="top">
A Bitwarden organization, {{SponsorOrgName}}, has sponsored a free Families subscription for you! To accept your complimentary subscription, you will need to create an account with this email address.
{{SponsorOrgName}} has sponsored a free Families plan for you! To accept your complimentary plan, create a Bitwarden account with your personal email address.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

QUESTION: New copy drops the "this email address" constraint, but redemption requires the account email to match the invited email exactly.

Details

Previous copy: "you will need to create an account with this email address". New copy: "create a Bitwarden account with your personal email address".

OrganizationSponsorshipOfferTokenable.IsValid (src/Core/Models/Business/Tokenables/OrganizationSponsorshipOfferTokenable.cs:50-57) requires Email.Equals(currentUserEmail, ...) — if the recipient registers with a different personal address, RedeemSponsorship fails with Failed to parse sponsorship token.

The offer link does carry &email={{SponsoredEmail}}&register=true, so the happy path prefills the correct address. But if the register form allows editing that field, the new wording invites a mismatch that surfaces as an opaque token error.

Was this constraint considered with Design? Something like "create a Bitwarden account with this email address" preserves the requirement while keeping the new tone. Same wording in FamiliesForEnterpriseOfferNewAccount.text.hbs:2.

@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.26%. Comparing base (5358a2f) to head (1c1f886).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##           main    #8217       +/-   ##
=========================================
+ Coverage      0   63.26%   +63.26%     
=========================================
  Files         0     2381     +2381     
  Lines         0   103902   +103902     
  Branches      0     9405     +9405     
=========================================
+ Hits          0    65736    +65736     
- Misses        0    35916    +35916     
- Partials      0     2250     +2250     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Revised text in FamiliesForEnterpriseOfferExistingAccount email templates to enhance clarity and consistency in the subscription activation message.
- Changed "To activate your complimentary subscription, click the link below." to "Accept the offer to activate your complimentary plan." for improved user understanding.
- Updated corresponding text template to reflect the same changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Request a Claude code review platform-community Touches a Platform-stewarded area with limited team familiarity t:bugfix Change Type - Bugfix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant