Skip to content

fix: sitemap aggregate timeout + CDN caching - #2092

Merged
Flotapponnier merged 1 commit into
mainfrom
hotfix/sitemap-aggregate
Aug 26, 2026
Merged

fix: sitemap aggregate timeout + CDN caching#2092
Flotapponnier merged 1 commit into
mainfrom
hotfix/sitemap-aggregate

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Cherry-pick of #2090 onto main.

Root cause: /api/aggregate had cache: "no-store" on its internal fetch → Next.js treated the route as dynamic → stripped s-maxage=60 from the response → Vercel CDN x-vercel-cache: MISS permanently → every sitemap build fetched 7.6 MB from Paris VPS (37-49 s) → FETCH_TIMEOUT_MS=20s always fired → loadAggregateFromBlob() always null → static fallback (192 URLs) → GSC dropped from 650 to 18 indexed pages since ~Aug 8.

Changes (same as #2090, conflict-resolved for main):

  • api/aggregate: remove cache: "no-store", add export const revalidate = 60, UPSTREAM_TIMEOUT 25s→70s
  • aggregate-blob.ts: FETCH_TIMEOUT 20s→65s
  • sitemap-builder.ts: build timeout 20s→55s (maxDuration is 60s on this route)

After deploy: first /api/aggregate ISR miss takes ~18s (gzip). All subsequent calls within 60s are served from Vercel Data Cache. Sitemap returns 750+ URLs instead of 192.

* feat: shareable wallet URLs + HL fee/funding breakdown

- /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load
- pushState updates URL after analyze so any comparison is shareable
- FeeCompareClient accepts initialVenueA/B/Wallet/Days props
- HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown

* fix: remove 'No activity found' text from crossSim projection side

* fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route)
@Flotapponnier
Flotapponnier merged commit 27f7898 into main Aug 26, 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