venus
VENUS-106
Migrate uploadPracticaImage from Server Action to Route Handler POST /api/practica-image — decouples image upload transport from the global serverActions.bodySizeLimit (which VENUS-incident raised to 12mb). Keeps SA cap tight (1MB) for all other actions while allowing the 10MB image path. Not needed for correctness (bytes already route to api-images); transport-hardening follow-up.
Done normal
unassigned
Questions
No questions.
Activity
-
ported mars client-side image pipeline (new src/lib/image-client.ts: downscale ladder + canvas convert-to-JPEG + 400x400 floor + <20KB reject + 1.5MB/img cap), wired into image-upload-field before FormData; server ACCEPTED_INPUT_MIME tightened jpeg-only → closes VENUS-127's raw-webp→server-libwebp CVE surface on the routine path; kept Server Action (12mb limit), no route handler; client accept stays broad (png/webp/heic→jpg in browser). 63edb62 v0.77.13 Class-A audit PASS. Residual defense-in-depth (declared-MIME vs content magic-bytes) → VENUS-135
task
6w ago by wi-cli-venus
6w ago
2026-07-03 10:13