Page MenuHomePhabricator

hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account
Closed, ResolvedPublicBUG REPORT

Description

What is the problem?

When attempting to publish an edit on the Mobile source editor on iOS 12, either I don't get a response or the blue hCaptcha spinning wheel spins seemingly indefinitely (or at least until the Browserstack session times out).

Similarly, I cannot create an account on testwiki on iOS 12, seeing the same indefinitely spinning wheel.

I can successfully edit on the same platform on enwiki beta, which does not have hCaptcha.

According to Browser support matrix as of November 2024, we should have Grade C support for iOS 10 and Grade A support for iOS 11.3.

I have yet to find a working iOS device of a version lower than 12. I have been able to successfully edit testwiki on mobile source editor on iOS 13 and 14.

Environment

Operating system: iPad 6 iOS 12.0 (Browserstack using Simulator)
Browser: Safari
Wiki(s): https://test.wikipedia.org MediaWiki 1.46.0-wmf.24 (rMW540eec4f8525) 13:38, 14 April 2026. ConfirmEdit 1.6.0 (8e26047) 20:54, 13 April 2026.
Editor: MobileFrontend 2.4.1 (d6e518e) 10:37, 13 April 2026.

Event Timeline

This may also affects the mobile visual editor, although the behaviour is a bit different. After I see the "Please resubmit the form to save your edit", clicking Publish does not appear to do anything.

I also notice just now that I can no longer edit on iPhone 11 iOS 13 on mobile Source and Visual Editor. It becomes unresponsive when trying to publish the page.

I can edit on iPhone 12 iOS 14. No longer true, see T426178.

Mobile Visual Editor:

bs_ios_safari_13 (1).jpg (367×709 px, 49 KB)

Mobile Visual Editor:

Console log:

[Error] https://assets-hcaptcha.wikimedia.org/captcha/1/73f27c192b38c05ce2ebce596a0e28f88a2a56bf/secure-api.js?endpoint=https%3A%2F%2Fhcaptcha.wikimedia.org&assethost=https%3A%2F%2Fassets-hcaptcha.wikimedia.org&imghost=https%3A%2F%2Fimgs-hcaptcha.wikimedia.org&reportapi=https%3A%2F%2Freport-hcaptcha.wikimedia.org&render=explicit&sentry=false&allowpopups=true&pat=off&onload=onHCaptchaSDKLoaded
[Error] Failed to load resource: Origin https://test.wikipedia.org is not allowed by Access-Control-Allow-Origin. (secure-api.js, line 0)
[Error] Cross-origin script load denied by Cross-Origin Resource Sharing policy.
[Error] Unhandled Promise Rejection: generic-error
	(anonymous function)
	promiseReactionJob

One thing we should do is a quick analytics check of non-autoconfirmed users with user agents from iOS 12, to see if any have made successful wikitext edits on hCaptcha wikis.

I also notice just now that I can no longer edit on iPhone 11 iOS 13 on mobile Source and Visual Editor. It becomes unresponsive when trying to publish the page.

I can now edit on iPhone 11 iOS 13. It may have just been unreliability caused by T426178.

I also notice just now that I can no longer edit on iPhone 11 iOS 13 on mobile Source and Visual Editor. It becomes unresponsive when trying to publish the page.

I can now edit on iPhone 11 iOS 13. It may have just been unreliability caused by T426178.

Config patch for T426178: hCaptcha: Failed to load resource: Origin (domain) is not allowed by Access-Control-Allow-Origin is now live, would you mind retesting on iOS 12 again please?

Config patch for T426178: hCaptcha: Failed to load resource: Origin (domain) is not allowed by Access-Control-Allow-Origin is now live, would you mind retesting on iOS 12 again please?

@kostajh I can still reproduce on testwiki on the Browserstack iPad 6 iOS 12.0.

I can reproduce this locally with BrowserStack

With the help of https://github.com/liriliri/eruda to surface the console error, I found that this seems to be due to an issue in TestKitchen code. I'll post a patch.

Change #1290717 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/TestKitchen@master] enrollmentConfig: Catch iOS 12 PerformanceObserver throw

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

Change #1290717 merged by jenkins-bot:

[mediawiki/extensions/TestKitchen@master] enrollmentConfig: Catch iOS 12 PerformanceObserver throw

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

@kostajh I just tested this again, and I still cannot edit on testwiki on iOS 12.

@kostajh I just tested this again, and I still cannot edit on testwiki on iOS 12.

OK. I think the next step is to debug it with browserstack + https://github.com/liriliri/eruda to get the console error.

I just tested on BrowserStack with iPad 6th generation and iOS 12. I was able to create an edit (although the iOS 12 simulator didn't store the cookie properly) and create a user (https://test.wikipedia.org/w/index.php?title=Special:Log&logid=467771), although again, with cookie issues with BrowserStack's iPad simulator, I'm not actually logged in. I was presented with an hCaptcha challenge in both cases, and could solve it.

I'm going to mark this task as resolved.