* MUL-6472: fix(server): stop echoing dispatch errors from TriggerAutopilot
The unclassified-failure branch appended err.Error() to its 500 body, so a
member clicking "run now" could read the Go error chain behind it — pgx table
and constraint names, SQLSTATE, internal ids. It was the only 5xx in this file
that did; the other err.Error() sites are 400s written for the user.
Return the fixed string and log the chain server-side instead, matching how
autopilot_webhook.go reports its own internal failures. The quota branch above
keeps its structured 429 + Retry-After body untouched.
Co-authored-by: multica-agent <[email protected]>
* MUL-6472: fix(views): keep server 5xx text out of the run-now toast
The catch branch fell back to err.message, which is the server's error string —
so the fixed 500 above would still have shown as English "failed to trigger
autopilot" in a Chinese UI, and any other 5xx would show its raw body.
clientErrorMessage() keeps a 4xx message (handlers write those for the user:
"autopilot is not active") and withholds a 5xx one or a transport failure, so
run-now degrades to its localized generic sentence. Typed reason_code outcomes
are unaffected — they were already localized.
Co-authored-by: multica-agent <[email protected]>
---------
Co-authored-by: J <[email protected]>
Co-authored-by: multica-agent <[email protected]>