-
Notifications
You must be signed in to change notification settings - Fork 26.2k
fix(router): Ensure all outlets are used when commands has a prefix #39456
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
Conversation
6fabfbf
to
0b506b3
Compare
0b506b3
to
896aaf6
Compare
My opinion ofc but I think it makes more sense to add the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with few nits
@alfaproject - That's a fair suggestion and I think different people will have different opinions on the matter. I actually like having a set of tests that are commented out/ignored but can be enabled when a fix becomes available. My feeling is that tests act as a form of documentation and the Either way, I'm not aware of any style guide on this, so I'll just leave it as-is. |
896aaf6
to
9dbd5c6
Compare
This commit has a small refactor of some methods in create_url_tree.ts and adds some test cases, including two that will fail at the moment but should pass. A follow-up commit will make use of the refactorings to fix the test with minimal changes.
When there is a primary outlet present in the outlets map and the object is also prefixed with some other commands, the current logic only uses the primary outlet and ignores the others. This change ensures that all outlets are respected at the segment level when prefixed with other commands.
1bfe4f0
to
5346092
Compare
…39456) When there is a primary outlet present in the outlets map and the object is also prefixed with some other commands, the current logic only uses the primary outlet and ignores the others. This change ensures that all outlets are respected at the segment level when prefixed with other commands. PR Close #39456
…39456) When there is a primary outlet present in the outlets map and the object is also prefixed with some other commands, the current logic only uses the primary outlet and ignores the others. This change ensures that all outlets are respected at the segment level when prefixed with other commands. PR Close #39456
…39456) When there is a primary outlet present in the outlets map and the object is also prefixed with some other commands, the current logic only uses the primary outlet and ignores the others. This change ensures that all outlets are respected at the segment level when prefixed with other commands. PR Close #39456
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Note: Easiest to review is per-commit.
Commit 1: A refactor only. No functional changes. Also documents behavior with tests and coherent example config.
Commit 2: Small change to allow tests from commit 1 to pass.
When there is a primary outlet present in the outlets map and the object is also prefixed
with some other commands, the current logic only uses the primary outlet and ignores
the others. This change ensures that all outlets are respected at the
segment level when prefixed with other commands.
Fixes issue that prevented navigation in #39401.
Partially addressed #13523 - That issue, along with #15718, stem from a general difficulty to change outlets because one has to specify the change using the correct segment 'level' (see tests named
should not clear secondary outlet when at root and prefix is used
andshould not clear non-root secondary outlet when command is targeting root
). Additionally, it's still not possible to change two outlets that appear at different levels in the config in a single navigation.