Skip to content

fix: degrade gracefully when page data fails to load - #1847

Merged
ZavenArra merged 1 commit into
mainfrom
fix/graceful-page-errors
Oct 5, 2026
Merged

ZavenArra merged 1 commit into
mainfrom
fix/graceful-page-errors

Conversation

@ZavenArra

Copy link
Copy Markdown
Member

A transient query API failure during ISR made getStaticProps return empty props, which Next cached for NEXT_CACHE_REVALIDATION_OVERRIDE (12h). Pages then crashed on organization.featuredTrees, and with no error boundary the crash unmounted the map too (which also threw on null map filters).

  • wrapper returns props.loadError with a 30s revalidate instead of empty props; 404 still returns notFound
  • getOrgLinks uses Promise.allSettled and reports partialErrors
  • 15s axios timeout on query API requests so renders fail fast
  • ErrorBoundary around page panels, the map, and page sections
  • PageLoadError panel (alert, retry, skeletons) for org, planter, wallet, tree and capture pages; section-level "unavailable" notices
  • map starts with empty filters; move_end handler errors are logged
  • log window errors, unhandled rejections and _error page causes

A transient query API failure during ISR made getStaticProps return empty
props, which Next cached for NEXT_CACHE_REVALIDATION_OVERRIDE (12h). Pages
then crashed on `organization.featuredTrees`, and with no error boundary
the crash unmounted the map too (which also threw on null map filters).

- wrapper returns props.loadError with a 30s revalidate instead of empty
  props; 404 still returns notFound
- getOrgLinks uses Promise.allSettled and reports partialErrors
- 15s axios timeout on query API requests so renders fail fast
- ErrorBoundary around page panels, the map, and page sections
- PageLoadError panel (alert, retry, skeletons) for org, planter, wallet,
  tree and capture pages; section-level "unavailable" notices
- map starts with empty filters; move_end handler errors are logged
- log window errors, unhandled rejections and _error page causes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ZavenArra
ZavenArra merged commit 13cfdcd into main Oct 5, 2026
1 check passed
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 2.10.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant