Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed#41346
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
derrabus approved these changesMay 20, 2021
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Contributor
mhujer commentedMay 21, 2021
@weaverryan I can confirm that this fixes#41305 on 5.2.8 👍 |
Member
nicolas-grekas commentedMay 21, 2021
Thank you@weaverryan. |
This was referencedMay 31, 2021
Merged
Merged
Merged
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
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.
Uh oh!
There was an error while loading.Please reload this page.
This bug was introduced in#41168.
Best viewed with:https://github.com/symfony/symfony/pull/41346/files?w=1 - we could also remove the new indentation in
exception.js.In that PR, we innocently don't reload
Sfjsif it doesn't exist. However, on an error page, that template ALSO adds anSfjs, and thatSfjsissmaller - containing only a subset of theSfjsfunctions. This is tricky, but this PR fixes it.Here are the various situations:
I hit an exception page. The
Sfjsfromexception.jsis loaded first. This adds the smallerSfjs. Then thebase_js.html.twigversion is hit. BecauseSfjsis missing theloadToolbar()method, that code DOES run again to reinitialize it.I am on a normal page, then travel to an exception page with Turbo. In this case, the original
Sfjsfrombase_js.html.twigwas processed. Then, on the exception page, theSfjsfromexception.jsis ignored, as is the 2nd execution ofbase_js.html.twig.Overall, the JS could use some work for supporting things like Turbo (e.g.
DOMContentLoadeddoesn't work with Turbo, so the exception page JS is broken). But I wanted to focus on fixing the bug in this PR.As a reminder,#41168 (avoiding overriding
Sfjs) was done to help with the AJAX toolbar and Turbo - it's explained in point (1) on#41168.Cheers!