fix: revert providers outside ErrorBoundary and upgrade findable-ui to v51.1.0#4787
Merged
fix: revert providers outside ErrorBoundary and upgrade findable-ui to v51.1.0#4787
Conversation
…o v51.1.0 (#4786) Revert ExploreStateProvider and DataDictionaryStateProvider to their original position outside the ErrorBoundary. Moving them inside (#4783) caused state loss when navigating to non-entity-list pages. Upgrade findable-ui to v51.1.0 which fixes the crash loop at the library level: - parseFilterParam safely validates filter URL params without throwing - useValidateFilterParam hook surfaces invalid filter errors inside the ErrorBoundary Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reverts the placement of ExploreStateProvider and DataDictionaryStateProvider to be outside the ErrorBoundary (to preserve state across navigation) and upgrades @databiosphere/findable-ui to v51.1.0, which includes upstream fixes to prevent the invalid-filter crash loop without requiring the provider move.
Changes:
- Move
ExploreStateProviderandDataDictionaryStateProviderback outside theErrorBoundaryinpages/_app.tsx. - Upgrade
@databiosphere/findable-uifrom^51.0.0to^51.1.0and update lockfile accordingly.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pages/_app.tsx | Restores provider layout so explore/data-dictionary state persists even when the error boundary renders. |
| package.json | Bumps @databiosphere/findable-ui dependency to ^51.1.0. |
| package-lock.json | Locks @databiosphere/findable-ui to 51.1.0 with updated tarball metadata. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NoopDog
approved these changes
Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reverts the provider move from #4783 and upgrades findable-ui to v51.1.0, which fixes the infinite crash loop at the library level.
Why revert
PR #4783 moved
ExploreStateProviderandDataDictionaryStateProviderinside theErrorBoundaryto catch reducer crashes. This fixed the crash loop but caused state loss when navigating to non-entity-list pages — the providers would unmount and lose explore state.Why this works without the provider move
findable-ui v51.1.0 (PR #899) fixes the root cause at the library level:
parseFilterParam— safely validates filter URL params without throwing. Called from reducers above the ErrorBoundary, prevents the crash that caused the re-render loop.useValidateFilterParamhook — runs inside ExploreView (inside the ErrorBoundary), validates the URL filter param directly, and throwsDataExplorerErrorfor invalid filters so the error page renders.ErrorBoundary— fixesthis.render→this.resettypo.useAsync.run()— clears stale error on new request.Provider layout (restored to original)
Closes #4786
Reference
Test plan
🤖 Generated with Claude Code