Every pickup-photo upload on 2026-10-12 failed: 86 of 86 attempts came back `400 unexpected EOF`, median 7.6s, max 15.6s. The old comment here blamed a PocketBase `image/*` mime-detection bug, which was wrong on both counts — `order_item_attachements` has mimeTypes=null, so nothing was checking the format. Go's multipart parser was hitting end-of-body before the declared Content-Length arrived: a 3-8MB Android camera file truncated in transit on mobile data. The office side never hit this because WFDASH re-encodes to 1200px/q70 in attachment-compressor.ts before storing. This adds the same treatment on the driver side so both produce comparable images (~150-300KB, sub-second transfer). compressPhoto() never throws and never returns null — on any decode failure it hands back the original file. Compression here is an optimisation, not a correctness requirement, so it must never turn a photo that might have uploaded fine into a hard error. |
||
|---|---|---|
| .. | ||
| hooks.ts | ||
| image.ts | ||
| itemsCache.ts | ||
| pocketbase.ts | ||
| pwa.ts | ||
| theme.ts | ||
| types.ts | ||
| utils.ts | ||