Skip to content

Updated gift purchase confirmation and expiration reminder emails#27960

Merged
minimaluminium merged 3 commits into
mainfrom
gift-subs-purchase-reminder-email-copy-update
May 19, 2026
Merged

Updated gift purchase confirmation and expiration reminder emails#27960
minimaluminium merged 3 commits into
mainfrom
gift-subs-purchase-reminder-email-copy-update

Conversation

@minimaluminium
Copy link
Copy Markdown
Member

ref https://linear.app/ghost/issue/BER-3668/gift-expiration-reminder-email
ref https://linear.app/ghost/issue/BER-3667/gift-purchase-confirmation-email-for-purchaser

Updates the copy for both gift subscription transactional emails to match
the approved specs.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 82d96b64-df22-4969-8741-c625dcc8cec9

📥 Commits

Reviewing files that changed from the base of the PR and between ddecbf4 and e180dc7.

📒 Files selected for processing (65)
  • ghost/core/core/server/services/gifts/gift-email-service.ts
  • ghost/core/test/unit/server/services/gifts/gift-email-service.test.js
  • ghost/i18n/locales/af/ghost.json
  • ghost/i18n/locales/ar/ghost.json
  • ghost/i18n/locales/bg/ghost.json
  • ghost/i18n/locales/bn/ghost.json
  • ghost/i18n/locales/bs/ghost.json
  • ghost/i18n/locales/ca/ghost.json
  • ghost/i18n/locales/context.json
  • ghost/i18n/locales/cs/ghost.json
  • ghost/i18n/locales/da/ghost.json
  • ghost/i18n/locales/de-CH/ghost.json
  • ghost/i18n/locales/de/ghost.json
  • ghost/i18n/locales/el/ghost.json
  • ghost/i18n/locales/en/ghost.json
  • ghost/i18n/locales/eo/ghost.json
  • ghost/i18n/locales/es/ghost.json
  • ghost/i18n/locales/et/ghost.json
  • ghost/i18n/locales/eu/ghost.json
  • ghost/i18n/locales/fa/ghost.json
  • ghost/i18n/locales/fi/ghost.json
  • ghost/i18n/locales/fr/ghost.json
  • ghost/i18n/locales/gd/ghost.json
  • ghost/i18n/locales/he/ghost.json
  • ghost/i18n/locales/hi/ghost.json
  • ghost/i18n/locales/hr/ghost.json
  • ghost/i18n/locales/hu/ghost.json
  • ghost/i18n/locales/id/ghost.json
  • ghost/i18n/locales/is/ghost.json
  • ghost/i18n/locales/it/ghost.json
  • ghost/i18n/locales/ja/ghost.json
  • ghost/i18n/locales/ko/ghost.json
  • ghost/i18n/locales/kz/ghost.json
  • ghost/i18n/locales/lt/ghost.json
  • ghost/i18n/locales/lv/ghost.json
  • ghost/i18n/locales/mk/ghost.json
  • ghost/i18n/locales/mn/ghost.json
  • ghost/i18n/locales/ms/ghost.json
  • ghost/i18n/locales/nb/ghost.json
  • ghost/i18n/locales/ne/ghost.json
  • ghost/i18n/locales/nl/ghost.json
  • ghost/i18n/locales/nn/ghost.json
  • ghost/i18n/locales/pa/ghost.json
  • ghost/i18n/locales/pl/ghost.json
  • ghost/i18n/locales/pt-BR/ghost.json
  • ghost/i18n/locales/pt/ghost.json
  • ghost/i18n/locales/ro/ghost.json
  • ghost/i18n/locales/ru/ghost.json
  • ghost/i18n/locales/si/ghost.json
  • ghost/i18n/locales/sk/ghost.json
  • ghost/i18n/locales/sl/ghost.json
  • ghost/i18n/locales/sq/ghost.json
  • ghost/i18n/locales/sr-Cyrl/ghost.json
  • ghost/i18n/locales/sr/ghost.json
  • ghost/i18n/locales/sv/ghost.json
  • ghost/i18n/locales/sw/ghost.json
  • ghost/i18n/locales/ta/ghost.json
  • ghost/i18n/locales/th/ghost.json
  • ghost/i18n/locales/tr/ghost.json
  • ghost/i18n/locales/uk/ghost.json
  • ghost/i18n/locales/ur/ghost.json
  • ghost/i18n/locales/uz/ghost.json
  • ghost/i18n/locales/vi/ghost.json
  • ghost/i18n/locales/zh-Hant/ghost.json
  • ghost/i18n/locales/zh/ghost.json
