[BUG] Zip download missing extension, silent fail on empty
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start in src/context/filterContext.tsx, checking lines 150–164 for fetch failure handling and line 180 for the download filename. Reproduce the Catalogue download with multiple papers, including an all-fail network case, and verify the filename has a .zip extension, failures produce an error toast, and partial success reports the downloaded count.
Written by the indexing model from the issue text.
Description
Describe the bug
Zip download lacks file extension and shows success even when download fails entirely.
To Reproduce
- Go to Catalogue page
- Select 2+ papers
- Click "Download Selected"
- (Optional: throttle network in DevTools to simulate all requests failing)
- File downloads with no
.zipextension - If all fetches failed, empty ZIP is created but success toast still appears
Expected behavior
- Downloaded file should have
.zipextension (e.g.,Physics.zip) - If all paper fetches fail, show error toast instead of success
- Success message should show count: "Downloaded 3 of 5 papers"
Screenshots
N/A (UX issue — filename shows Physics not Physics.zip in downloads folder)
Desktop
- OS: Any
- Browser: Chrome/Firefox/Safari
- Issue occurs on all browsers
Root cause
File: src/context/filterContext.tsx
- Line 180:
a.download = getDownloadName(...)missing.zip - Lines 150–164: Fetch errors silently caught, no success counter
- Line 186: Always shows success toast regardless of download state
Additional context
Low severity — UX friction, not data loss. User gets empty ZIP but can retry.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 64
- Avg merge
- 10m
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
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 CodeChefVIT/papers-codechef
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
CodeChefVIT/papers-codechef#540 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
CodeChefVIT/papers-codechef#469 ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
CodeChefVIT/papers-codechef#467 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
CodeChefVIT/papers-codechef#462 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
CodeChefVIT/papers-codechef#453 · 1 comment ·
All issues in CodeChefVIT/papers-codechef
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
siyuan-note/siyuan#20040 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
RunestoneInteractive/rs#1574 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
remotion-dev/remotion#11901 ·
Maintainers usually reply within 1 day
-
Poll constructor throws for an uncached channel while resolving a message context-menu interactionOpenbug need repro packages:discord.js
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
discordjs/discord.js#11645 ·
Maintainers usually reply within 3 days
-
🐞 bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Sitecore/content-sdk#641 ·
Maintainers usually reply within 2 days