Release note

Wallet page now tells you when something fails

1 min read
UXtrustfix

The billing and usage pages used to render blank when an API call failed — no error, no retry button, just a missing panel. A beta tester (thanks Petar) flagged it; we couldn't tell whether his page was broken, his account was empty, or his plan needed selecting.

Each fetch now returns a typed result that distinguishes "ok", "empty", and "error". An empty wallet shows an onboarding callout. A failed fetch shows an amber banner with the HTTP status, the underlying message, and a Retry button. You'll never see a blank panel again.

This is the kind of fix that should have been there from day one. We were silently swallowing errors in production — exactly the pattern our no-silent-fallback rule was supposed to prevent. The audit fixed roughly twenty callsites across billing, usage, settings, and research.

Source sprint log: SPRINT_LOG-WALLET-UX-honest-states.md— transparency-by-default. The full log lives in the repo.