b5c12bfcb4
Files over 8 MB were sent as a ReadableStream with duplex: 'half'. Chrome only allows streaming request bodies over HTTP/2+, so every such upload failed with "Failed to fetch" on HTTP/1.1 (e.g. http://localhost). A Blob body is read lazily from OPFS by the browser, so it keeps the "never hold the whole master in memory" property without depending on the protocol. Verified in headless Chromium: a 33 MB WAV drops and analyses both at http://localhost:8050 and behind Cloudflare/Caddy at a /uj/ prefix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015UXA39Sh9coAx4FhRkd8R2