fix(Router): Load attribute routes of all apps when not app is specified #47508
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.
Summary
Found while debugging #47479 (also necessary for the fix to it).
The problem was that when
loadRoutes(null)
was called the attribute routes should have been loaded for all apps since no app was specified. It only loaded the traditional routes.php files and then continued to setloaded = true
. Any future call would return early, even if an app was specified because everything must be loaded already.This logic now matches the loading process of routes.php which it should have done from the start.
Unfortunately back then I didn't find this problem and it seems to only trigger in specific places where the app is not known (e.g. when loading the
/index.php
path where the server has to load the routes first and then has to figure out which app should be used).Checklist