Say out loud when a registrant is left with no verification token

ChoreSecurityService
Shipped
4 Septemba 2026, 23:56 UTC
Author
Kamo
Commit
2303207

The register endpoint caught a failed verification send and logged warn(e.getMessage()). For the fault it kept hitting — EmailService raising a Yugabyte read restart and answering 500 — that message read "Transactional send failed" and named neither the service nor the statement, so weeks of registrants reaching /verification with no email left nothing in this service's log worth grepping. Diagnosing it meant going to EmailService's pod and finding the 40001. Now ERROR with the stack, and it says what the state actually is: the account has no verification token and can only proceed via Resend. sendVerificationEmail is @Transactional over both the token row and the outbound call, so a failed send takes the token with it — deliberate, since a code nobody was ever mailed is worse than none, but it means the registrant is looking at a screen that says an email is on its way while holding nothing to type. The comment above the second call site claimed the send fires after the transaction commits. It does not, and never did; corrected rather than left to mislead the next reader. The fault itself is fixed in EmailService (0220d6a), not papered over here.

All changes

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei