fetch_url: the timeout aborts a slow body read, and the response charset is ignored
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Start with src/main/tools/web.ts, especially readBodyCapped and the referenced timeout and decoding locations at lines 148–154, 217–219, and 46–63. Check how timeout aborts differ from user aborts and how the response content type is available. Done means timed-out body reads preserve already-read data as truncated (or use separate header/body timeouts), and declared charsets decode correctly with UTF-8 fallback for unknown labels.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found in the 2026-10-07 code review (read).
Problem
- Timeout:
AbortSignal.timeout(FETCH_TIMEOUT_MS)(src/main/tools/web.ts:148-154,217-219) also aborts reading the body. A page still streaming after 15 s fails with "The operation was aborted due to timeout", and up to 2 MB already read is thrown away. - Charset: the body is always decoded as UTF-8 (
web.ts:46-63), so Latin-1 and Shift-JIS pages come out garbled.
Fix
- In
readBodyCapped, when the timeout (not the user) caused the abort, return what was read withtruncated: true. Or use separate timeouts for the headers and the body. - Use
new TextDecoder(charsetFrom(contentType) ?? 'utf-8', { fatal: false }), falling back to UTF-8 for unknown labels.
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 2
- Merge medio
- 5h 28m
- PR unite (30g)
- 24
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PierrunoYT/patch
-
enhancement platform: windows priority: low severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PierrunoYT/patch#198 ·
I maintainer di solito rispondono entro 1 giorno
-
priority: medium security severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PierrunoYT/patch#66 ·
I maintainer di solito rispondono entro 1 giorno
-
bug platform: macos priority: low severity: low tests
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
PierrunoYT/patch#218 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement priority: low security severity: low
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
PierrunoYT/patch#211 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement platform: windows priority: low security severity: low
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
PierrunoYT/patch#207 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PierrunoYT/patch
Issue simili
-
Add: YRF Music NepalApertastreams:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
walletbeat/walletbeat#1558 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
hawk-digital-environments/HAWKI#438 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
GiganticMinecraft/seichi-portal-frontend#1165 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno