Firefox Hotfix release & Browser Cache fix
🐛 Bug Fixes
- web: Fixed Firefox hanging on Service Worker-streamed downloads for files >= 2 GiB. Firefox has a long-standing signed 32-bit integer overflow in its internal download pipeline that triggers when
Content-Lengthis >= 2^31 bytes, causing the download manager to stall or cancel at the end. TheContent-Lengthheader is now omitted for files >= 2 GiB so Firefox falls back to reading until EOF. Files below 2 GiB and all other browsers are unaffected. Thanks @Dominion0815 - web: Fixed the Service Worker download progress not reaching 100% and the UI not transitioning to "done" after the download completes. The
dl-donebroadcast was fire-and-forget - Firefox terminates the SW as soon aswaitUntilresolves, abandoning the still-pendingclients.matchAll()call before the message is delivered. All completion broadcasts are now awaited beforestreamDone()is called.
🎨 Improvements
- server: The SPA entry point (
index.html) is now served withCache-Control: no-cache, must-revalidate. This prevents browsers and reverse proxies (e.g. Traefik with a caching middleware) from serving a staleindex.htmlafter a deployment. Without this, a cached oldindex.htmlreferencing a previous JS bundle hash would cause 500 errors for the JS assets because the old filenames no longer exist on the new server.
🐳 Docker
- Image:
skyfay/skysend:v2.9.2 - Also tagged as:
latest,v2 - Platforms: linux/amd64, linux/arm64