-
Notifications
You must be signed in to change notification settings - Fork 995
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes #37382 - Update to jQuery 3 #10138
Conversation
I don't see a bump of jquery itself. Is this removing deprecated jquery < 3 usages? |
@ekohl jquery is in theforeman/foreman-js#479 |
$('#check_all_roles').click(function(e) { | ||
$('#check_all_roles').on('click', function(e) { | ||
e.preventDefault(); | ||
$('.role_checkbox').prop('checked', true); | ||
}); | ||
|
||
$('#uncheck_all_roles').click(function(e) { | ||
$('#uncheck_all_roles').on('click', function(e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rebased to include that pr
bundler.d/assets.rb
Outdated
@@ -1,11 +1,12 @@ | |||
group :assets do | |||
gem 'jquery-ui-rails', '~> 6.0' | |||
gem 'jquery-ui-rails', '~> 7.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still use this? I don't see anything using this. I get the impression that since b55d3ed it's unused because we no longer have require jquery-ui
in the code, but we do still have @import jquery-ui
. So we load the CSS, but not any of the actual JS code?
Can we drop it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so #10142
$.fn.bind = function(event, func) { | ||
return this.on(event, func); | ||
}; | ||
// used by puppet plugin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps open a PR against foreman_puppet to drop this usage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Took a while to setup puppet, but made the pr: theforeman/foreman_puppet#403
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's your plan for this? Could we already start using JSON.parse
(which AFAIK is native browser functionality)?
Looks like that is also something that needs to be done in multiple repositories. From quickly grepping I find:
https://github.com/theforeman/foreman_puppet/blob/6aa2761cc37bec424c05265a72043706162e3b02/webpack/src/foreman_class_edit.js#L157
https://github.com/theforeman/foreman_puppet/blob/6aa2761cc37bec424c05265a72043706162e3b02/webpack/src/foreman_class_edit.js#L185
https://github.com/theforeman/foreman_openscap/blob/99c00ff3a4c948f660ebe81180cc780c8ff5b0d8/app/assets/javascripts/foreman_openscap/arf_reports.js#L5
https://github.com/Katello/katello/blob/b94f81d09510d135dcc1bdce8a8ef8c2a48c6f39/app/views/katello/sync_management/index.html.erb#L12
https://github.com/Katello/katello/blob/b94f81d09510d135dcc1bdce8a8ef8c2a48c6f39/app/assets/javascripts/katello/common/katello.js#L34
Then another thing we can already do is move to js-cookie
. That's something that happens in various repositories. AFAIK jquery's cookie implementation and js-cookie
don't conflict, so we can add js-cookie
and then migrate various plugins.
Good idea, I'll move it here: #10250 and will create some prs in the plugins |
b518403
to
9cb313e
Compare
test failures due to foreman-js not being merged yet probably |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything seems to work fine! tested several pages in Katello as well as host edit and hostgroup edit
62980df
to
6d846da
Compare
6654e5b
to
775aa72
Compare
@MariaAga I'm happy to trust @jeremylenz on his review, but with these bigger changes it can be useful to make some noise on https://community.theforeman.org/c/development/9 that it's happening. Something like https://community.theforeman.org/t/rails-7-0-merge-today/40507 provided a nice place for discussion if it did go wrong. Also something for plugin authors. Pretty sure there are still a few internally maintained plugins by a few users that they need to patch themselves. |
Thanks @ekohl, I created https://community.theforeman.org/t/updating-to-jquery-3/42023 |
Ruby Katello failures are unrelated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, let's get this in.
To get this in, we'll need to package foreman-js 14. Do you intend to submit a PR for this or do you need help with it? |
@ekohl Created theforeman/foreman-packaging#11640 thanks! |
There's also theforeman/foreman-packaging#11639 , but I might have gone a little bit overboard with it |
@@ -21,7 +21,7 @@ | |||
}, | |||
"dependencies": { | |||
"@module-federation/utilities": "^1.7.0", | |||
"@theforeman/vendor": "^13.1.0", | |||
"@theforeman/vendor": "^14.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we update this, we'll also need to merge #10272, right? It's not that we can merge this without updating to PF5.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh, but theforeman/foreman-js#481 is still not merged which I assumed was a prerequisite for PF5? Where does that leave us?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vendor 14 doesnt include pf5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, so we'll have version 15 soon after? That's the reason why I had preferred to get rid of foreman-js before making big stack upgrades but I guess that's too late now.
Will also need to fix the select2 selectors in plugins, I only found 4 places
https://github.com/search?q=org%3Atheforeman+s2id_++NOT+repo%3Atheforeman%2Fforeman&type=code
https://github.com/search?q=org%3Atheforeman+select2-chosen++NOT+repo%3Atheforeman%2Fforeman&type=code
https://github.com/search?q=s2id_++org%3Akatello&type=code
Requires theforeman/foreman-js#479 to test