- Issue created by @malcomio
- 🇬🇧United Kingdom malcomio
See also 📌 Update to jQuery UI 1.14.0 Fixed for core.
- First commit to issue fork.
- Status changed to Needs review
4 months ago 12:18pm 20 January 2025 - 🇧🇪Belgium flyke
This MR only changes the reported version in assets/vendor/jquery.ui/ui/version.js.
But all code is still 1.13.
This causes errors when jquery_ui uses old stuff that is no longer present in 1.14.I get the error:
An error occurred during the execution of the Ajax response: TypeError: i.ui.safeActiveElement is not a function
According to the jQuery UI 1.14 changelog and release notes safeActiveElement is removed.
However, if I scan the code of jquery_ui after using this patch for '
safeActiveElement
', I get31 results in 21 files
.
I think the correct amount should be zero.If I scan the code of jquery_ui after using this patch for '
1.13.
', I get283 results in 122 files
.
I think the correct amount here should also be zero ?So this patch just pretends to do something by changing the reported version, but the reported version is a lie because none of the code has been updated ?
- 🇧🇪Belgium flyke
So ehm... in the end my problem was not solved after updating jquery_ui.
While I got no erros on my local development environment, on production I kept getting the error:
An error occurred during the execution of the Ajax response: TypeError: i.ui.safeActiveElement is not a function
After a deep dive down the rabbit hole, for some reason the error originated from:
core/assets/vendor/jquery.ui/ui/widgets/menu-min.jsThat file is not in any gitignore file that I created but yet somehow after successful deployments, it does not seem to get updated after deployment. My local menu.min.js file does not contain 'safeActiveElement' but the one on the server after deployment still does.
I checked the file directly in my projects repository, its the correct file in there. I cannot find any reason at all why the file on the server is still old version after deployment. The deployment script also clears caches two times, but still that does not help.I manually overridden the core/assets/vendor/jquery.ui/ui/widgets/menu-min.js on the server with that of my local environment via FileZilla, and now finally I got rid of the error on production and the modal link is working again.
- 🇺🇸United States recrit
@flyke - with still having errors, then you are most likely running into 🐛 Remove duplicate modules in JavaScript bundles Active where some of the core files are still loaded. The patch in 3420890 gives the jquery_ui module full control over all the JS files.
I am working on updating the patch to work with the updates in this issue for 1.14.1 since Drupal 10.4.x includes that version too.
- Merge request !20Resolve #3483054 "Update to jquery with 3420890 reduced duplicates" → (Open) created by recrit
- 🇺🇸United States recrit
I opened a new MR 20 that is MR 19 with the changes from 🐛 Remove duplicate modules in JavaScript bundles Active . The result is that jquery_ui is updated to 1.14.1 similar to Drupal core after 10.4.x and gives jquery_ui full control over the files with the changes from 🐛 Remove duplicate modules in JavaScript bundles Active .
Attached is a static patch of MR 20 for any composer builds.
- 🇺🇸United States recrit
@flyke and @nelo_drup please test the MR 20 see comment #15 📌 Update to jQuery UI 1.14.0 Active for details.