Download endpoint buffers entire object in browser memory
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start in src/lib/storage/download.ts and trace downloadObject’s fetch, Blob buffering, and programmatic anchor click. Use the File System Access API’s createWritable() for supported browsers, retain the current Blob fallback for Firefox, and verify that large downloads no longer require buffering the whole object before saving.
Written by the indexing model from the issue text.
Description
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).
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 22h 6m
- Merged PRs (30d)
- 12
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stackabletech/cockpit
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
stackabletech/cockpit#312 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
stackabletech/cockpit#224 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
stackabletech/cockpit#101 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
stackabletech/cockpit#313 ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
stackabletech/cockpit#310 ·
All issues in stackabletech/cockpit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·