Problem/Motivation
Starting in Drupal 8.5, menu editing regressed: if you add a menu link from the "add link" form, you are redirected back to the menu list, rather than the currently-selected menu. It is very jarring. This is a regression from previous 8.4.x behaviour that was introduced by #2767857: Add destination to edit, delete, enable, disable links in entity list builders.
Steps to reproduce the issue:
- Install standard and login
- Go to
admin/structure/menu - Click on any edit menu
- Click on add link
- Fill out the add link form and press save
A user would expect to return to the menu with its list of links. Actually, you return to the list of menus.
#2957953-43: Editing menus user-experience has regressed provides additional detail on the use-cases where this destination parameter is applied.
Proposed resolution
Remove the destination as we did in #2940165: [regression] Cannot add effects to image style via the UI.
Completed tasks
- Merged issue patches with similar work in #2957953-49: Editing menus user-experience has regressed.
- Consolidated work and test cases starting in #2957953-90: Editing menus user-experience has regressed.
- Last significant work was test tweaks in #2957953-113: Editing menus user-experience has regressed.
- This issue received a working patch against `9.3.x` (as requested in #2957953-124: Editing menus user-experience has regressed) in #2957953-139: Editing menus user-experience has regressed.
- Any additional patch (test comments) feedback (as mentioned in #2957953-124: Editing menus user-experience has regressed) were covered in #2957953-139: Editing menus user-experience has regressed.
Remaining tasks
- Confirm and deploy, pending any additional review/feedback.
User interface changes
The destination is removed from the links on admin/structure/menu
API changes
None
Data model changes
None
| Comment | File | Size | Author |
|---|---|---|---|
| #139 | 2957953-9.3.x-139.patch | 6.9 KB | alexpott |
| #139 | 133-139-interdiff.txt | 2.56 KB | alexpott |
| #135 | menu.mp4 | 1.18 MB | vikashsoni |
| #134 | 2957953-131-134-interdiff.txt | 778 bytes | joegraduate |
| #134 | 2957953-134-9-2-x.patch | 7.28 KB | joegraduate |
Issue fork drupal-2957953
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 2957953-editing-menus-user-experience
compare
- 9.2.x
changes, plain diff MR !592
Comments
Comment #2
alexpottDiscussed a bit with @berdir who pointed out that this is not the same as #2940165: [regression] Cannot add effects to image style via the UI because there we had a form button. Here we are dealing with stuff like:
This code no longer works because in RedirectDestination we're doing:
So the added destination is now overriding the destination that was being generated from current.
Comment #4
berdirAs discussed, I suggested to simply explicitly set query to ['destination' => $current_path] and not bother with the service as we I think explicitly only want the fallback behavior of the redirect destination service.
Comment #5
berdirComment #6
alexpott@Berdir I tried that but compared with #2 this doesn't fix the local task to add a new menu item :(
Comment #7
alexpottComment #8
alexpottHere's a patch with a less complex fix and also a test that shows how broken things are. Need a more elegant way to click the right link on the menu overview page.
Comment #11
alexpottHere's a better test.
Comment #12
alexpottComment #13
runeasgar commented/admin/structure/menu/manage/main?destination=/admin/structure/menuand then to/admin/structure/menu/manage/main/add?destination=/admin/structure/menu, and after adding my link, it returned me to/admin/structure/menu. Also agreed this is jarring.$ curl -l https://www.drupal.org/files/issues/2018-04-19/2957953-9.patch | git apply -vdrush cr/admin/structure/menu/item/3/edit).So.. I don't think this is fixed, and I think I also uncovered a similar undesirable behavior, in a different location, in my step 1.
Not sure I'm testing this right, so leaving issue status as-is.
Comment #14
berdirYes, what @runeasgar said :)
Also, the test-only patch did not actually fail.
The reason is that you picked an empty menu in your test and your test doesn't have the local actions (not tasks) block, the only "add link" is the empty table message. And that empty table message already does exactly what I suggested we should do also in the local actions plugin: It *specifically* links back the destination to the menu edit form.
And because that's not enough fun, we also have cacheablity metadata bugs in \Drupal\menu_ui\Plugin\Menu\LocalAction\MenuLinkAdd, because without clearing the render cache right above the test, we see a render cached local actions block that does have the "correct" destination because it's from a previous request.
So this actually does fail, but it's pretty fragile, but it's just a test-only patch. Working proper fixes...
Comment #16
berdirThis test does not fail on its own due to the caching issue, but I don't think we should keep a cache clear to work around a bug that no longer exists with this implementation. I think it does sufficiently prove that things are working?
Comment #17
berdirWithout the now unnecessary use.
Comment #18
alexpottIt's not just the MenuLinkAdd though. It is also the edit button on custom links you've already added.
If you:
Comment #19
alexpottBasically. This has to stay too
Comment #20
berdirHm. Missed that part.
If you go to admin/content?destination=/front then editing a node and saving will redirect you back to /front.
Maybe instead of dropping the query argument, we should prevent it from being added to the edit links for menus then? This page after all is very simlar to taxonomy term pages, the main difference is that the term overview there is not attached to the edit form but a separate page, so it doesn't get the default destination argument.
I still think it makes sense to keep the other improvements to have consistency between the the two add links.
I also noticed there is a third add link on the menu operations, without any destination, which means you end up on the edit form after saving, which honestly doesn't really make sense to me. But not sure where it should go instead and I think we're doing enough already here.
Comment #21
alexpottThis will cause a coding standards fail.
This solves the regression because it removes the desintation. I think we should probably do the other changes in another issue.
Comment #23
pobster commentedWould love to get this moving along again?
Comment #24
alexpott@pobster an automated test would be great. That way we'll not break this again. The patch in #20 had some tests. Given that we've scoped the patch to only solve the problem they might need some adjusting.
Comment #25
pobster commentedSure! Although ... I kinda went specific with the tests, let me know what you think?
Comment #26
pobster commentedOkay ... that was unexpected ... failed due to the base path? I'll revisit this later.
Comment #29
pobster commentedAlthough ... might just be a quick fix... Removing the toString on the failing line, it shouldn't have made any difference ~ but there's an existing test below doing the same thing without it that I didn't spot previously.
Comment #30
borisson_The fail in #25 is probably because the testbot runs from a subdirectory. In any case, the test in #29 is not working.
It also passes without the code to fix it, so the test looks like it is not specific enough.
It looks like the patch is correct though.
Comment #31
borisson_Ugh, meant change the status in my previous comment.
Comment #32
pobster commentedDuplicated by https://www.drupal.org/project/drupal/issues/3019834 (which is now merged with the same fix).
Comment #33
pobster commentedComment #34
hudriChanged status back to open, the "duplicate" tag is incorrect. The referenced issue 3019834 was published in v8.7, but does NOT contain this fix, the bug still exists in v8.7.6
Comment #35
pobster commented@hudri This hasn't regressed, I've just quickly checked it now. Please can you describe in detail the steps you're taking?
E.g.
1. Started on /admin/structure/menu
2. Clicked to edit the "Management" menu, URL contains a destination; /admin/structure/menu/manage/admin?destination=/admin/structure/menu
3. Clicked to edit a menu item, noting the URL now has no destination; /admin/structure/menu/link/entity.context.collection/edit (the lack of a destination is the "fix")
4. Saved the menu item, redirected back to the "Management" menu as expected
https://www.drupal.org/files/issues/2018-12-23/entity-url-methods-301983...
Maybe for your circumstances, something else is causing it? Else, maybe I've just forgotten exactly what this covered!
Comment #36
pobster commentedHmmmm you know what?... You're right, it's just that it's the "Add link" which is broken and not the edit functionality. I swear this was working previously and oddly if you change the test to actually click the link rather than go directly to the page (i.e. so there's no "destination") the tests actually still pass...
/core/modules/menu_ui/tests/src/Functional/MenuUiTest.phpNot entirely sure I understand, as
/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.phpsuggest that carrying over the "destination" is intentional?Comment #37
hudri@Pobster, I noticed there is an additional, hidden (caching?) quirks with the destination parameter: The backlink / destination parameter is correct on the very first visit after creating a new menu, but is incorrect after a cache clear:
/admin/structure/menu/manage/foo(without any destination parameter). Now every link regaring menu items in there (the local action "Add" button, the inline "Add" link if the menu is empty, and the "edit" button on existing items) is correctly using the destination parameter?destination=/admin/structure/menu/manage/foodrush cr/admin/structure/menu/manage/foo?destination=/admin/structure/menu. Now the destination parameter is no longer correct on the "Add" and "Edit" menu item buttons, instead of the expected?destination=/admin/structure/menu/manage/foothere now is an incorrect?destination=/admin/structure/menu.?destination=/admin/structure/menu/manage/foo, even after a cache clearComment #38
liquidcms commentedJust making sure I am on the same page; just tried this with 8.7.9 and the issue remains. Destination set when editing a menu item is: admin/structure/menu - which is wrong.
Comment #40
andypostLooks all list builders affected by caching of destination links...
Comment #41
alexpottAdd steps to reproduce the issue to the issue summary and confirmed the bug still exists in D8.9
Comment #42
alexpottRerolled and added the deprecated service property trait.
Comment #43
ryan.ryan commentedAlright, so after applying the patch to 8.8.1 (cleanly), it appears the functionality is still off. Below are my test cases:
Creating a menu link from the Add link dropdown
1. From /admin/structure/menu, I click the Main Menu dropdown and click Add Link.
2. I am directed to the menu entity form, populate the fields, and submit the form.
3. The form saves and I am redirected to the (same) newly created menu entity form.
Actual result: After creating a menu link entity, I'm on the menu link entity form.
Expected result: After creating a menu link entity, I am redirected back to the Main Menu link listing.
Editing an existing menu link
1. From /admin/structure/menu, I click the edit link for the Main Menu and then click edit on an existing menu link.
2. I edit the existing menu entity and submit the form.
3. I am redirected back to /admin/structure/menu.
Actual result: After editing a menu link entity, I'm redirected back to the menu listing.
Expected result: After editing a menu link entity, I am redirected back to the Main Menu link listing.
Notes
I can see that the
?destination=/en/admin/structure/menudestination parameter persists when clicking the edit link for a menu from/admin/structure/menu. That explains why editing menu links sends you back to the menu listing. For menus, I don't really see a use-case for being redirected back to the list of menus in any scenario. In my mind, it seems extremely rare to finish editing a menu and then want to edit other menus.Anyway, just wanted to add that testing feedback!
Comment #44
ryan.ryan commentedComment #49
alexpottCrediting people from one of the duplicate issues that made it to rtbc - #2975407: After adding, deleting or editing a menu item, I am redirected to the Menus Management page rather than returned to the Menu Edit page
Going to mark #3095014: Menu system should redirect to the particular menu's link listing after adding a link as a duplicate too.
Given this is getting a number of duplicates I'm going to bump it to major. This was a major UI regression caused by #2767857: Add destination to edit, delete, enable, disable links in entity list builders
Comment #51
alexpottCrediting @saranya ashokkumar for their work on #3095014: Menu system should redirect to the particular menu's link listing after adding a link
Comment #52
sleitner commented@ryan.gibson: Creating a menu link from the Add link dropdown and Editing an existing menu link now works
Comment #53
alexpott@sleitner can you add some test coverage to prove that adding /editing and deleting works. The test coverage so far only tests the Adding and editing. Plus it doesn't cover the changes you've made in #52.
Comment #54
sleitner commentedFive additional destination tests: Add Link and Edit Menu on /admin/structure/menu and Add Link, Edit and Delete on menu link list.
Comment #55
sleitner commentedComment #56
priyanka.sahni commentedComment #57
alexpottI wonder if rather than doing all this changing of the destination we should adopt the solution in #2975407: After adding, deleting or editing a menu item, I am redirected to the Menus Management page rather than returned to the Menu Edit page.
Here's a patch that combines the fix from that issue with the tests from this issue and expands the tests to be test the URL the menu administrator is on rather than what the links are. It also adds testing for adding a link to menu directly from a menu page. Atm this patch makes you return to the listing the page but it is debatable what the correct place to go here is. ATM in head this operation is very weird. You get stuck on the menu item edit page!!! So we need to make a choice about where the user would rather be after adding a link directly from the menu listing page. I've left @todos for this.
There's no interdiff with #55 because the approach is different. But at least we now have pretty full test coverage of clicking around the menu UI.
Sorry @priyanka.sahni I was working on this from before I saw your comment.
Comment #58
priyanka.sahni commentedVerified and tested by applying patch#55.It looks good to me.Can be moved to RTBC.
Steps to test -
1. Go to the admin site.
2. Go to admin/structure/menu
3. Click on any edit menu
4. Click on add link
5. Fill out the add link form and press save
6. Verify , it should re-directs to the link listing page instead of menu listing page.
Before Patch -

