mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
The favicon route bypassed createToolRoute and only handled HEIC/HEIF via ensureSharpCompat. Exotic formats (PSD, BMP, JXL, JP2, EXR, HDR, DNG, ICO, TGA, etc.) passed validation but crashed Sharp after reply.hijack(), causing the response stream to hang silently until the 5-minute XHR timeout. Now decodes all formats before hijacking the response, matching the pipeline used by createToolRoute. Files that fail to decode are skipped with a skipped-files.txt manifest in the ZIP rather than aborting the entire batch.