Page MenuHomePhabricator

MediaWiki 1.35 with Extension:MobileFrontend and Skin:MinervaNeue seem to have problems with iOS 14 devices if output_compression is enabled
Closed, DuplicatePublic

Description

As detailed in https://www.mediawiki.org/wiki/Topic:Vwp6kb2w63zpuvud my wiki running MediaWiki 1.35 (including Extension:MobileFrontEnd and Skin:MinervaNeue) causes readers/editors using Apple devices running OS 14 versions to report that pages won't fully load and/or they get a "cannot parse response" error. Another unrelated wiki admin has reported their users see the error code NSURLErrorDomain:-1017. Mobile users running OS 13.3 are not seeing the problem, not are users of other mobile operating systems.

My wiki was previously running MediaWiki 1.31 and no problems were being reported. In an attempt to debug I tried the following steps:

Running MediaWiki 1.31.10 the Special:Version and then two or three clicks of Random page
Windows 10 desktop and using Edge Chromium ✔
iPhone XR (iOS 14.1) Safari ✔
iPad Pro (iPadOS 14.1) Safari ✔

Upgraded to MediaWiki 1.32.6, updated Extension:MobileFrontend and Skin:MinervaNeue (REL1_32 versions).
Windows 10 desktop and using Edge Chromium ✔
iPhone XR (iOS 14.1) Safari ✔
iPad Pro (iPadOS 14.1) Safari ✔

Upgraded to MediaWiki 1.33.4, updated Extension:MobileFrontend and Skin:MinervaNeue (REL1_33 versions).
Windows 10 desktop and using Edge Chromium ✔
iPhone XR (iOS 14.1) Safari ✔
iPad Pro (iPadOS 14.1) Safar i✔

Upgraded to MediaWiki 1.34.4, updated Extension:MobileFrontend and Skin:MinervaNeue (REL1_34 versions).
Windows 10 desktop and using Edge Chromium ✔
iPhone XR (iOS 14.1) Safari ✔
iPad Pro (iPadOS 14.1) Safari ✔

Upgraded to MediaWiki 1.35.0, updated Extension:MobileFrontend and Skin:MinervaNeue (REL1_35 versions).
Windows 10 desktop and using Edge Chromium ✔
iPhone XR (iOS 14.1) Safari - spinning wheel and Special:Version never loads
iPad Pro (iPadOS 14.1) Safari - spinning wheel and Special:Version never loads

It was suggested in the Support Desk discussion to set $wgDisableOutputCompression = true; which does allow the OS 14 devices to load pages correctly. $wgDisableOutputCompression is super old, way before mw 1.31 and common 'best practices' for websites suggest using output compression to improve performance.

Apple released OS 14.2 last week and the problem persists.

Event Timeline

For clarity, do you experience the same issue when browsing Wikipedia using the same devices?

I can browse Wikipedia and MediaWiki.org with the same devices without issue. On my desktop PC using Edge's DevTools device emulation I can see differences in the HTTP header information that may or may not explain the issue. I cannot reproduce the problem on my wiki using DevTools device emulation, only the actual devices.

I currently have two 'identical' instances on my wiki operating on the same host. The only difference is the production one has $wgDisableOutputCompression = true; while the testing environment has the default value for this setting.

I'd rather not post the wiki URL publicly, so if there is some way to share them privately please advise.

If you don't mind, you might want to try upgrading to master (on a dev wiki/install probably) to confirm if the issue is fixed there or not.

If it is fixed, there's potentially something already written to backport.

If it's not fixed, it's potentially a configuration issue/conflict with your webserver/php install, and may require a MW change, whether documentation or code

The wiki is hosted with a well-known hosting provider, on a shared plan, so I have minimal control of the webserver/PHP install and configuration. I have verified it is independent of the PHP version, it occurs with both PHP 7.3 and 7.4

I'm willing to try upgrading to master on my test instance to provide further insight. It might take me a day or so. I've always operated our wiki on the MediaWiki LTS version.

There is another support desk discussion, that may or may not be related. See https://www.mediawiki.org/wiki/Topic:Vxdnzahkss521dil

I've done some searching and reading on MediaWiki.org getting ready to try upgrading to master. I generally follow MediaWiki's Manual:Upgrading and it contains a link to the Alpha version, mediawiki-master.tar.gz, which I downloaded.

Unfortunately it isn't fully packaged like MW 1.35.0 and doesn't contain the /vendor directory or the bundled extensions. Am I missing something or is there a better approach to upgrading to the master branch?

I've got a localhost testing environment (CentOS 8.2, PHP 7.4) that I use for staging and testing so I can use that before creating the test environment on my hosting plan.

Before anyone asks, per my Support Desk topic that I linked, I cannot reproduce the original problem on the localhost testbed.

Thanks for the quick reply and the links. I'll get started working on it soon and report back any findings.

If you don't mind, you might want to try upgrading to master (on a dev wiki/install probably) to confirm if the issue is fixed there or not.

I've created another wiki instance on my host and then upgraded to the Alpha version (1.36.0-alpha).

I can report that I'm still seeing the problem with this version of MediaWiki when using iOS 14.2 and iPadOS 14.2, i.e. the page load hangs with a spinning loading indicator on these devices. The wiki works correctly when accessed with my desktop PC. Therefore I'd conclude the issue is not fixed.

What other debugging information can I provide to assist? I'd rather not post the wiki URL publicly, so if there is some way to share them privately please advise.

I wonder if T264376 is also part of the issue as it seems MediaWiki and Apple's OS 14 have some issues.

I've created another wiki instance on my host and then upgraded to the Alpha version (1.36.0-alpha).
I can report that I'm still seeing the problem with this version of MediaWiki when using iOS 14.2 and iPadOS 14.2, i.e. the page load hangs with a spinning loading indicator on these devices. The wiki works correctly when accessed with my desktop PC. Therefore I'd conclude the issue is not fixed.

Have you also upgraded Minerva and MobileFrontend?

I wonder if T264376 is also part of the issue as it seems MediaWiki and Apple's OS 14 have some issues.

Can you try cherry-picking the patch https://gerrit.wikimedia.org/r/c/mediawiki/skins/MinervaNeue/+/639311 to see whether it will work for your issue?

Have you also upgraded Minerva and MobileFrontend?

Everything was upgraded, all skins and extensions including those too.

My background is software engineering and nothing bugs (pun intended) me more than intermittent or non-reproducible problems. On my localhost testbed (CentOS 8.2, PHP 7.4) I cannot reproduce the problem. Nor can I reproduce it with Wikipedia.org or MediaWiki.org.

But I can reproduce it 100% where my wiki is hosted (Bluehost shared plan). I know my hosting plan involves an 'invisible server cache' (not CloudFlare) that may or may not play a part in this. To the best of my ability I've tried to reverse engineer the shared hosting Apache/PHP configuration on my localhost environment by using by desktop browser DevTools and looking through the HTTP headers going back and forth.

As I posted in the original post, I believe I've methodically run through versions of MediaWiki to isolate the appearance of the issue to something that changed in MediaWiki 1.35.0, including Extension:MobileFrontend and Skin:MinervaNeue, that doesn't seem to get along with Apple's OS 14 variants.

Krinkle renamed this task from MediaWiki 1.35 with Extension:MobileFrontEnd and Skin:MinervaNeue seem to have problems with iOS 14 devices if output_compression is enabled to MediaWiki 1.35 with Extension:MobileFrontend and Skin:MinervaNeue seem to have problems with iOS 14 devices if output_compression is enabled.Nov 13 2020, 12:04 AM