Page MenuHomePhabricator

Unable to submit edit in Basic mode
Closed, ResolvedPublic

Description

  1. Use Basic mode through any of these means (see mw:Compatibility or wikitech:Frontend practices):
    • Use any Chrome 49-62 or Firefox 49-57 version, e.g. via BrowserStack (+BrowserStackTunnel, as their datacenter IP will be blocked)
    • Use a modern browser with a slow or spotty connection where load.php?modules=startup times out, has a syntax error, or is sufficiently slow that you submit your edit before it arrives (e.g. block one request in DevTools)
    • Use Tor in safe mode from an IP-exempt account.
  2. Open https://en.wikipedia.org/w/index.php?title=Wikipedia:Sandbox&action=edit
  3. Without changing anything, submit it as a no-op.

Actual

Firefox 57 (default settings, nothing disabled or changed)

Incorrect or missing CAPTCHA.

Screenshot 2026-04-02 at 16.19.43.png (2,144×1,707 px, 991 KB)

Firefox 147 (simluate startup.js fail/timeout)

Incorrect or missing CAPTCHA.

Screenshot 2026-04-02 at 16.32.57.png (1,992×1,476 px, 279 KB)

Other information

Grade C browsers must receive the core functionality of the MediaWiki platform. […] this means content is presented in a readable manner, and all page and account actions are discoverable and work.

In theory the captcha requirement should not apply to non-new accounts (which have the skipcaptcha right). However, due to T422219 these users currently can't login.

Event Timeline

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

HCaptcha should be compatible with the browser versions you mention in the task description, per https://docs.hcaptcha.com/faq/

Dreamy_Jazz subscribed.

This isn't a duplicate to T378194: hCaptcha: Implement no captcha mode (API/no js usage). Grade C browsers that have JS enabled IMO should be allowed to edit still, given we specifically allow them to edit and create accounts per our browser compatibility policy

Probably needs to be considered. AFAIK we said that we would not support browsers that had JS disabled, but have not considered that this unintentionally included all Grade C browsers.

IMO, if we decline this, we should make it very intentional that we no longer support Grade C browsers for any action other than reading the wiki. That should probably be done with broader consultation, because the browser compatibility we have AFAIK is a policy which has been hashed out already (so changing this without discussion appears to be a bad idea)

It gives that error as mentioned when you're logged as a normal user, but it works fine as user with skip-captcha permission in Firefox 57

Change #1283815 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/ConfirmEdit@master] Fix old browsers are unable to submit edit in Basic mode

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

Chrome 63 or less don't get js served anymore https://gerrit.wikimedia.org/r/c/mediawiki/core/+/904851, can only fix for Chrome 64+
Ssee https://phabricator.wikimedia.org/T178356 when this change was implemented

Chrome 63 or less don't get js served anymore https://gerrit.wikimedia.org/r/c/mediawiki/core/+/904851, can only fix for Chrome 64+
See T178356 when this change was implemented

The change and task you refer to is about the Modern mode, which is an optional JS-based layer on top of Basic mode, limited to Grade A browsers. The bug report of this task, however, is about Basic mode. Basic mode is not impacted by T178356.

All pages start in Basic mode, including in modern browsers. See also:

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

[mediawiki/core@master] resourceloader: Add StandaloneModule for plain <script src> bundles

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

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Ship a Grade C captcha bundle via StandaloneModule

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

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

[mediawiki/extensions/ConfirmEdit@master] [WIP] hCaptcha: Ship a self-contained Grade C captcha bundle

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

Change #1288869 abandoned by Kosta Harlan:

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Ship a Grade C captcha bundle via StandaloneModule

Reason:

Proposing to go with I1621589ffaa09d358571a602367f97b6ec225cd9 instead

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

Change #1288868 abandoned by Kosta Harlan:

[mediawiki/core@master] resourceloader: Add StandaloneModule for plain <script src> bundles

Reason:

Proposing to go with I1621589ffaa09d358571a602367f97b6ec225cd9 instead

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

kostajh added a subscriber: dom_walden.

