email.trim() was already used in the saveDisabled guard but not applied to the mutate call payload. A non-empty value with leading/trailing spaces would pass the guard and reach the server untrimmed, causing Zod's z.string().email() to reject it with a generic 400 and no diagnostic path for the user. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>