fix(loader-website): the progress bar ignores the first download

Aperta Adatta ai principianti
#141 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

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

Direzione di ricerca

Leggi apps/website/src/window.ts intorno a setLoadingStatus e apps/website/src/cache/cache.ts intorno al ciclo di download. Controlla come viene aggiornato l’avanzamento per l’indice 0 e quando termina ogni download. Il lavoro è completato quando la barra riflette i download completati, compresi il primo file e il caso di un unico file obsoleto.

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

Descrizione

app:website bug good first issue
Which app is this bug report for?

website

Issue description

setLoadingStatus checks index && totalFiles > 0, so index 0 is treated as false. The cache calls it with n starting at 0 (cache.ts#L77-L82).

  • The bar doesn't move for the first file, and stays empty when only one file is outdated (the usual case in watch mode).
  • The bar is set to (n + 1) / total before that file is downloaded.

Expected: the bar reflects the downloads actually done.

Suggested fix: check index != null (or typeof index === "number"), and update the bar after each download completes.

Found during a read-only audit of main @ 044c766 (2026-11-11).

Code sample
if (loadingBarFill && index && totalFiles > 0) { // index 0 is falsy
  const progress = ((index + 1) / totalFiles) * 100;
  loadingBarFill.style.width = `${progress}%`;
}
Versions
  • @nanoforge-dev/loader-client / @nanoforge-dev/loader-server / @nanoforge-dev/loader-website 1.7.0 (main @ 044c766)
  • Bun 1.3.14
  • Linux x86_64
Issue priority

Low (slightly annoying)

I have tested this issue on a development release

044c766

Lingua principale
TypeScript
Stelle
1
Fork
0
Merge medio
17h 25m
PR unite (30g)
11

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NanoForge-dev/Loader

Tutte le issue di NanoForge-dev/Loader

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.