Page MenuHomePhabricator

Drop PNG fallback for SVG icons / etc. across all Wikimedia products
Closed, ResolvedPublic

Description

Per https://www.mediawiki.org/wiki/Template:Compatibility_browser we no longer have any browsers in "Basic" / "Grade C" support that don't handle SVGs and in particular linear-gradient rules.

Let's confirm we're OK to make this change, locate all the places we're still doing this, and implement?
Update 2023: We are ok. Let's do it!

[Note: This does not apply to user-contributed SVGs e.g. from Commons, which are handled differently for security reasons.]

Acceptance criteria for done

Note, we're leaving skin CologneBlue untouched, as it's still supporting MW 1.36

Misc:

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

I just got a green light from @Volker_E. We can remove both the linear-gradient hack as well as the .png fallbacks. Many have been removed already, see the patches in T306486: Remove IE <= 10, Firefox <= 38, Android <= 4 CSS hacks and workarounds in core, extensions and skins.

Change 910541 had a related patch set uploaded (by Techwizzie; author: Techwizzie):

[mediawiki/extensions/Cargo@master] Drop fallback code for SVG handling

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

Change 910541 merged by jenkins-bot:

[mediawiki/extensions/Cargo@master] Drop fallback code for SVG handling

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

Change 922818 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/ArticleFeedbackv5@master] Drop .png fallbacks where an .svg file is present

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

Change 922818 merged by jenkins-bot:

[mediawiki/extensions/ArticleFeedbackv5@master] Drop .png fallbacks where an .svg file is present

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

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

[mediawiki/skins/MonoBook@master] Drop fallback code for SVG handling

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

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

[mediawiki/skins/Nostalgia@master] Drop fallback code and images for SVG handling

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

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

[mediawiki/extensions/Kartographer@master] Drop fallback code and images for SVG handling

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

Change 926729 merged by jenkins-bot:

[mediawiki/skins/MonoBook@master] Drop fallback code for SVG handling

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

Change 926730 merged by jenkins-bot:

[mediawiki/skins/Nostalgia@master] Drop fallback code and images for SVG handling

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

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

[mediawiki/extensions/ReadingLists@master] Drop fallback code for SVG handling

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

Change 926731 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Kartographer@master] Drop fallback code and images for SVG handling

Reason:

Whoops. leaflet.draw is an external library. Hence the lib/ folder. While we could we usually don't manually fiddle with these. I hope that's ok. Please let me know if there are other reasons.

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

Change 927174 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Drop fallback code for SVG handling

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

Note, that extensions MediaWiki-extensions-Translate and UniversalLanguageSelector are supporting MW 1.38 as per their two stable version support approach. Until they are supporting 1.39, the browser support and with that transparent, transparent hack should remain.

Since this does not break compatibility with older versions of MediaWiki, it's technically in a gray area. It is a similar case with PHP version support. We increased the minimum supported PHP version to 7.4 recently even though we support MediaWiki versions that also support PHP 7.3.
Code search indicates that we have already removed the hack for some JavaScript-only features. I would be fine for removing it from the rest as well.

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

[mediawiki/extensions/Wikibase@master] Drop fallback code and images for SVG handling

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

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

[mediawiki/extensions/WikibaseLexeme@master] Drop fallback code and images for SVG handling

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

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

[mediawiki/extensions/Wikidata.org@master] Drop fallback code and images for SVG handling

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

Change 989139 merged by jenkins-bot:

[mediawiki/extensions/Wikidata.org@master] Drop fallback code and images for SVG handling

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

Change 989137 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Drop fallback code and images for SVG handling

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

Change 989135 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Drop fallback code and images for SVG handling

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

@Volker_E: I just noticed that WikibaseDataValuesValueView is still open (it accidentally had a copy of the Wikidata.org Gerrit change; I don’t see a patch for this repo on Gerrit); do you want to upload a fix for that so I can +2 it? :)

@LucasWerkmeister As far as I can see, the only usage in WikibaseDataValuesValueView is in the jquer.ui.inputextender external library, something that we're not caring about in this task.

Volker_E claimed this task.
Volker_E removed a project: Patch-For-Review.
Volker_E updated the task description. (Show Details)
Volker_E updated the task description. (Show Details)

@LucasWerkmeister As far as I can see, the only usage in WikibaseDataValuesValueView is in the jquer.ui.inputextender external library, something that we're not caring about in this task.

I don’t think that’s an external library, it’s just a confusingly named file. (@author H. Snater < mediawiki@snater.com > is a former WMDE employee on the Wikidata team.) We have plenty of files with these confusing names in Wikibase :/

Edit: all the Google results for "jquery.ui.inputextender" are related to Wikibase too.

Ok, it's in the lib folder, so I assume from architecture logic elsewhere that it's an external library and it would have to be tackled in that library 'upstream'. If that's not the case, then the whole file should not live there IMO.
How would you suggest to resolve this?

Change 999933 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[data-values/value-view@master] Drop fallback code and images for SVG handling

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

Change 999934 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Bump wikibase-data-values-value-view to HEAD

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

I uploaded two changes for it now, if you can review them that would be great :)

Change 999933 merged by jenkins-bot:

[data-values/value-view@master] Drop fallback code and images for SVG handling

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

Change 999934 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Bump wikibase-data-values-value-view to HEAD

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