fix/bounds pairing - #142
Merged
Merged
Conversation
Make initial destination measurement terminal after its first release. This prevents React updates from reclaiming the lifecycle gate and blocking visibility. Exclude closing screens from new source matching. Keep unresolved sources retryable so timeout warnings and safe release remain reachable.
Activate escapeClipping from the requesting boundary's resolved animation slot. This separates clipping escape from handoff and destination linkage. It also supports source-only bounds animations in nested route structures. Portal hosts now accept any non-zero measured frame. Nested and offset hosts can establish their coordinate space and become ready.
Keep the current interpolator live on a self-only frame. The next screen still owns the relationship and outgoing transition. This preserves half-sheet transforms without freezing screens during rapid pushes. Regression tests cover settled snap transforms and overlapping navigation.
Verify that a retained closing screen cannot become the source of a new bounds pair. Verify that completed destination measurement does not restart after provider updates.
Document the bounds reliability fixes included in the patch release. Restore the v3 Expo Router setup and remove obsolete compatibility caveats.
Run the docs build from the repository root and point Netlify at the package outputs. This prevents the docs base directory from being applied twice during local development.
✅ Deploy Preview for rnst-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This was
linked to
issues
Jul 30, 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.
Motivation
v3.11.1 improves transition reliability during rapid navigation and across complex route structures.
Bounds transitions should pair source and destination screens regardless of which navigator or ancestor renders them. Screens that are already closing must not become sources for newly opening transitions, and completed destination measurements must not restart after provider updates.
The patch also makes
escapeClippinglocal to the source boundary, allowing it to escape nested or clipped layouts without depending on the destination layout.Finally, screen styles remain live when transitions overlap. This preserves transforms such as half-sheet positioning while preventing intermediate screens from freezing during repeated pushes.
These changes fix regressions without changing any public APIs or requiring migration.