Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
When #overlay=admin/structure/trigger
is activated, it redirects to #overlay=admin/structure/trigger/node%3Frender%3Doverlay
. This leads to inability to do simple Back because the previous URL is #overlay=admin/structure/trigger
which redirects again.
Comment | File | Size | Author |
---|---|---|---|
#14 | 690288-overlay.patch | 1.31 KB | klausi |
#9 | overlaysyncchild.patch | 1.38 KB | casey |
#6 | overlaysyncchild.patch | 1.29 KB | casey |
#4 | overlaysyncchild.patch | 1.27 KB | casey |
Comments
Comment #1
cbrookins CreditAttribution: cbrookins commentedAlso the back button hangs after Modules > Permissions. I reproduced this in alpha2. Back button works in other circumstances.
Comment #2
casey CreditAttribution: casey commentedAnd how does it work without the overlay?
Comment #3
ogi CreditAttribution: ogi commentedI've just tested Drupal 7 CVS again. Without overlay, there's no redirection and so there's no problem.
Comment #4
casey CreditAttribution: casey commentedOww I get it. Drupal.overlay.syncChildLocation in overlay-parent.js is causing an extra redirect which also is added to the browser's history.
Patch fixes the history, but we might wanna reconsider this syncing; it costs 2 extra http requests.
Comment #5
casey CreditAttribution: casey commentedComment #6
casey CreditAttribution: casey commentedSorry added patch without checking; forgot variable assignment.
Comment #7
casey CreditAttribution: casey commentedEdit: my note in#4 was nonsense. Patch is good.
Comment #8
ksenzeeThanks for the patch casey!
Ahh, regex. This breaks down if you have multiple query parameters in the destination. Say the destination is admin/something?render=overlay&someparam=somevalue . Encoded, that gives us destination=admin%2Fsomething%3Frender%3Doverlay%26someparam%3Dsomevalue . Run this regex on it, and you get admin%2Fsomething%26someparam%3Dsomevalue , which decodes to admin/something&someparam=somevalue . The regex needs to preserve the question mark in the destination URL.
Since this is going to get a bit complicated, I wonder if it wouldn't be easier to use the approach you took in fragmentizeLink and decode this before applying the regex, then encode it again.
Some trailing whitespace snuck in.
This comment appears elsewhere in overlay-parent.js - let's simplify it here with something like "Using location.replace so we don't create an extra history entry." Or something like that.
Powered by Dreditor.
Comment #9
casey CreditAttribution: casey commented- Moved regexp to fragmentizeLink() which is a better location and made it work with multiple params.
- Removed trailing whitespace.
- Simplified comment.
Comment #10
marcvangendNo activity here for a month; What is the status? Bumping this to 7.x-dev so it will show up better in the issue queues.
Comment #11
marcvangend#9: overlaysyncchild.patch queued for re-testing.
Comment #12
sunLooks good. However, this issue really stretches the definition of critical...
Comment #13
klausi#9: overlaysyncchild.patch queued for re-testing.
Comment #14
klausiSimple reroll.
Comment #15
Dries CreditAttribution: Dries commentedCommitted to CVS HEAD. Thanks.