Page MenuHomePhabricator

jsmin+ throws syntax errors on valid js pages
Closed, ResolvedPublic

Description

On http://eo.wikipedia.org a javascript error is thrown:
"JavaScript parse error: Parse error: Illegal token in file 'MediaWiki:Common.js' on line 669", although the mentioned page contains perfectly valid js.

Since r91608, jsmin+ is used to validate js pages, which seems to be too strict about identifiers that contain non-ascii-chars.

As a workaround $wgResourceLoaderValidateJS can be disabled by default until this is resolved.


Version: 1.20.x
Severity: major

Details

Reference
bz31187

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:54 PM
bzimport set Reference to bz31187.

(In reply to comment #0)

As a workaround $wgResourceLoaderValidateJS can be disabled by default until
this is resolved.

Done.

arno.raymond.lagrange wrote:

I changed all variable names with 'ŝ' to 'sh' : it looks like working well

This version of the common.js page from eo.wikipedia.org contains the accented forms:

http://eo.wikipedia.org/w/index.php?title=MediaWiki:Common.js&diff=prev&oldid=3855450

Probably that happened kinda by accident, as the sx<->ŝ conversion would still be active in the editor for the page. :)

However those chars should indeed be legit in identifiers, so let's see if we can devise a fix :D

Looks like I can patch this in, there's a handily placed FIXME comment in the right place. :D

Committed on trunk in r98281 and sent upstream to Tino via email -- he merged several other tweaks we made a couple months ago, nice!

Merged to REL1_18 as r98285 (along with another one-line tweak to qunit index.html to fix UTF-8 interpretation).

I'm not merging direct to 1.18wmf1 to avoid confusion about what is/isn't synced.

$wgResourceLoaderValidateJS = false; is still set on the wmf cluster as "temp hack".

(In reply to comment #7)

$wgResourceLoaderValidateJS = false; is still set on the wmf cluster as "temp
hack".

No more!