Skip to content

Upgrade vendored jQuery UI to 1.14.2#8670

Merged
tagliala merged 1 commit into3-0-stablefrom
feature/8656-jquery-ui-1-14-1
Feb 4, 2026
Merged

Upgrade vendored jQuery UI to 1.14.2#8670
tagliala merged 1 commit into3-0-stablefrom
feature/8656-jquery-ui-1-14-1

Conversation

@tagliala
Copy link
Contributor

@tagliala tagliala commented Mar 22, 2025

JavaScript files have been manually updated because:

  • jquery-ui-rails is unmaintained and it is bundling 1.13.0
  • An active fork of jquery-ui-rails is bundling 1.13.2, but there is
    a more recent version (1.13.3)

Files removed because they have been dropped from jQuery UI:

  • form.js
  • ie.js
  • safe-active-element.js
  • safe-blur.js

Additionally:

Refs:


Manual tests checklist:

jQuery 4 manual tests

Tested against rails/jquery-rails#307

@tagliala tagliala force-pushed the feature/8656-jquery-ui-1-14-1 branch 2 times, most recently from 5e4e6c8 to e98b191 Compare March 22, 2025 11:38
@tagliala
Copy link
Contributor Author

@tobischo despite the tab component seems to work at http://localhost:3000/admin/kitchensink, there is a legit failure in cucumber specs

Randomized with seed 55176
$ CI=1 cucumber features/show/tabs.feature:6 
Using the default profile...
.......F--------

(::) failed steps (::)

