Page MenuHomePhabricator

PHP Deprecated: Creation of dynamic property MediaWiki\\Auth\\ButtonAuthenticationRequest::$skipReset is deprecated at AuthenticationRequest.php:182
Closed, ResolvedPublic

Description

[stacktrace]
#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}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

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

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

Change #1101921 merged by jenkins-bot:

[mediawiki/core@master] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102974 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/core@REL1_43] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102975 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/core@REL1_42] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102976 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/core@REL1_41] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102977 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/core@REL1_39] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102976 merged by jenkins-bot:

[mediawiki/core@REL1_41] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102977 merged by jenkins-bot:

[mediawiki/core@REL1_39] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102974 merged by jenkins-bot:

[mediawiki/core@REL1_43] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

Change #1102975 merged by jenkins-bot:

[mediawiki/core@REL1_42] ButtonAuthenticationRequest: Add AllowDynamicProperties directive

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

This change should resolve T378579 as well.