- Shipped
- September 12, 2026 at 12:38 AM UTC
- Author
- Kamo
- Commit
- 6acfa28
PUT now returns the full settings state instead of {success: true}, which blanked the form after every save. Fields are validated server-side and refused as 400 {error, field}; a login is required only when the connection will actually sign in. A blank password keeps the stored one, clearPassword removes it, and passwordUpdatedAt records when one was set. Status goes back to PENDING_SETUP only when a delivery-relevant field changed. Every write to the encrypted blob now goes through one locked read-modify-write that keeps keys it does not own, because the blob is about to carry the warm-up as well. The state shows how EmailService will connect, and the platform org is shown its internal relay's settings. The test send says where it failed (connect, TLS, login, sender, recipient, data) with a short fix for each.