Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: update matchPath to avoid false positives on dash-separated segments #9300

Merged
merged 3 commits into from
Sep 30, 2022

Conversation

brophdawg11
Copy link
Contributor

@brophdawg11 brophdawg11 commented Sep 19, 2022

Would like to get @mjackson's eyes on this since he wrote the original path matching logic.

I think this was a previously undiscovered bug that's been exposed now that we updated NavLink to leverage useMatch to follow along with our own recommendation in examples/custom-link/. We had tests to assert that matchPath({ path: "/users", end: false }, "/users2") would be null, but we did not have any tests against /users-2 which is incorrectly matching currently.

Closes #9279

@changeset-bot
Copy link

changeset-bot bot commented Sep 19, 2022

🦋 Changeset detected

Latest commit: decf69b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@remix-run/router Patch
react-router Patch
react-router-dom Patch
react-router-dom-v5-compat Patch
react-router-native Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Member

@mjackson mjackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all LGTM. Thank you for cleaning up my buggy code! 🙏

Also, what's with the changeset name here? 😄

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

Successfully merging this pull request may close these issues.

[Bug]: NavLink is active for partial segment matches (react-router-dom v6.4)
2 participants