#0 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/auth/AuthenticationRequest.php(182): MWExceptionHandler::handleError()
#1 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/auth/AuthenticationRequest.php(262): MediaWiki\\Auth\\AuthenticationRequest->loadFromSubmission()
#2 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/specialpage/AuthManagerSpecialPage.php(523): MediaWiki\\Auth\\AuthenticationRequest::loadRequestsFromSubmission()
#3 [internal function]: MediaWiki\\SpecialPage\\AuthManagerSpecialPage->handleFormSubmit()
#4 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/htmlform/HTMLForm.php(822): call_user_func()
#5 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/specialpage/AuthManagerSpecialPage.php(455): MediaWiki\\HTMLForm\\HTMLForm->trySubmit()
#6 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/specialpage/LoginSignupSpecialPage.php(405): MediaWiki\\SpecialPage\\AuthManagerSpecialPage->trySubmit()
#7 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/specialpage/SpecialPage.php(729): MediaWiki\\SpecialPage\\LoginSignupSpecialPage->execute()
#8 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/specialpage/SpecialPageFactory.php(1726): MediaWiki\\SpecialPage\\SpecialPage->run()
#9 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/actions/ActionEntryPoint.php(504): MediaWiki\\SpecialPage\\SpecialPageFactory->executePath()
#10 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/actions/ActionEntryPoint.php(146): MediaWiki\\Actions\\ActionEntryPoint->performRequest()
#11 /srv/mediawiki/tags/2024-11-27_15:24:32/includes/MediaWikiEntryPoint.php(201): MediaWiki\\Actions\\ActionEntryPoint->execute()
#12 /srv/mediawiki/tags/2024-11-27_15:24:32/index.php(58): MediaWiki\\MediaWikiEntryPoint->run()
#13 {main}Description
Details
Related Objects
Event Timeline
I recently fixed a similar issue in CentralAuth: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CentralAuth/+/1081271
This makes ButtonAuthenticationRequest unusable. We need to decide whether the expectation is that it's always subclassed, or we make it store the "clicked" flag in a property which is always called the same (rather than the HTML name of the button), which makes it more convenient to use but maybe less convenient to subclass.
We should probably just put #[\AllowDynamicProperties] (https://www.php.net/manual/en/class.allowdynamicproperties.php) on ButtonAuthenticationRequest. It was designed to use properties with dynamic names, and while we probably wouldn't design it like that today, it works just fine, and it would be an annoying breaking change to redo it now. This should also resolve deprecation warnings in extensions (e.g. T378579, https://codesearch.wmcloud.org/search/?q=ButtonAuthenticationRequest).
Change #1101921 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/core@master] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1101921 merged by jenkins-bot:
[mediawiki/core@master] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102974 had a related patch set uploaded (by Reedy; author: Jforrester):
[mediawiki/core@REL1_43] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102975 had a related patch set uploaded (by Reedy; author: Jforrester):
[mediawiki/core@REL1_42] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102976 had a related patch set uploaded (by Reedy; author: Jforrester):
[mediawiki/core@REL1_41] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102977 had a related patch set uploaded (by Reedy; author: Jforrester):
[mediawiki/core@REL1_39] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102976 merged by jenkins-bot:
[mediawiki/core@REL1_41] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102977 merged by jenkins-bot:
[mediawiki/core@REL1_39] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102974 merged by jenkins-bot:
[mediawiki/core@REL1_43] ButtonAuthenticationRequest: Add AllowDynamicProperties directive
Change #1102975 merged by jenkins-bot:
[mediawiki/core@REL1_42] ButtonAuthenticationRequest: Add AllowDynamicProperties directive