expected not to find text "tab 3" in "tab 1\ntab 3" (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/web_steps.rb:88:in 'block in <top (required)>'
./features/step_definitions/web_steps.rb:50:in 'block (2 levels) in <top (required)>'
./features/step_definitions/web_steps.rb:7:in 'block in WithinHelpers#with_scope'
./features/step_definitions/web_steps.rb:7:in 'WithinHelpers#with_scope'
./features/step_definitions/web_steps.rb:50:in 'block in <top (required)>'
./features/step_definitions/tab_steps.rb:17:in 'block in <top (required)>'
features/show/tabs.feature:40:in `I should not see tab content "tab 3"'

Failing Scenarios:
cucumber features/show/tabs.feature:6 # Scenario: Set a method to be called on the resource as the title

I will keep investigating, but if you know the reason feel free to provide information on how to fix

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream] Mar 22, 2025
@tagliala
Copy link
Contributor Author

tagliala commented Mar 22, 2025

@mgrunberg

The failure is related to the tab with the "emoji", it appears that this update broke compatibility with tab '🤗'

Is this something that can be fixed in activeadmin or should be reported upstream?

CI=1 cucumber features/show/tabs.feature:6 

I've tested this way

diff --git a/app/admin/kitchen_sink.rb b/app/admin/kitchen_sink.rb
index 648cf2e..c9e6ad4 100644
--- a/app/admin/kitchen_sink.rb
+++ b/app/admin/kitchen_sink.rb
@@ -55,7 +55,7 @@ ActiveAdmin.register_page "KitchenSink" do
           cite "― Oscar Wilde"
         end
       end
-      tab :third do
+      tab '☺️' do
         para "Third tab content."
       end
image

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream] Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream?] Mar 22, 2025
@tagliala
Copy link
Contributor Author

tagliala commented Mar 22, 2025

This is actually an issue with activeadmin and should be related to #8616

%E2%98%BA%EF%B8%8F is not a valid value for ID


Actually GitHub does the same for wiki pages, and the behavior works

Reproducible test case:

@tagliala
Copy link
Contributor Author

Reported here: jquery/jquery-ui#2344

@tobischo
Copy link

Admittedly, this is part of the tests I didn't run before, since it got properly triggered only when I created a PR onto my own repo as well earlier today. We are not using tabs, so it didn't effect the "production test" for us.
Will prepare that better next time - thank you for investigating.

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream?] Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream] Mar 24, 2025
@tagliala
Copy link
Contributor Author

Acknowledged as an issue, waiting for 1.14.2

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 [Blocked by a regression upstream] Upgrade vendored jQuery UI to 1.14.1 [Blocked upstream] Mar 24, 2025
@codecov
Copy link

codecov bot commented Mar 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (3-0-stable@23646df). Learn more about missing BASE report.

Additional details and impacted files
@@              Coverage Diff              @@
##             3-0-stable    #8670   +/-   ##
=============================================
  Coverage              ?   99.19%           
=============================================
  Files                 ?      194           
  Lines                 ?     4971           
  Branches              ?        0           
=============================================
  Hits                  ?     4931           
  Misses                ?       40           
  Partials              ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 [Blocked upstream] Upgrade vendored jQuery UI to 1.14.1 [Pending upstream release] Mar 29, 2025
@tagliala
Copy link
Contributor Author

tagliala commented May 1, 2025

I'm going to close here for the moment. I will reopen when 1.14.2 will be released.

The effort of downgrading to 1.14.0 and adding rules to package.json is not worth it, because there are other solutions (use npm or vendor the file)

I suggest to fork and use this branch on a fork, because I may force push here or delete the branch

@tagliala tagliala closed this May 1, 2025
@tagliala tagliala reopened this Jan 31, 2026
@tagliala tagliala force-pushed the feature/8656-jquery-ui-1-14-1 branch from 7aa7778 to 30f8d11 Compare January 31, 2026 11:06
@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.1 [Pending upstream release] Upgrade vendored jQuery UI to 1.14.2 Jan 31, 2026
@tagliala tagliala force-pushed the feature/8656-jquery-ui-1-14-1 branch 4 times, most recently from 94a8fd8 to 95b039c Compare January 31, 2026 12:13
@tagliala
Copy link
Contributor Author

There seems to be a little regression against jQuery 4:

Datepicker at http://localhost:3000/admin/categories?order=name_asc

It is not being triggered after the first onfocus, it appears to me that it should be triggered twice

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.2 Upgrade vendored jQuery UI to 1.14.2 [Regression with jQuery 4] Jan 31, 2026
@tagliala
Copy link
Contributor Author

probably blocked again by jquery/jquery-ui#2385

@tagliala tagliala changed the title Upgrade vendored jQuery UI to 1.14.2 [Regression with jQuery 4] Upgrade vendored jQuery UI to 1.14.2 Jan 31, 2026
@tagliala
Copy link
Contributor Author

But probably we can merge the same, since jQuery 4 is not supported by the current jquery-rails, and it is optional

@tagliala tagliala requested a review from mgrunberg January 31, 2026 13:26
@tagliala tagliala marked this pull request as ready for review January 31, 2026 13:26
@mgol
Copy link

mgol commented Feb 3, 2026

I explained in jquery/jquery-ui#2385 why it's more an issue in code using jQuery UI, not in jQuery UI or jQuery itself.

JavaScript files have been manually updated because:
- `jquery-ui-rails` is unmaintained and it is bundling 1.13.0
- An active fork of `jquery-ui-rails` is bundling 1.13.2, but there is
  a more recent version (1.13.3)

Files removed because they have been dropped from jQuery UI:
- form.js
- ie.js
- safe-active-element.js
- safe-blur.js

Additionally:
- Allow jQuery 4
- Bump minimum required jQuery to 3.7.1
- Fix an issue with Datepicker not being initialized correctly in
  jQuery 4 (See jquery/jquery-ui#2385 for more information)

Refs:
- #8656
- https://jqueryui.com/upgrade-guide/1.14/#removed-apis
- jquery/jquery-ui#2385
@tagliala tagliala force-pushed the feature/8656-jquery-ui-1-14-1 branch from 95b039c to 033ff95 Compare February 4, 2026 10:11
Copy link
Contributor

@mgrunberg mgrunberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I couldn't review this earlier.

Amazing work!

Thanks @mgol for the issue explanation.

@tagliala tagliala merged commit b0dd7a1 into 3-0-stable Feb 4, 2026
30 checks passed
@tagliala tagliala deleted the feature/8656-jquery-ui-1-14-1 branch February 4, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants