From 729280c3d0c66be3d8bd8256b31390678b9f2af0 Mon Sep 17 00:00:00 2001 From: addshore Date: Sun, 27 Sep 2026 23:39:57 +0100 Subject: [PATCH] Allow local environments to opt out of reCAPTCHA Skip loading ReCaptchaNoCaptcha when MW_RECAPTCHA_ENABLED=no, while retaining ConfirmEdit and preserving per-wiki QuestyCaptcha settings. Keep reCAPTCHA enabled by default and update both source and generated settings. This means that local setups are easier, as they dont require setting up external services, accounts and keys in order to have a basic working setup. --- dist-persist/wbstack/src/Settings/LocalSettings.php | 5 ++++- dist/wbstack/src/Settings/LocalSettings.php | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dist-persist/wbstack/src/Settings/LocalSettings.php b/dist-persist/wbstack/src/Settings/LocalSettings.php index ee439028e9..9ea354e60e 100644 --- a/dist-persist/wbstack/src/Settings/LocalSettings.php +++ b/dist-persist/wbstack/src/Settings/LocalSettings.php @@ -525,13 +525,16 @@ function onSkinTemplateNavigationUniversal( SkinTemplate $skin, array &$links ) wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]); $wgCaptchaClass = 'MediaWiki\\Extension\\ConfirmEdit\\QuestyCaptcha\\QuestyCaptcha'; $wgCaptchaQuestions = json_decode($wikiInfo->getSetting('wwCaptchaQuestions'), true); -} else { +} elseif (getenv('MW_RECAPTCHA_ENABLED') !== 'no') { $wwLocalization->loadExtension( 'ConfirmEdit/QuestyCaptcha' ); wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/ReCaptchaNoCaptcha' ]); $wgCaptchaClass = 'MediaWiki\\Extension\\ConfirmEdit\\ReCaptchaNoCaptcha\\ReCaptchaNoCaptcha'; $wgReCaptchaSendRemoteIP = true; $wgReCaptchaSiteKey = getenv('MW_RECAPTCHA_SITEKEY'); $wgReCaptchaSecretKey = getenv('MW_RECAPTCHA_SECRETKEY'); +} else { + $wwLocalization->loadExtension( 'ConfirmEdit/QuestyCaptcha' ); + wfLoadExtension( 'ConfirmEdit' ); } # Mailgun diff --git a/dist/wbstack/src/Settings/LocalSettings.php b/dist/wbstack/src/Settings/LocalSettings.php index ee439028e9..9ea354e60e 100644 --- a/dist/wbstack/src/Settings/LocalSettings.php +++ b/dist/wbstack/src/Settings/LocalSettings.php @@ -525,13 +525,16 @@ function onSkinTemplateNavigationUniversal( SkinTemplate $skin, array &$links ) wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]); $wgCaptchaClass = 'MediaWiki\\Extension\\ConfirmEdit\\QuestyCaptcha\\QuestyCaptcha'; $wgCaptchaQuestions = json_decode($wikiInfo->getSetting('wwCaptchaQuestions'), true); -} else { +} elseif (getenv('MW_RECAPTCHA_ENABLED') !== 'no') { $wwLocalization->loadExtension( 'ConfirmEdit/QuestyCaptcha' ); wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/ReCaptchaNoCaptcha' ]); $wgCaptchaClass = 'MediaWiki\\Extension\\ConfirmEdit\\ReCaptchaNoCaptcha\\ReCaptchaNoCaptcha'; $wgReCaptchaSendRemoteIP = true; $wgReCaptchaSiteKey = getenv('MW_RECAPTCHA_SITEKEY'); $wgReCaptchaSecretKey = getenv('MW_RECAPTCHA_SECRETKEY'); +} else { + $wwLocalization->loadExtension( 'ConfirmEdit/QuestyCaptcha' ); + wfLoadExtension( 'ConfirmEdit' ); } # Mailgun