fix(loader-website): an empty error message is shown when /manifest fails

Offen Anfängerfreundlich
#140 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
82/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
bun, typescript
Bereich
frontend

Rechercherichtung

Beginne in apps/website/src/manifest.ts beim /manifest-Fetch und vergleiche die Fehlerbehandlung mit apps/website/src/cache/cache.ts sowie der Antwortstruktur in apps/client/src/server.ts. Lies den Fehler und die Details aus einer fehlgeschlagenen Antwort aus, mit dem vorgeschlagenen HTTP-Status-Fallback. Abgeschlossen ist die Arbeit, wenn eine fehlgeschlagene Manifest-Anfrage im Fehlerbereich eine hilfreiche Meldung anzeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

website

Issue description

When /manifest returns a non-2xx status, the website throws new Error() with no message (manifest.ts#L7-L9). setError then shows an empty error panel, and the JSON body the client sends with its 500 ({ error, details }, client server.ts#L97-L103) is ignored.

Expected: the error panel shows why the manifest failed.

Suggested fix: read error/details from the body, as cache.ts#L94-L107 already does for game files, with HTTP Error <status> as a fallback.

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

Code sample
const res = await fetch(`/manifest`);
if (!res.ok) {
  throw new Error(); // empty message shown to the user
}
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

Vorherrschende Sprache
TypeScript
Sterne
1
Forks
0
Ø Merge
17 Std. 25 Min.
Gemergte PRs (30 T.)
11

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus NanoForge-dev/Loader

Alle Issues in NanoForge-dev/Loader

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.