Page MenuHomePhabricator

UniversalLanguageSelector is not compatible with IE8
Closed, ResolvedPublic

Description

Either compatibility must be restored or documents updated about minimum browser requirements.

Details

Related Gerrit Patches:
mediawiki/extensions/UniversalLanguageSelector : masterUpdate jquery.uls to ffcfdf1
mediawiki/extensions/UniversalLanguageSelector : masterRestore support for IE8

Event Timeline

Nikerabbit raised the priority of this task from to High.
Nikerabbit updated the task description. (Show Details)
Nikerabbit added a subscriber: Nikerabbit.

fe4e101851f57cc87404d8454e8fec65d9a85358 said IE7 and IE8 were likely blacklisted already; IE8 was blacklisted by d1988bb3c7bdebe5df369cfe53b803bdde37bc33 it seems.

Change 184316 had a related patch set uploaded (by Gerrit Patch Uploader):
Restore support for IE8

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

Patch-For-Review

Change 184316 merged by jenkins-bot:
Restore support for IE8

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

Nemo_bis set Security to None.

An other possible solution is to implement the missing Object.keys as a polyfill for Internet Explorer 8.

MediaWiki core has the es5-shim module, which provides this method (among others). ULS could presumably just add a dependency on it.

But it's not in REL1_23, so no.

But it's not in REL1_23, so no.

Then the polyfill must be duplicated to ULS until the minimal MediaWiki version for ULS raises to the version containing the polyfill.

Is it possible to copy a module into an extension with the same name? Which module get loaded?

Duplicating and conditionally loading core modules is not a good idea. Tried that, complicated, can cause issues.

matmarex removed a subscriber: matmarex.Jan 29 2015, 6:24 PM

See T87874: ULS should not unconditionally use ES5 methods .

@Nikerabbit: There's nothing conditional about it. The es5-shim module has a built-in ResourceLoader skip-function that makes it only load when needed. Without additional requests.

@Nikerabbit: There's nothing conditional about it. The es5-shim module has a built-in ResourceLoader skip-function that makes it only load when needed. Without additional requests.

It's not about loading es5-shim conditionally. It's about REL1_23 not having it at all.

@Nikerabbit: There's nothing conditional about it. The es5-shim module has a built-in ResourceLoader skip-function that makes it only load when needed. Without additional requests.

It's not about loading es5-shim conditionally. It's about REL1_23 not having it at all.

Then don't backport the relevant commit to your REL1_23 branch. Or (if you don't use it), consider using that?

MLEB releases are made from master and MLEB targets 1.23+ compatibility currently. The easiest way is to just avoid Object.keys for now.

Change 193071 had a related patch set uploaded (by KartikMistry):
Update jquery.uls to ffcfdf1

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

Change 193071 merged by jenkins-bot:
Update jquery.uls to ffcfdf1

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

Nikerabbit closed this task as Resolved.Jun 4 2015, 9:39 AM
Nikerabbit claimed this task.

I believe this has been fixed by restoring compatibility.