mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
The Settings > Account save handler read json.error straight off the wire and rendered it as-is - the exact path a raw validator message would have reached a person's screen through, and the only place the report's symptom actually reproduces (baseline-form already goes through the errorCode-aware localizedApiError helper). It now resolves meta.errorCode into a localized sentence, the same convention used everywhere else in the app, and never touches the top-level string. A partial save (some fields landed, one didn't) gets its own message naming the rejected field via the same label already shown next to that input on this form, and reseeds the form from what the server actually persisted so a field that was silently skipped can't read as saved. describeRejectedProfileField lives in account-section-utils so both the warning and the failure path share one field-name-to-label mapping instead of duplicating it.