Page MenuHomePhabricator

ULS: Fix "JQMIGRATE: $(html) HTML strings must start with '<' character" in jquery.uls.core.js
Closed, ResolvedPublic

Description

JQMIGRATE: $(html) HTML strings must start with '<' character

  • jquery.uls.core.js :88

https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector/blob/fb41b2/lib/jquery.uls/src/jquery.uls.core.js#L88

this.$menu = $( template );

If it contains text (e.g. "Hello world"), then you have to use $.fn.html() or $.parseHTML instead due to ambiguity with a css selector.

If it contains leading whitespace or '#', then $() no longer allows this for consistency and security reasons, and also, use $.parseHTML(), or fix the string to not have leading whitespace.

I think in case of ULS you just need to make sure that leading new line is gone.


Version: unspecified
Severity: normal

Details

Reference
bz65400

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:16 AM
bzimport set Reference to bz65400.

Fixed in upstream commit
https://github.com/wikimedia/jquery.uls/commit/9599ed7d267585b3dedf53fc6c53d35b11cfa5a6

Leading space/newline characters were removed from template strings.

Change 134622 had a related patch set uploaded by Santhosh:
Update jquery.uls to afb99eb0

https://gerrit.wikimedia.org/r/134622

Change 134622 merged by jenkins-bot:
Update jquery.uls to 36478fa55a0

https://gerrit.wikimedia.org/r/134622