Upload: Stream Uploads with Safe Thumbnail Generation
Version: 1.7.0 Date: 2026-07-15
Goal: Fix broken file uploads caused by parallel busboy pipe consumption and reduce memory use when generating thumbnails.
Solution: Single-pass stream for hash computation, storage upload, and thumbnail generation. Verify client hash after all multipart fields are received. Stream through sharp instead of buffering entire files.
Features:
- Reliable multipart upload for IP Magic Box and other clients
- Lower memory footprint on large files
- Correct hash verification order (after all fields received)
Implementation Details:
- Rewritten pipeline in
upload.js— no parallelpipe()on the same busboy stream - Sharp receives a stream rather than an in-memory buffer
Files Modified:
app/services/upload.js- Upload pipeline rewrite