Page MenuHomePhabricator

ConfirmEdit breaks MediaWiki when using ReCaptchaNoCaptcha
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Install ConfirmEdit
  • Configure it to use ReCaptchaNoCaptcha
  • Open any page / open the create account page (when it requires a captcha)

What happens?:
The load.php call to the ResourceLoader errors with a 500 (see error message below). The create account page displays an exception.

{
    "id": "ab0541927c45123aca1a441b",
    "type": "Error",
    "file": "/data/mediawiki/main/includes/HookContainer/HookContainer.php",
    "line": 338,
    "message": "Class 'MediaWiki\\Extension\\ConfirmEdit\\ReCaptchaNoCaptcha\\Hooks' not found",
    "code": 0,
    "url": "/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=minerva&target=mobile",
    "caught_by": "mwe_handler",
    "backtrace": [
        {
            "file": "/data/mediawiki/main/includes/HookContainer/HookContainer.php",
            "line": 137,
            "function": "callLegacyHook",
            "class": "MediaWiki\\HookContainer\\HookContainer",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/HookContainer/HookRunner.php",
            "line": 3175,
            "function": "run",
            "class": "MediaWiki\\HookContainer\\HookContainer",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/ResourceLoader.php",
            "line": 2059,
            "function": "onResourceLoaderGetConfigVars",
            "class": "MediaWiki\\HookContainer\\HookRunner",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/FileModule.php",
            "line": 1256,
            "function": "getSiteConfigSettings",
            "class": "MediaWiki\\ResourceLoader\\ResourceLoader",
            "type": "::"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/FileModule.php",
            "line": 605,
            "function": "expandPackageFiles",
            "class": "MediaWiki\\ResourceLoader\\FileModule",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/Module.php",
            "line": 931,
            "function": "getDefinitionSummary",
            "class": "MediaWiki\\ResourceLoader\\FileModule",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/StartUpModule.php",
            "line": 224,
            "function": "getVersionHash",
            "class": "MediaWiki\\ResourceLoader\\Module",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/StartUpModule.php",
            "line": 425,
            "function": "getModuleRegistrations",
            "class": "MediaWiki\\ResourceLoader\\StartUpModule",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/Module.php",
            "line": 817,
            "function": "getScript",
            "class": "MediaWiki\\ResourceLoader\\StartUpModule",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/Module.php",
            "line": 786,
            "function": "buildContent",
            "class": "MediaWiki\\ResourceLoader\\Module",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/Module.php",
            "line": 928,
            "function": "getModuleContent",
            "class": "MediaWiki\\ResourceLoader\\Module",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/ResourceLoader.php",
            "line": 687,
            "function": "getVersionHash",
            "class": "MediaWiki\\ResourceLoader\\Module",
            "type": "->"
        },
        {
            "function": "MediaWiki\\ResourceLoader\\{closure}",
            "class": "MediaWiki\\ResourceLoader\\ResourceLoader",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/ResourceLoader.php",
            "line": 685,
            "function": "array_map"
        },
        {
            "file": "/data/mediawiki/main/includes/ResourceLoader/ResourceLoader.php",
            "line": 784,
            "function": "getCombinedVersion",
            "class": "MediaWiki\\ResourceLoader\\ResourceLoader",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/load.php",
            "line": 53,
            "function": "respond",
            "class": "MediaWiki\\ResourceLoader\\ResourceLoader",
            "type": "->"
        },
        {
            "file": "/data/mediawiki/main/load.php",
            "line": 39,
            "function": "wfLoadMain"
        }
    ]
}

Software version (skip for WMF-hosted wikis like Wikipedia): 1.40.0-wmf.17

Event Timeline

Change 876351 had a related patch set uploaded (by Florianschmidtwelzow; author: Florianschmidtwelzow):

[mediawiki/extensions/ConfirmEdit@master] Fix Autoload definition for ReCaptchaNoCaptcha

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

Change 876351 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] Fix Autoload definition for ReCaptchaNoCaptcha

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

the extension of miraheze for recaptcha v3 (I was able to save in time, in the miraheze repository it is no longer there) It is the problem since confirm edit stopped working since mediawiki version 1.39, if you could add compatibility with mrecaptcha v3, mediawiki seems to only work with v2 I think it is the same case that was experienced with the legacy native parser and pasoid

@Uvas_magicas: Please feel free to file separate bug reports in the Miraheze issue tracker for Miraheze code. Thanks.