- 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.