Edgewall Software
Modify

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#10976 closed defect (fixed)

Compatibility issue between jQuery UI < 1.8.22 and jQuery 1.8

Reported by: Ryan J Ollos <ryan.j.ollos@…> Owned by: Christian Boos
Priority: normal Milestone: 1.1.1
Component: web frontend Version: 1.1.1dev
Severity: normal Keywords: jqueryui
Cc: Peter Suter Branch:
Release Notes:

jQuery upgraded to 1.8.3, jQuery UI upgraded to 1.9.2 and jQuery UI Timepicker upgraded to 1.1.1.

API Changes:

jQuery upgraded to 1.8.3, jQuery UI upgraded to 1.9.2 and jQuery UI Timepicker upgraded to 1.1.1.

Description (last modified by Ryan J Ollos <ryan.j.ollos@…>)

The trunk was updated to jQuery 1.8.2 in [11412] and is still using jQuery UI 1.8.21, as in the Trac 1.0 release. I ran into a compatibility issue between jQuery UI < 1.8.22 and jQuery 1.8.x in th:#10688. The issue is described in jquery:#11921. jQuery UI 1.8.21 is still using the curCSS variable (an alias for $.css), which was removed in jQuery 1.8. A workaround was implemented in jQuery UI 1.8.22, so upgrading jQuery UI on the Trac trunk should resolve the issue.

Attachments (0)

Change History (19)

comment:1 by Ryan J Ollos <ryan.j.ollos@…>, 7 years ago

Description: modified (diff)

comment:2 by Remy Blank, 7 years ago

Milestone: 1.1.1
Owner: set to Remy Blank
Status: newassigned

comment:3 by Remy Blank, 7 years ago

Cc: Peter Suter added

I was going to start working on this, but I noticed we had no documented process for updating jQuery UI and related files.

Peter, would you mind creating a short wiki page describing the steps required to update jQuery UI, the custom theme, and the addons that we bundle? Bonus points if this can be scripted and added to contrib.

comment:4 by anonymous, 7 years ago

Suggesting to write this in TracDev/JavaScript#jQueryUI.

comment:5 by Christian Boos, 7 years ago

Well, it's apparently not easy to re-generate a package for a custom theme for a version not listed on the jQuery Theme Roller download page.

So I suggest going for the latest legacy version, i.e. jQuery UI 1.9.2, bundled with jQuery 1.8.3.

We'll follow-up later with #11019, as upgrading to jQuery 1.9 is likely to bring more disruptive changes.

comment:6 by Christian Boos, 7 years ago

Keywords: jqueryui added
Resolution: fixed
Status: assignedclosed

Upgrade done in r11538. No visible issues after a brief testing. Will upgrade t.e.o as well.

comment:7 by Remy Blank, 7 years ago

Owner: changed from Remy Blank to Christian Boos

comment:8 by anonymous, 7 years ago

Why don't you use the minified jquery UI css? Also, is jquery ui 1.10 incompatible? Because it says it works with jquery 1.6+.

comment:9 by anonymous, 7 years ago

In fact you should use the minified JS too.

Another thing, you should also update http://trentrichardson.com/examples/timepicker/.

comment:10 by Christian Boos, 7 years ago

People are more likely to customize their CSS than their Javascript.

So while it's OK to ship the latter .js minified, I think it's useful to have all the CSS source around. Those .css files are also much smaller. This will become a non-issue when we'll have minification support (#10672).

And we'll update to jQuery UI 1.10.1 soon (Trac 1.1.2), but I think it's useful to have an intermediate reference point (jQuery UI 1.9.2) instead of making a big jump.

comment:11 by anonymous, 7 years ago

Yeah, but until #10672 happens, using at least the minified javascript is an improvement.

in reply to:  11 comment:12 by Christian Boos, 7 years ago

Replying to anonymous:

Yeah, but until #10672 happens, using at least the minified javascript is an improvement.

The jQuery and jQuery UI .js files are minified.

As part of #10672, We'll rename them to .min.js so that they won't get minified again.

in reply to:  9 comment:13 by Christian Boos, 7 years ago

Replying to anonymous:

Another thing, you should also update http://trentrichardson.com/examples/timepicker/.

Ah right, thanks for the notice! Done in r11562, and documented in TracDev/JavaScript#Timepicker.

I'll upgrade to v1.1.2 (or whichever is the latest version at that time) when doing #11019.

comment:14 by anonymous, 7 years ago

No problem. BTW, b1.1.2 should be fine; it's not like jquery 1.9/2.0 so there is no reason to use 1.1.1. Also closure compiler? bah :P

in reply to:  14 comment:15 by Christian Boos, 7 years ago

Replying to anonymous:

Also closure compiler? bah :P

Well, this produced a 31051 bytes file.

I tried uglify-js, which produced a file weighting 32193 bytes (using -c -m).

I also tried the yuicompressor, however it didn't seem to mangle the names, resulting in a file of 40701 bytes (there's only a --nomunge option but it's as if it would be active by default and there's no --munge option).

Other suggestions welcome, but better continue this on #10672.

comment:16 by anonymous, 7 years ago

Yeah I meant uglify-js 2. Even if it produces worse results in this case, it's generally much better.

comment:17 by Peter Suter, 7 years ago

Sorry, I could not get to this earlier. Looks like you got it covered already now, thanks.

One minor related thing is the documentation of the jquery_*_location options. I updated those in [11576].

comment:18 by Ryan J Ollos <ryan.j.ollos@…>, 7 years ago

API Changes: modified (diff)
Release Notes: modified (diff)

I wasn't sure if/how the API Changes and Release Notes might differ for this case, so I followed what was done for #10165.

comment:19 by Ryan J Ollos <ryan.j.ollos@…>, 7 years ago

API Changes: modified (diff)
Release Notes: modified (diff)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to as closed The owner will be changed from Christian Boos to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.