-
Notifications
You must be signed in to change notification settings - Fork 403
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
try to resolve #244 #377
base: master
Are you sure you want to change the base?
try to resolve #244 #377
Conversation
It looks like there's a test failure that might be related. Know what might be going on there? |
Sorry for delay |
@alexmingoia @jbielick ping |
@jbielick 😞 I think this bug is really worth to resolve |
Thanks for this work, @YanLobat . I'm hesitant to merge it because I did not perceive a lot of confidence in the changes being made. The tests were broken until it was realized param handlers weren't transferred to the new layer and I wonder what else might be missing. Additionally, this PR includes no tests to assert the solved issue—it does not protect against regressions and I would say the impact of creating a new layer and adding it to the stack doesn't seem completely scoped out. For a change that has such a broad reach of impact to the library I was hoping to see more information and explanation in the PR description, as well as tests and information on how users might need to change their code (or not change their code) in their applications to solve the issue. Any thoughts? |
Thanks for reply @jbielick ! That PR will cause more memory consumption while shared routers are used because of creating new instances of router Layers. As well such thing as param should be reset if it presents. About tests, you are totally right. I will perform one. Example from #244 is worth for it? |
Any progress? |
@YanLobat thanks! I believe lots of people are waiting for this! |
Hi @jbielick. Any updates? |
Can you remove package-lock.json from this PR? |
There are no merge conflicts anymore! Seems like #433 worked out |
I guess we can merge it now with no blockers. What're your thoughts @jbielick? |
@YanLobat can you request contributor access from @alexmingoia ? At that point you could merge and handle any issues / releases for the that work (which would probably warrant a new version of the router since it could have some sneaky implications for anyone who has tried a workaround or patched it differently). |
Why hasn't this been merged yet? |
@jbielick Yes I can but it's pretty obvious for me that this one can be merged. Still don't get the reason why it's not merged yet. @alexmingoia Can I have contributor access? @DominusVilicus Have no idea. |
@YanLobat I don’t wish to continue triaging issues and maintaining this lib, so I’d like to recuse myself of updating the change log, publishing a new version (major, since this has implications for anyone who worked around this issue), and being the only one who could help resolve any issues that arise from this release. I think you can obtain contributor abilities if you would like to take that on and release this fix—that way if there are any issues you can also be able to address and fix those (merge PRs) without needing my help. If I had the ability to give you contributor status I would. I don’t feel comfortable, personally, merging this and answering any questions in issues—there are many related to this and I believe that will continue to be the case (not all of them are solved by this PR—see issues tagged with “nested routes”). /cc @alexmingoia |
One thing I can say for certain is that the tests don’t cover all of the use cases for this lib and passing tests don’t provide the same confidence to me that they might to others. This became apparent when attempting to write 8.x |
@jbielick Thanks for the detailed feedback! |
@YanLobat Why is package-lock.json touched in this PR? Are updated deps needed for this functionality? |
The problem was in impossibility to reuse router instance with multiple prefixes properly, because layer instance inside router was overwritten with new routes.
And it is real situation when previous routes won't be accessible anymore. That's why we need to create layer instance in every iteration.
At least, this fix resolves issue in #244 but I would to discover bad cases for this fix if they exist.