Skip to content

fix: mail skip semantics + PersonalMail wallet alignment#3657

Merged
TaprootFreak merged 2 commits intodevelopfrom
fix/realunit-mail-followup
Apr 30, 2026
Merged

fix: mail skip semantics + PersonalMail wallet alignment#3657
TaprootFreak merged 2 commits intodevelopfrom
fix/realunit-mail-followup

Conversation

@TaprootFreak
Copy link
Copy Markdown
Collaborator

Summary

Fixes from #3654 (RealUnit Mail PR #3598 follow-ups):

  • F2: Skipped RealUnit mails no longer falsely set recipientMail — new skipMail() / skipPendingMail() / skipChargebackMail() entity methods only write the date field to prevent re-processing, without implying a mail was sent. Fixes data integrity issue in audit/monitoring.
  • F10: createPersonalMail now respects forcedLang from wallet config and passes walletName through the translation chain, consistent with createUserV2Mail.
  • F6: createPersonalMail now calls getWalletBodyTexts() so wallet-specific body overrides apply.

Changed files

File Change
buy-crypto.entity.ts Add skipMail()
buy-fiat.entity.ts Add skipPendingMail(), skipChargebackMail()
limit-request.entity.ts Add skipMail()
buy-crypto-notification.service.ts Use skip methods in 3 RealUnit guard paths
buy-fiat-notification.service.ts Use skip methods in 3 RealUnit guard paths
limit-request-notification.service.ts Use skip method in RealUnit guard path
mail.factory.ts Align createPersonalMail with createUserV2Mail

Test plan

  • Verify RealUnit pending/chargeback flows still advance state machine (mailSendDate set, record not re-picked)
  • Verify recipientMail stays NULL for skipped RealUnit mails
  • Verify non-RealUnit mail flows are unchanged (still call confirmSentMail etc.)
  • If a PersonalMail is triggered for a wallet with forcedLang, verify correct language is used

Closes #3654 (F2, F6, F10)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 30, 2026

⚠️ Unverified Commits (1)

The following commits are not signed/verified:

  • 5249949 style: fix prettier formatting in mail.factory.ts (Taproot Freak)
How to sign commits
# SSH signing (recommended)
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true

# Re-sign last commit
git commit --amend -S --no-edit
git push --force-with-lease

F2: Skipped RealUnit mails no longer set recipientMail — only mailSendDate
is written to prevent re-processing. New entity methods skipMail(),
skipPendingMail(), skipChargebackMail() replace the incorrect use of
confirmSentMail()/pendingMail()/chargebackMail() in skip paths.

F10: createPersonalMail now respects walletMailConfig.forcedLang and
passes walletName to translate() and getMailAffix(), consistent with
createUserV2Mail.

F6: createPersonalMail now calls getWalletBodyTexts() so wallet-specific
body overrides are applied.
@TaprootFreak TaprootFreak force-pushed the fix/realunit-mail-followup branch from 6b02d0b to 97f3914 Compare April 30, 2026 13:47
@TaprootFreak TaprootFreak marked this pull request as ready for review April 30, 2026 13:48
@TaprootFreak TaprootFreak merged commit 06aa234 into develop Apr 30, 2026
7 checks passed
@TaprootFreak TaprootFreak deleted the fix/realunit-mail-followup branch April 30, 2026 14:13
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.

RealUnit-Mail PR #3598 — Folge-Themen für späteren PR

2 participants