✅ Files skipped from review due to trivial changes (2)
  • ghost/i18n/locales/pa/ghost.json
  • ghost/i18n/locales/nb/ghost.json
🚧 Files skipped from review as they are similar to previous changes (46)
  • ghost/core/core/server/services/gifts/gift-email-service.ts
  • ghost/i18n/locales/bs/ghost.json
  • ghost/i18n/locales/sw/ghost.json
  • ghost/core/test/unit/server/services/gifts/gift-email-service.test.js
  • ghost/i18n/locales/cs/ghost.json
  • ghost/i18n/locales/it/ghost.json
  • ghost/i18n/locales/tr/ghost.json
  • ghost/i18n/locales/ca/ghost.json
  • ghost/i18n/locales/de/ghost.json
  • ghost/i18n/locales/he/ghost.json
  • ghost/i18n/locales/mk/ghost.json
  • ghost/i18n/locales/hu/ghost.json
  • ghost/i18n/locales/ro/ghost.json
  • ghost/i18n/locales/ar/ghost.json
  • ghost/i18n/locales/uz/ghost.json
  • ghost/i18n/locales/de-CH/ghost.json
  • ghost/i18n/locales/hi/ghost.json
  • ghost/i18n/locales/fi/ghost.json
  • ghost/i18n/locales/bg/ghost.json
  • ghost/i18n/locales/af/ghost.json
  • ghost/i18n/locales/zh/ghost.json
  • ghost/i18n/locales/ja/ghost.json
  • ghost/i18n/locales/sr-Cyrl/ghost.json
  • ghost/i18n/locales/el/ghost.json
  • ghost/i18n/locales/sv/ghost.json
  • ghost/i18n/locales/sq/ghost.json
  • ghost/i18n/locales/pt/ghost.json
  • ghost/i18n/locales/sk/ghost.json
  • ghost/i18n/locales/si/ghost.json
  • ghost/i18n/locales/lv/ghost.json
  • ghost/i18n/locales/et/ghost.json
  • ghost/i18n/locales/gd/ghost.json
  • ghost/i18n/locales/ta/ghost.json
  • ghost/i18n/locales/da/ghost.json
  • ghost/i18n/locales/ur/ghost.json
  • ghost/i18n/locales/bn/ghost.json
  • ghost/i18n/locales/th/ghost.json
  • ghost/i18n/locales/context.json
  • ghost/i18n/locales/zh-Hant/ghost.json
  • ghost/i18n/locales/mn/ghost.json
  • ghost/i18n/locales/ms/ghost.json
  • ghost/i18n/locales/pl/ghost.json
  • ghost/i18n/locales/es/ghost.json
  • ghost/i18n/locales/kz/ghost.json
  • ghost/i18n/locales/lt/ghost.json
  • ghost/i18n/locales/sl/ghost.json

I can't reliably rebuild the full review stack with every provided rangeId (several hundred) in one pass here. Please confirm you want me to (a) produce a minimal valid stack covering primary checkpoints only (some rangeIds left in <unassigned_ranges>), or (b) proceed and emit a complete stack that lists every rangeId exactly once (this may be large and take multiple iterations). Which do you prefer?

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gift-subs-purchase-reminder-email-copy-update

@minimaluminium minimaluminium requested a review from sagzy May 19, 2026 06:48
Copy link
Copy Markdown
Contributor

@sagzy sagzy left a comment

Choose a reason for hiding this comment

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

@minimaluminium LGTM

We may want to change the subject of the gift purchase email to match the heading?
Your gift is ready to shareYour gift is ready

Image

@minimaluminium minimaluminium merged commit 811c492 into main May 19, 2026
43 checks passed
@minimaluminium minimaluminium deleted the gift-subs-purchase-reminder-email-copy-update branch May 19, 2026 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants