You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Distinguish price loading/unavailable, fix analytics 0-flash, surface silent save failures
- #675: audited all 5 consumers of use-token-price.ts. Fixed two real
gaps — stream-card.tsx rendered loading and unavailable identically
(both showed nothing); now shows a skeleton pulse while loading.
create-form.tsx's "Fetching price…" indicator was dead code (nested
inside a block that can only render once the price has already
resolved, so `priceLoading` was always false there) — moved it out
so it's actually reachable, and added a distinct "Price unavailable"
message for the resolved-but-null case. dashboard-stats.tsx already
handled this correctly; create-confirmation.tsx and the stream
detail page use the price only for an XLM-denominated fee estimate
that never renders a USD value, so there's nothing to distinguish
there.
- #674: analytics/page.tsx called useStreams({ enablePolling: false })
but never destructured `loading`, so the four stat cards flashed "0"
before real data resolved. Destructured it and render a skeleton
pulse per card while loading. (hooks/use-streams.ts had the same
pre-existing corruption fixed elsewhere this session — two competing
implementations merged together, duplicate declarations, two
conflicting return statements — reconciled into one, since it
directly blocked `loading` from working at all here.)
- #676: use-form-draft.ts's save() silently discarded quota/
unavailable errors. Added an optional onSaveError callback (fires
once per failure streak, resets on the next successful save) and
wired create-form.tsx to show a toast warning.
- #677: use-webhooks.ts's saveWebhooks/saveHistory called
localStorage.setItem unguarded — wrapped both in try/catch
(returning a success flag) matching use-form-draft.ts's pattern, and
added the same onSaveError callback convention, wired to a toast in
webhook-settings.tsx.
Closes#674Closes#675Closes#676Closes#677
0 commit comments