Page MenuHomePhabricator

Remove former basic supported browser code fragments across core, skins & extensions
Open, Needs TriagePublic

Description

With T266866: Remove "Basic" support (Grade C) for browsers without TLS 1.2+ (MediaWiki core and WMF infra) resolved, it's time to get rid of a pile of ancient browser support specific lines of code.

This task is about MediaWiki core itself, and all skins and extensions are covered in sub-tasks.

Event Timeline

Change 673365 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/core@master] mediawiki.mixins: Remove code fragments for degraded browsers

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

Jdlrobson added a subscriber: Jdlrobson.

Given certain editors use old browsers, probably worth a user notice that they should consider upgrading if they noticing anything off.

@Jdlrobson Users of those browsers haven't been able to access Wikimedia infrastructure since about January 2020 with rollout of T238038.

I was more concerned about dropping the -webkit prefixes and older versions of Safari and Chrome. I don't think there's any reason not to drop this support but might be helpful if certain editors with older browsers report breakages on Village pumps. The -moz prefix seems uncontroversial (as you say they shouldn't be able to even access the site)

Are we 100% confident that dropping those vendor prefixes wont impact any editors on ES5 capable browsers that can access the site?

@Jdlrobson I've been scanning and comparing each and every prefix with caniuse data. Is caniuse bullet-proof, no it isn't. Would anything result in a major breakage. Only thing with a bigger layout impact seems removal of -webkit-box-sizing, but even that wouldn't render page non-functional. Or webkit-flex, but this mixin is practically nowhere used.
The only winners here are majority of users, getting a more performant website. ;)

Once more, these old browser where the removed vendor prefixes would have been needed all got denied accessing Wikimedia projects already last year.

Change 673365 merged by jenkins-bot:
[mediawiki/core@master] mediawiki.mixins: Remove code fragments for degraded browsers

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

Sounds good. While I agree the likely impact is low, from experience editors are pretty observant about changes and it might be prudent to mention this in tech news regardless in case of bug reports/village pump discussions. I notice for example in the last 12hrs we had 387 errors from Chrome/39.0.0.0 which would be impacted by the hyphens change.

In terms of messaging, I was thinking of something generic which covers all the changes happening here. Something along the lines of: "We are dropping support for older browsers. Design regressions are to be expected on older devices during this transition. Editors should be aware of this, when considering bug reports from users over the course of the next two weeks and encourage browser upgrades where possible.

Thanks for the note on hyphens, that was badly documented and therefore slipped into the original patch.
Re-introduced in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/674284 before cut today.
Hyphens support is on its own is messy in browsers and comes down to platform specific (Mac vs the rest) support in pieces (none more widely than auto) and depending on which language used. In the part-revert I've also added code documentation.

For the other features, a browser like Chrome 39 should in no way be affected by the changes, as it is still part of Basic support list. Chrome < 31 is not able to access our infrastructure at all anymore:

And those prefixes are aimed at here and removed.

Jdlrobson claimed this task.

I think :)

Only if we open another parent task. This is the parent where only core and only the mixin itself was tackled so far.

Change 675130 had a related patch set uploaded (by VolkerE; author: VolkerE):
[mediawiki/core@master] mediawiki.skinning: Change 'elements' file to LESS and remove obsolete property

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

Change 675130 merged by jenkins-bot:
[mediawiki/core@master] mediawiki.skinning: Change 'elements' file to LESS and remove obsolete property

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

Hi, I am a complete noob here (standard editor on en:WP) : but what would be the effect on editors using ancient Firefox v.47? I know it is about to crumble and die, and more and more functions generally fail to work, but how long until it gives up the ghost? Cheers, MinorProphet

Hi, I am a complete noob here (standard editor on en:WP) : but what would be the effect on editors using ancient Firefox v.47? I know it is about to crumble and die, and more and more functions generally fail to work, but how long until it gives up the ghost? Cheers, MinorProphet

The RFC that closed does not affect Firefox 47. Things may continue to stop working for you (from an interactibility perspective i.e. Javascript), but it won't be the linked RFC or this task that causes it.

Thanks for your reply. A reprieve of a few months more, then... But the writing is on the wall. :)