diff --git a/docs/config-schema.yaml b/docs/config-schema.yaml index 45ffdc84025..2a038e08b91 100644 --- a/docs/config-schema.yaml +++ b/docs/config-schema.yaml @@ -3087,11 +3087,6 @@ config-schema: Show a bar of language selection links in the user login and user registration forms; edit the "loginlanguagelinks" message to customise these. - ExperimentalLoginPopup: - default: false - description: |- - Add extra login links that open different kinds of modal dialogs instead of navigating the page. - As of May 2024, this config option is experimental and may be removed or changed in the future. ForceUIMsgAsContentMsg: default: { } type: object diff --git a/docs/config-vars.php b/docs/config-vars.php index 626a41b0dd6..51192e00bb5 100644 --- a/docs/config-vars.php +++ b/docs/config-vars.php @@ -1892,12 +1892,6 @@ $wgUseXssLanguage = null; */ $wgLoginLanguageSelector = null; -/** - * Config variable stub for the ExperimentalLoginPopup setting, for use by phpdoc and IDEs. - * @see MediaWiki\MainConfigSchema::ExperimentalLoginPopup - */ -$wgExperimentalLoginPopup = null; - /** * Config variable stub for the ForceUIMsgAsContentMsg setting, for use by phpdoc and IDEs. * @see MediaWiki\MainConfigSchema::ForceUIMsgAsContentMsg diff --git a/includes/MainConfigNames.php b/includes/MainConfigNames.php index 9269a3bc235..3d7478976fb 100644 --- a/includes/MainConfigNames.php +++ b/includes/MainConfigNames.php @@ -1907,12 +1907,6 @@ class MainConfigNames { */ public const LoginLanguageSelector = 'LoginLanguageSelector'; - /** - * Name constant for the ExperimentalLoginPopup setting, for use with Config::get() - * @see MainConfigSchema::ExperimentalLoginPopup - */ - public const ExperimentalLoginPopup = 'ExperimentalLoginPopup'; - /** * Name constant for the ForceUIMsgAsContentMsg setting, for use with Config::get() * @see MainConfigSchema::ForceUIMsgAsContentMsg diff --git a/includes/MainConfigSchema.php b/includes/MainConfigSchema.php index 3d67e593b1c..7d47ea61fb5 100644 --- a/includes/MainConfigSchema.php +++ b/includes/MainConfigSchema.php @@ -4973,15 +4973,6 @@ class MainConfigSchema { 'default' => false, ]; - /** - * Add extra login links that open different kinds of modal dialogs instead of navigating the page. - * - * As of May 2024, this config option is experimental and may be removed or changed in the future. - */ - public const ExperimentalLoginPopup = [ - 'default' => false, - ]; - /** * When translating messages with wfMessage(), it is not always clear what * should be considered UI messages and what should be content messages. diff --git a/includes/config-schema.php b/includes/config-schema.php index 1689326639c..761fcec99e2 100644 --- a/includes/config-schema.php +++ b/includes/config-schema.php @@ -605,7 +605,6 @@ return [ 'VariantArticlePath' => false, 'UseXssLanguage' => false, 'LoginLanguageSelector' => false, - 'ExperimentalLoginPopup' => false, 'ForceUIMsgAsContentMsg' => [ ], 'RawHtmlMessages' => [ diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php index d372b79fda7..a728fa2f65e 100644 --- a/includes/skins/SkinTemplate.php +++ b/includes/skins/SkinTemplate.php @@ -517,16 +517,6 @@ class SkinTemplate extends Skin { ? 'login' : 'login-private'; $personal_urls[$key] = $login_url; - - if ( $this->getConfig()->get( MainConfigNames::ExperimentalLoginPopup ) ) { - // Allow testing the new login flows (T364941). - // The label is not localized because this is temporary and not to be enabled in production. - foreach ( [ 'popup', 'iframe', 'newtab' ] as $mode ) { - $personal_urls["login-experimental-$mode"] = $login_url; - unset( $personal_urls["login-experimental-$mode"]['single-id'] ); - $personal_urls["login-experimental-$mode"]['text'] .= " (TEST: $mode)"; - } - } } } diff --git a/resources/Resources.php b/resources/Resources.php index d2b6d4564b4..5fc97b018bf 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1674,7 +1674,6 @@ return [ 'ready.js', 'checkboxShift.js', 'checkboxHack.js', - 'experimentalLoginPopup.js', 'teleportTarget.js', 'toggleAllCollapsibles.js', [ 'name' => 'config.json', 'callback' => static function ( @@ -1685,7 +1684,6 @@ return [ 'search' => true, 'collapsible' => true, 'sortable' => true, - 'experimentalLoginPopup' => $config->get( MainConfigNames::ExperimentalLoginPopup ), 'selectorLogoutLink' => '#pt-logout a[data-mw="interface"]' ]; diff --git a/resources/src/mediawiki.page.ready/experimentalLoginPopup.js b/resources/src/mediawiki.page.ready/experimentalLoginPopup.js deleted file mode 100644 index cc2c3d13b27..00000000000 --- a/resources/src/mediawiki.page.ready/experimentalLoginPopup.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = function experimentalLoginPopup() { - const modes = { - popup: 'startPopupWindow', - newtab: 'startNewTabOrWindow', - iframe: 'startIframe' - }; - - for ( const mode in modes ) { - const method = modes[ mode ]; - - $( `#pt-login-experimental-${ mode }` ).on( 'mouseenter', () => { - // Load early - mw.loader.using( 'mediawiki.authenticationPopup' ); - } ); - - $( `#pt-login-experimental-${ mode } a` ).on( 'click', ( e ) => { - e.preventDefault(); - mw.loader.using( 'mediawiki.authenticationPopup' ).then( ( require ) => { - const authPopup = require( 'mediawiki.authenticationPopup' ); - authPopup[ method ]().then( ( userinfo ) => { - if ( userinfo ) { - mw.notify( 'LOGGED IN', { type: 'success' } ); - } else { - mw.notify( 'CANCELLED' ); - } - } ).catch( ( error ) => { - mw.notify( String( error ), { type: 'error' } ); - } ); - } ); - } ); - - } -}; diff --git a/resources/src/mediawiki.page.ready/ready.js b/resources/src/mediawiki.page.ready/ready.js index c6e55ce1829..9a778917a5f 100644 --- a/resources/src/mediawiki.page.ready/ready.js +++ b/resources/src/mediawiki.page.ready/ready.js @@ -1,6 +1,5 @@ var checkboxShift = require( './checkboxShift.js' ); var config = require( './config.json' ); -var experimentalLoginPopup = require( './experimentalLoginPopup.js' ); var teleportTarget = require( './teleportTarget.js' ); // Break out of framesets @@ -176,10 +175,6 @@ $( () => { updatePermanentLinkHash(); } - if ( config.experimentalLoginPopup ) { - experimentalLoginPopup(); - } - /** * Fired when a trusted UI element to perform a logout has been activated. *