Download endpoint buffers entire object in browser memory
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Inizia da src/lib/storage/download.ts e traccia il fetch di downloadObject, il buffering di Blob e il clic programmatico su un anchor. Usa createWritable() della File System Access API per i browser supportati, mantieni l’attuale fallback di Blob per Firefox e verifica che i download di grandi dimensioni non richiedano più il buffering dell’intero oggetto prima del salvataggio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
File: src/lib/storage/download.ts
downloadObject fetches the full S3 object body via the /storage/api/download endpoint, buffers it as a Blob in browser memory, then triggers a programmatic anchor click. This is simpler than streaming directly to disk but means the entire object must fit in browser memory before the save dialog appears. Acceptable for the current object sizes; for very large files (multiple GiB) this will cause memory pressure. Long-term fix: use the File System Access API createWritable() to stream bytes directly to disk without buffering, with a fallback to the current Blob approach for Firefox (which does not support showSaveFilePicker).
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 0
- Merge medio
- 22h 6m
- PR unite (30g)
- 12
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 stackabletech/cockpit
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
stackabletech/cockpit#312 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
stackabletech/cockpit#224 ·
-
Remove unused dependencies Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
stackabletech/cockpit#101 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
stackabletech/cockpit#313 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
stackabletech/cockpit#310 ·
Tutte le issue di stackabletech/cockpit
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
copse-dev/agent-pane#2953 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Apertabug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
calcite-components needs triage refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Esri/calcite-design-system#15203 ·