Page MenuHomePhabricator

SpamBlacklist $wgBlacklistSettings default setting should be discarded when running tests
Open, LowPublic

Description

The mediawiki-extensions-hhvm job (which is triggered by multiple repositories) has been broken because the SpamBlacklist extension points by default to meta.wikimedia.org which was unreachable (T89052). The extension has a default configuration:

extension.json
"config": {
    "BlacklistSettings": {
        "value": {
            "spam": {
                "files": [
                    "https://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1"
                ]
            }
        },
        "merge_strategy": "array_plus_2d"
    },
    "LogSpamBlacklistHits": {
        "value": false
    }
},

In a test context, the SpamBlacklist extension would want to set $wgBlacklistSettings = array();. We once wanted to find a way to provide test specific settings (via T89096) but never found a good solution. The status quo is to have the extension to provide sane default settings.

Wikimedia production has:

wmf-config/CommonSettings.php
if ( $wmgUseSpamBlacklist ) {
    wfLoadExtension( 'SpamBlacklist' );
    $wgBlacklistSettings = [
        'email' => [
            'files' => [
                'https://meta.wikimedia.org/w/index.php?title=Email_blacklist&action=raw&sb_ver=1'
            ],
        ],
        'spam' => [
            'files' => [
                'https://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1'
            ],
        ],
    ];
    $wgLogSpamBlacklistHits = true;
}

Tentatively we can make the SpamBlacklist extension to stop providing a default, but we would need to update documentation so that people installing the extension add it back (or their own).