mirror of
https://github.com/OpenWhispr/openwhispr.git
synced 2026-10-21 06:40:37 +08:00
* fix(scripts): let download scripts exit after following a redirect downloadFile followed redirects without reading the redirect body. On Node 24 the global agent keeps sockets alive and only frees (and unrefs) a socket once its response ends, so the unread 302 from huggingface.co pinned the socket and kept `download-whisper-vad-model.js` alive for minutes, stalling the `predev:main` chain before Electron started. Drain redirect bodies in downloadFile and fetchJson, drain fetchJson's non-200 bodies, and destroy a timed-out fetchJson request instead of only rejecting. * fix(scripts): keep a followed redirect from cancelling the live download downloadFile's error and timeout handlers acted on whichever request was current, so a reset on a redirect whose body was still draining destroyed the request that replaced it and forced a retry. Each handler now only acts on its own request; a stale one that times out is just destroyed. Also adds a test for fetchJson's timeout closing the stalled request.