Fixed interception on a catch-all route #72902
Open
+2
−2
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.
For Contributors
Fixing a bug
Fixes #72523
Related to b914ad8
Related to #51787
For Maintainers
What?
The regex replacement, also replaces
...
with_
. Which causes the check below, which handles catch-all segments, to always return false.Why?
Currently when you have an intercepted route with a catch-all segment, it only matches the first segment. As soon as you navigate to
/multiple/segments
the intercept fails because the rewrite is not capturing this correctly.How?
The changes introduced in b914ad8 added a
replace(/\W+/g, '_')
which causes the check below to always fail, since if it started with...
that would at that point be replaced with_
.Todo
rewrites
has:path*
instead of:path