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:

image.png (950×1 px, 414 KB)

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. :)

Change 684130 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] mediawiki.mixins.animation: Remove code fragments for degraded browsers

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

Change 684131 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] ResourceLoader: Remove obsolete `-moz-` vendor prefix

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

Change 684157 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] mediawiki.pulsatingdot: Remove obsolete vendor prefixes

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

Change 684227 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] RCFilters: Remove obsolete vendor prefixes

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

Change 684253 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] MediaSearch: Remove obsolete vendor prefixes

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

Change 684263 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] Datetime: Remove obsolete vendor prefixes

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

Change 684264 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] MessageBoxes: Remove obsolete vendor prefixed property

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

Change 684157 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.pulsatingdot: Remove obsolete vendor prefixes

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

Change 684130 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.mixins.animation: Remove code fragments for degraded browsers

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

Change 684264 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.skinning: Remove obsolete vendor prefix from MessageBoxes style

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

Change 684263 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.widgets: Remove obsolete vendor prefixes from datetime styles

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

Change 684253 merged by jenkins-bot:

[mediawiki/core@master] MediaSearch: Remove obsolete vendor prefixes

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

Change 684227 merged by jenkins-bot:

[mediawiki/core@master] RCFilters: Remove obsolete vendor prefixes

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

Change 709096 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Drop redundant vendor prefixed code

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

Looks like there are a few usages in resources/src/mediawiki.skinning that need to be dealt with to untag MediaWiki-Core-Skin-Architecture

Which above patch should cover.

Change 709096 abandoned by Jdlrobson:

[mediawiki/core@master] Drop redundant vendor prefixed code

Reason:

Thanks for clarifying!

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

this no longer relates to skin architecture which only concerns a few parts of mediawiki core.

Change 684131 merged by jenkins-bot:

[mediawiki/core@master] resourceloader: Remove `-moz-` vendor prefix from SkinModule css

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