# F-095 — Implementer evidence ## Changes - Removed the erroneous empty `productsApi.update(productId, {})` call from URL image attachment. - The admin image editor now sends `{ url }` to `/api/upload`, then attaches the returned local `/uploads/...` URL to the product. - `/api/upload` now supports authenticated JSON URL imports: validates public HTTP(S) hosts, follows limited redirects, accepts only supported image MIME/signatures, enforces the 10MB limit, stores locally, mirrors peers, and generates thumbnails. - Existing multipart file upload behavior uses the shared local save helper. ## Validation - Admin `npx tsc --noEmit` → exit 0 - Admin ESLint on upload route and ImagesSection → 0 errors - Admin production build → exit 0