CodeChefVIT / CodeChefVIT/papers-codechef

[BUG] Zip download missing extension, silent fail on empty

Aperta Adatta ai principianti
#523 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
20
Fork
64
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**Describe the bug**
Zip download lacks file extension and shows success even when download fails entirely.

**To Reproduce**
1. Go to Catalogue page
2. Select 2+ papers
3. Click "Download Selected"
4. (Optional: throttle network in DevTools to simulate all requests failing)
5. File downloads with no `.zip` extension
6. If all fetches failed, empty ZIP is created but success toast still appears

**Expected behavior**
- Downloaded file should have `.zip` extension (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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
78/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.