@dom_walden desktop wikitext editor and Special:CreateAccount should usable now via a Grade C browser, can you please test this in your local environment, and/or verify it next week when the train is at group0? Thank you!

Change #1289419 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Ship a self-contained Grade C captcha bundle

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

@dom_walden desktop wikitext editor and Special:CreateAccount should usable now via a Grade C browser, can you please test this in your local environment, and/or verify it next week when the train is at group0? Thank you!

@kostajh I will keep updating this table. Browser/OS combinations not chosen very scientifically.

Testing locally (unless noted below):

BrowserOSEditCreate account
Firefox 57Windows 8WorkingWorking
Firefox 54Windows 10WorkingWorking
Firefox 51Windows 10WorkingWorking
Firefox 50Windows 8.1Not working-Not working*
Firefox 49Windows 10Not working-
Firefox 49Mac High SierraNot working-
Chrome 62Windows 8.1WorkingWorking
Chrome 55Mac Big SurWorkingWorking
Chrome 51Windows 10WorkingWorking
Chrome 50Windows 11Not working+
Chrome 50Mac CatalinaNot working+Not working+
Chrome 49Mac MojaveNot working+
Safari 11.1Mac High SierraWorkingWorking
Safari 10.1Mac SierraWorkingWorking
Edge 81Windows 8.1WorkingWorking
Edge 80Windows 8Working^Working^
Edge 79Mac VenturaWorking (testwiki)Working (testwiki)
Chrome ??Android 5.0Working (testwiki)Working (testwiki)
Safari ??iOS 12Not workingNot working
Safari ??iOS 11.3No accessNo access
Safari ??iOS 10No accessNo access
- After submit: "Incorrect or missing CAPTCHA"
* After submit: "We're not quite finished loading the form..."
+ Before submit: "There was an error while loading the form..."
^ Not 100% reliable. Might have to reload page and try again.

(updated 2026-05-22 12:50:00 UTC)

@dom_walden desktop wikitext editor and Special:CreateAccount should usable now via a Grade C browser, can you please test this in your local environment, and/or verify it next week when the train is at group0? Thank you!

@kostajh I will keep updating this table. Browser/OS combinations not chosen very scientifically.

Testing locally:

BrowserOSEditCreate account
Firefox 57Windows 8WorkingWorking
Firefox 51Windows 10WorkingWorking
Firefox 50Windows 8.1Not working-Not working*
Firefox 49Windows 10Not working-
Firefox 49Mac High SierraNot working-
Chrome 62Windows 8.1WorkingWorking
Chrome 51Windows 10WorkingWorking
Chrome 50Windows 11Not working+
Chrome 50Mac CatalinaNot working+Not working+
Chrome 49Mac MojaveNot working+
- After submit: "Incorrect or missing CAPTCHA"
* After submit: "We're not quite finished loading the form..."
+ Before submit: "There was an error while loading the form..."

Thanks, I'm going to make a follow up patch.

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

This should fix the Firefox 50 and 49 cases noted above; still working on Chrome 50 and 49.

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid URL.searchParams in Grade C bundle

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

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid URL.searchParams in Grade C bundle

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

This patch addresses compatibility with Chrome 49-50.

Change #1290793 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

This should fix the Firefox 50 and 49 cases noted above; still working on Chrome 50 and 49.

@kostajh Works for Firefox 50, but I still cannot get this to work for Firefox 49 . I see There was an error while loading the form.... Error in the console:

error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

None of the sha384 hashes in the integrity attribute match the content of the subresource.index.php
error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

error.confirmedit Error: Unable to load hCaptcha script (terminal)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

Change #1290811 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid URL.searchParams in Grade C bundle

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

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

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Ship a self-contained Grade C captcha bundle

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

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

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

This should fix the Firefox 50 and 49 cases noted above; still working on Chrome 50 and 49.

@kostajh Works for Firefox 50, but I still cannot get this to work for Firefox 49 . I see There was an error while loading the form.... Error in the console:

error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

None of the sha384 hashes in the integrity attribute match the content of the subresource.index.php
error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

error.confirmedit Error: Unable to load hCaptcha script (terminal)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

