Skip to content

TimeSeriesChart: forward chain prop to /api/series so chain tab switch re-fetches - #1274

Merged
Flotapponnier merged 2 commits into
devfrom
fix/timeseries-chart-chain-refetch
Jul 17, 2026
Merged

TimeSeriesChart: forward chain prop to /api/series so chain tab switch re-fetches#1274
Flotapponnier merged 2 commits into
devfrom
fix/timeseries-chart-chain-refetch

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Bug: on a bench with dimensions.chain (aggregator-head-lag, metadata-coverage, …), clicking a different chain tab keeps the 7d/30d sparkline stuck on whichever chain was loaded first. The 24h sparkline updates (server-rendered per chain via viewBenchmark) but the lazy-fetched longer ranges don't.

Root cause in src/components/time-series-chart/index.tsx:

  • buildQs only forwarded region, never chain.
  • useEffect deps were [regionProp, benchmark.slug] — no chain — so a chain change triggered no re-fetch.

The /api/series/[slug] endpoint already accepts and honors ?chain= (route.ts:130 iterates ["chain","region","kind","venue"]), so the fix is purely client-side wiring.

Change

  1. TimeSeriesChart gains chain?: string prop mirroring region?: string.
  2. buildQs sets chain when the prop is set and not "all".
  3. useEffect deps include chainProp so a chain tab flip triggers the re-fetch.
  4. BenchmarkBody passes chain={effectiveChain ?? undefined} down.

Test plan

  • bun run typecheck — clean
  • After deploy: on aggregator-head-lag click Base → BNB → Solana tabs, the 7d/30d chart should refresh with each click (before: stuck on first-loaded chain)

@Flotapponnier
Flotapponnier merged commit 8a59728 into dev Jul 17, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant