Page MenuHomePhabricator

Drop support for Opera 12 at some point
Closed, ResolvedPublic

Description

Would involve un-reverting some of https://gerrit.wikimedia.org/r/#/c/259192/ (serving -o-linear-gradient rules to give PNGs only to Opera 12)

Event Timeline

Esanders raised the priority of this task from to Needs Triage.
Esanders updated the task description. (Show Details)
Esanders subscribed.

Are we talking about changing support from Grade A to Grade C (https://www.mediawiki.org/wiki/Compatibility), or removing support entirely? The latter might be more controversial.

I think it'd be fine to have Opera 12 receive PNGs as fallback instead of SVGs. But if I recall correctly the issue is that Opera 12 picks up on the modern SVG url but then fails to render it properly, so we're making it fallback explicitly to PNGs.

It's centralised and minimal overhead I think, so unless we have a better strategy to fallback, I'm not sure we have much to gain by removing it.

Krinkle set Security to None.
Krinkle moved this task from Inbox to Backlog on the MediaWiki-ResourceLoader board.

Are we talking about changing support from Grade A to Grade C (https://www.mediawiki.org/wiki/Compatibility), or removing support entirely? The latter might be more controversial.

I think it'd be fine to have Opera 12 receive PNGs as fallback instead of SVGs. But if I recall correctly the issue is that Opera 12 picks up on the modern SVG url but then fails to render it properly, so we're making it fallback explicitly to PNGs.

It's centralised and minimal overhead I think, so unless we have a better strategy to fallback, I'm not sure we have much to gain by removing it.

Currently we output (minified, selecting a GuidedTour one just as it's the first in my request stack):

.guider_close .x_button{background-image:url(/w/extensions/GuidedTour/modules/images/close.png?108ce);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version=%221.0%22 encoding=%22utf-8%22%3F%3E%0A%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%0A%09%3Cpath d=%22M3.636 2.222l14.142 14.142-1.414 1.414L2.222 3.636z%22/%3E%0A%09%3Cpath d=%22M17.778 3.636L3.636 17.778l-1.414-1.414L16.364 2.222z%22/%3E%0A%3C/svg%3E");background-image:-o-linear-gradient(transparent,transparent),url(/w/extensions/GuidedTour/modules/images/close.png?108ce);background-repeat:no-repeat;display:block;height:20px;width:20px;cursor:pointer;opacity:0.87;-webkit-transition:opacity 100ms;-moz-transition:opacity 100ms;transition:opacity 100ms}

… (819 bytes); if we were to drop Opera 12 Grade C support and leave it at Grade X, we'd reduce this to:

.guider_close .x_button{background-image:url(/w/extensions/GuidedTour/modules/images/close.png?108ce);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version=%221.0%22 encoding=%22utf-8%22%3F%3E%0A%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%0A%09%3Cpath d=%22M3.636 2.222l14.142 14.142-1.414 1.414L2.222 3.636z%22/%3E%0A%09%3Cpath d=%22M17.778 3.636L3.636 17.778l-1.414-1.414L16.364 2.222z%22/%3E%0A%3C/svg%3E");background-repeat:no-repeat;display:block;height:20px;width:20px;cursor:pointer;opacity:0.87;-webkit-transition:opacity 100ms;-moz-transition:opacity 100ms;transition:opacity 100ms}

… (697 bytes).

Obviously different selectors would be different, but there are 11 such images loaded on the English Wikipedia's Main Page when I'm logged in, saving ~ 1800 bytes per request. Not an urgent priority, but not nothing.

(Getting rid of PNG fallback would reduce the bumpf to 618 bytes, but that's a different task and it's too early to consider that now.)

Yeah, good point. While low in maintenance, there's still a continuous bandwidth cost. Although I will say that overhead is less than the difference between 819 and 697 bytes (in terms of bandwidth) given the proximity should allow Gzip to essentially de-duplicate the most of the url and property name.

$ ll --uncompressed
820 a.txt
698 b.txt

# worst
$ gzip -k -1 a.txt b.txt
434 a.txt.gz
423 b.txt.gz

# best
$ gzip -k -9 a.txt b.txt
432 a.txt.gz
421 b.txt.gz

Change 393652 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] [WIP] Drop Opera 12 from Grade A to Grade X

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

Having just grabbed the numbers from our browser stats:

  • Opera 36+ was ~1.5% of all traffic last week, and this is growing over time (almost all of which was Opera 49, as you'd expect).
  • Opera 8 was ~0.015% of all traffic last week, and has been slowly falling.
  • Opera 10 hasn't been used enough to be listed this year except for one week in March.
  • Opera 12 has only been used enough to be listed this year in four weeks, the latest in April.

Consequently, I think the time to move Opera < 15 to Grade X is here.

Change 393797 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[oojs/ui@master] oo-ui-background-image: Drop -o-linear-gradient fallback

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

Change 393797 merged by jenkins-bot:
[oojs/ui@master] oo-ui-background-image: Drop -o-linear-gradient fallback

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

Change 393652 merged by jenkins-bot:
[mediawiki/core@master] Increase Opera minimum for Grades A and C to 15

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

Jdforrester-WMF claimed this task.
Jdforrester-WMF edited projects, added User-notice; removed Patch-For-Review.
Jdforrester-WMF moved this task from To Triage to In current Tech/News draft on the User-notice board.