Thanks for letting me know. I've seen this too. This one might relate to peculiar issues with the networking set up between client / BrowserStack / WMF proxy, rather than grade C compatibility. Could you retry it on testwiki please?

Change #1293661 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Ship a self-contained Grade C captcha bundle

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

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:26:06Z] <kharlan@deploy1003> Started scap sync-world: Backport for [[gerrit:1293661|hCaptcha: Ship a self-contained Grade C captcha bundle (T422222)]]

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:27:58Z] <kharlan@deploy1003> kharlan: Backport for [[gerrit:1293661|hCaptcha: Ship a self-contained Grade C captcha bundle (T422222)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

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

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:32:58Z] <kharlan@deploy1003> Finished scap sync-world: Backport for [[gerrit:1293661|hCaptcha: Ship a self-contained Grade C captcha bundle (T422222)]] (duration: 06m 52s)

Change #1293665 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

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

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:44:01Z] <kharlan@deploy1003> Started scap sync-world: Backport for [[gerrit:1293665|hCaptcha: Avoid for (const ... of ...) in Grade C bundle (T422222)]]

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

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Avoid URL.searchParams in Grade C bundle

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

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:45:53Z] <kharlan@deploy1003> kharlan: Backport for [[gerrit:1293665|hCaptcha: Avoid for (const ... of ...) in Grade C bundle (T422222)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-05-26T09:52:08Z] <kharlan@deploy1003> Finished scap sync-world: Backport for [[gerrit:1293665|hCaptcha: Avoid for (const ... of ...) in Grade C bundle (T422222)]] (duration: 08m 07s)

Change #1293668 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@wmf/1.47.0-wmf.3] hCaptcha: Avoid URL.searchParams in Grade C bundle

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

Mentioned in SAL (#wikimedia-operations) [2026-05-26T10:03:57Z] <kharlan@deploy1003> Started scap sync-world: Backport for [[gerrit:1293668|hCaptcha: Avoid URL.searchParams in Grade C bundle (T422222)]]

Mentioned in SAL (#wikimedia-operations) [2026-05-26T10:05:50Z] <kharlan@deploy1003> kharlan: Backport for [[gerrit:1293668|hCaptcha: Avoid URL.searchParams in Grade C bundle (T422222)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-05-26T10:10:40Z] <kharlan@deploy1003> Finished scap sync-world: Backport for [[gerrit:1293668|hCaptcha: Avoid URL.searchParams in Grade C bundle (T422222)]] (duration: 06m 42s)

Thanks for letting me know. I've seen this too. This one might relate to peculiar issues with the networking set up between client / BrowserStack / WMF proxy, rather than grade C compatibility. Could you retry it on testwiki please?

I have just tried on testwiki on browserstack and a local version of Firefox 49 and see the same errors.

Thanks for letting me know. I've seen this too. This one might relate to peculiar issues with the networking set up between client / BrowserStack / WMF proxy, rather than grade C compatibility. Could you retry it on testwiki please?

I have just tried on testwiki on browserstack and a local version of Firefox 49 and see the same errors.

Did you have to override the security policy for Firefox 49 with regards to the SSL cert? If you visit each subdomain (e.g. assets-hcaptcha.wikimedia.org, hcaptcha.wikimedia.org, img-hcaptcha.wikimedia.org, etc) that you see in the network requests tab, and accept the security override, then it should work.

Did you have to override the security policy for Firefox 49 with regards to the SSL cert? If you visit each subdomain (e.g. assets-hcaptcha.wikimedia.org, hcaptcha.wikimedia.org, img-hcaptcha.wikimedia.org, etc) that you see in the network requests tab, and accept the security override, then it should work.

Ah OK, it is working now. Thanks

Sorry, I let this slip off my radar. Testing just now on testwiki:

BrowserOSEditCreate account
Firefox 49Windows 8.1WorkingWorking
Firefox 50Windows 8.1WorkingWorking
Chrome 49Mac SierraWorkingWorking
Chrome 50Mac High SierraWorkingWorking
Safari 10.1Mac SierraWorkingWorking