After Patch -

Comment #59
priyanka.sahni commented@alexpott I tested the patch #55.I have already posted my comment.
Comment #60
alexpott@priyanka.sahni if you could review #57 and confirm if has the same impact that.d be great. It's a slightly different solution which ends up being a bit neater.
Comment #61
sleitner commentedComment #62
sleitner commented@alexpott #57 works as expected. My opinion is that the destination should be set to the menu page, because of two reasons:
The patch changes this. Please review.
Comment #63
jlongbottom commented#62 works great for me
Comment #64
pobster commented#62 needs work. This is now unused and can be removed (assuming the changes are good);
Comment #65
sleitner commentedremoved
, please review
Comment #66
sleitner commentedNobody wants to push this problem? Does nobody use the menu UI and is annoyed by the extra clicks on every menu entry?
#65 implements the solution and tests from @alexpott , but sets the destination to the menu page /admin/structure/menu/manage/{menuid} to ensure that you can control your results in the hierarchy and the menu order. Most users will add many items to one menu, not one item after another to many menus.
Comment #67
acbramley commentedI agree with #57 it definitely makes sense to me to be taken to the place where you're managing the menu's links after adding a new one.
The interdiff between #57 and #65 looks good to me and confirmed that #65 only removed the
ensureDestinationfunction.This is good for RTBC in my opinion! I believe @pameeela is doing some manual testing so will wait for that before changing status :)
Comment #68
acbramley commentedAdding bugsmash tag.
Comment #69
acbramley commentedSo I went and did some manual testing in order to update the IS as currently the User interface changes section is incorrect.
There is still one way in which this patch doesn't fix the issue.
Steps to reproduce:
1) Navigate to admin/structure/menu
2) Click Edit menu on one of the menus
3) Notice you now have a destination parameter to /admin/structure/menu
4) The Add Link button now has the destination parameter too
5) This is now cached so navigating directly to /admin/structure/menu/manage/FOO will also have the Add link button with the incorrect destination
6) Clearing cache and visiting /admin/structure/menu/manage/FOO directly will fix it.
I'll look at adding a failing test case for this.
Comment #70
andypostAlso needs work for comment #40
Comment #71
acbramley commentedSo I was confused how the asserts following this were passing with my comments above but I may have found out why.
When we click Add link here there are no other menu links in the page so it's highly likely it's clicking the "Add link" link inside the empty text in the table. From my manual testing, the link inside the empty text has the correct destination however I cannot reproduce this in a test run. BUT I can reproduce it via simplytestme. I'm wondering now if there's something weird with caching on drupalci because I've had similar issues getting other tests to fail caching bugs e.g https://www.drupal.org/project/workbench_access/issues/3172841#comment-1...
Comment #72
paulocsShould we not move this issue to the 9.1.x branch?
I think be redirected to the /admin/structure/menu after add a new link is really a problem.
I try to add the same approach from #65 to the 9.1.x branch but I'm still been redirected to the /admin/structure/menu page.
I didn't create a patch to the 9.1.x branch because I would like to know if we have to work on this issue on the 8.9.x or 9.1.x branch.
Comment #73
maosmurf commentedPatch #12 from https://www.drupal.org/project/drupal/issues/2975407 does solve all issues for us.
Patches #57 and #65 here do not solve the edit-links, as stated above.
Comment #74
batkormaosmurf thanks your right.
This patch worked for me Drupal 9.2.0-dev
Comment #78
pameeela commented@batkor, can you please upload the patch from that issue? I have closed #2305353: Make redirect after saving a menu link into another parent menu, go to the parent menu admin form as a duplicate to avoid any further duplication of effort.
I am also transferring credit from that issue for when this gets fixed.
Comment #79
paulocsThe patch from issue #2975407: After adding, deleting or editing a menu item, I am redirected to the Menus Management page rather than returned to the Menu Edit page
Comment #80
batkorLast worked patch for this issues
And i think this my patch not best practical.
+1 vote to use patch #79
Comment #81
paulocsWe need now write tests for patch #79.
Comment #82
paulocsI'm not sure how write tests for patch #79. If someone has any tip, please tell me.
Comment #83
andypostThere's test in #2975407-12: After adding, deleting or editing a menu item, I am redirected to the Menus Management page rather than returned to the Menu Edit page
Comment #84
andypostComment #85
paulocsThe tests in #2975407: After adding, deleting or editing a menu item, I am redirected to the Menus Management page rather than returned to the Menu Edit page don't cover what we want. The test is already in patch #79 but it only ensures that it will not be redirected to
'/admin/structure/menu'.I think we need to write test to ensure that the page is redirected to the correct page.
Comment #86
mohit_aghera commentedAdding test cases for the patch mentioned in #79
Comment #88
anmolgoyal74 commentedTests passed locally. Triggering test again.
Comment #89
alexpottIt's the assertion... 1) Drupal\Tests\menu_ui\Functional\MenuUiTest::testMenuAddLinkRedirects
Behat\Mink\Exception\ExpectationException: Current page is "/subdirectory/admin/structure/menu/manage/tools", but "/admin/structure/menu/manage/tools" expected.
DrupalCI runs in a subdirectory.
Can we go back to the patch in #65. It works apart from #69 / #70
There are probably things fixed in #65 which are not addressed by #79
Comment #90
alexpottHere's a patch that builds on #65 to solve #69 by using the fix from #79.
It also has a test for #69.
The interdiff is back to #65
Comment #92
alexpottFix the test on DrupalCI... hopefully.
Comment #94
andypostnit - why not
testMainMenu()?this test class already has
testSystemMenuRename()Comment #95
kishor_kolekar commentedWorked on comment #94
Comment #97
alexpottRE #94 because it is the main menu test in this file and the rename allows the --filter option in PHPUnit to work better. It's not testing the main menu...
Fixing the test too...my regex fu--
Comment #99
alexpottNow tested the regex locally... lol.
Comment #100
acbramley commentedIMO none of these strings should be wrapped in t(), I'm not sure if this is a standard or not but even the test changes in this patch have a mix of both.
Comment #101
govind.maloo commented@acbramley
This is good as we have local test separately.
Comment #102
acbramley commentedSpoke with @Sam152 about this and he agreed that patches shouldn't be adding new calls to t() in tests. There were also 2 calls to the deprecated
drupalPostFormso I've fixed those up too.Comment #103
paulocs@acbramley is right. We should not use t() in tests because we are not testing the translation.
I'm moving to needs work because patch #102 still uses
drupalPostForm.See:
+$this->drupalPostForm(NULL, ['link[0][uri]' => '/', 'title[0][value]' => $link_title], 'Save');and
+ $this->drupalPostForm(NULL, ['link[0][uri]' => '/', 'title[0][value]' => $link_title], 'Save');Comment #104
kishor_kolekar commentedWorked on Comment #103
Comment #106
paulocs@kishor_kolekar you should remove
NULL,from$this->submitForm(NULL, ['link[0][uri]' => '/', 'title[0][value]' => $link_title], 'Save');in both cases.Comment #107
alexpott@kishor_kolekar when you change a test it's a really good idea to run it locally prior to uploading a patch. Also I'm not a fan of the drupalPostForm deprecation... oh well.
Here's a fix.
Comment #108
paulocsI tested patch #107 and it looks good to me.
The test looks good too. Moving to RTBC.
Comment #110
bappa.sarkar commentedPatch for drupal 9.1.x
Comment #111
abhijith s commentedComment #112
alexpott#110 is not a fix and only results in broken coding standards...
Here is the diff between #107 and #110
Comment #113
alexpottHere's a fix for the test failure. Interdiff back to #107 because #112.
Comment #114
abhijith s commentedApplied patch #113 on 9.2.x and it works fine.Added screen recordings.
Comment #115
capysara commentedTested on simplytest.me following steps to reproduce 1-5 in the issue description. Works as expected: You end up back at the menu with its list of links.
Also applied patch with composer on existing site with core 9.1.3. Same results.
Thanks! This fixes something pretty annoying.
Comment #116
maxpahHello,
Tested on 9.1.4, working great, thanks for the patch.
Comment #119
trackleft2Added Merge Request to update patch in #113 for 9.2-dev
https://git.drupalcode.org/project/drupal/-/merge_requests/592
Diff here:https://git.drupalcode.org/project/drupal/-/merge_requests/592/diffs
Patch here: https://git.drupalcode.org/project/drupal/-/merge_requests/592/diffs.patch
Tugboat QA site listed on merge request.
Comment #121
bappa.sarkar commentedThe patch 2957953-9.2.x-113.patch no longer applicable on 9.1.8
Updating the patch!
Comment #122
chetanbharambe commentedVerified and tested patch #121.
Patch applied successfully and looks good to me.
Testing Steps:
# Goto: admin/structure/menu
# Click on any edit menu
# Click on add link
# Fill out the add link form and press save
# User should be redirected to back at the menu with its list of links but actually, the user is redirected to back at the list of menus.
Expected Results:
# User should be redirected to back at the menu with its list of links.
Actual Results:
# User is redirected to back at the list of menus.
Looks good to me.
Can be a move to RTBC.
Comment #123
seanbThe patch in #121 didn't seem to apply so here is another reroll for 9.1.x.
Comment #124
quietone commentedBug fixes go against the latest version, so this needs a working patch against 9.3.x.
I read the Issue Summary and it is out of date. The remaining steps show that a test is needed but there is one in the patch. As a reviewer, that makes me wonder if the test needs more work?
I had a brief look at the patch and I want to recommend changes to a comment but I have to go now.
Comment #125
WebbehGiven the last summary update was performed in #2957953-44: Editing menus user-experience has regressed, I'm updating the issue summary with where we're at.
Removing outdated issue tags to reflect the issue summary update and to remove an out-of-date conference tag.
As a friendly reminder, here's where our remaining tasks sit as of this comment (as also reflected in the summary):
Remaining tasks
Let's squash this bug!
Comment #126
WebbehComment #127
dhirendra.mishra commentedHere i have re-rolled the patch against 9.3.x
Comment #128
mohit_aghera commentedComment #130
mohit_aghera commentedFixing the test cases and removing deprecated method.
The patch was not applicable on the latest 9.3.x head, I had to re-roll it.
Comment #131
joegraduateRe-roll of last working 9.2.x patch (from #118 / #119) that should apply to latest 9.2.x branch / 9.2.x release version.
Comment #132
quietone commentedSorry, needs a reroll.
Comment #133
ankithashettyRe-rolled the patch in #130 against the latest 9.3.x, thanks!
Comment #134
joegraduateRe-rolled the patch in #131 against the latest 9.2.x.
Comment #135
vikashsoni commentedapplied patch #121 working fine
after patch the destination will be menu list for ref sharing
Comment #136
paulocsPatch #133 looks good!
It properly redirects when deleting a menu link and when editing a menu link.
The code looks clean as well and the tests seems to cover the bug.
Cheers, Paulo.
Comment #137
batkor+
Comment #138
larowlanThis is the delete link, not the add link.
Whilst we're here, can we add a comment saying that we're doing this via the UI so that we can test destination handling, otherwise someone might think this duplicates the existing delete test case in ::deleteCustomMenu
Can we also assert that the new link exists was indeed crated, e.g the link title appears on the page.
I see talk above about their being a caching bug in the local actions block - is that what this is for?
If so, is there an existing issue for that?
If not, can we create one?
If so, can we postpone this issue on fixing that first?
Same here re testing that the new link was indeed created/exists on the page
Comment #139
alexpott@larowlan thanks for the review.
Re #3
1. Fixed
2. Fixed - this pretty much c&p from other parts of the test but there's no harm in the additional assertions.
3. I don't think this issue should be postponed on that. This exists to ensure that our cache is not hiding a bug as it has been. I don't think this is a bug per se it ensuring that the cache is not hiding a bug. We could file a follow-up to test and ensure that caches are cleared as expected when using the menu UI.
4. Fixed
Comment #140
sleitner commentedPatch #139 looks good!
It properly redirects when deleting a menu link and when editing a menu link.
The code looks clean as well and the tests seems to cover the bug.
Comment #141
WebbehComment #142
larowlanSaving issue credit
Comment #145
larowlanCommitted 8a18762 and pushed to 9.3.x. Thanks!
As this is fixing a major bug and there is little risk of regression, backported to 9.2.x
Thanks everyone for the mammoth effort here