Page MenuHomePhabricator

Cite's use of dynamic Parser::$extCite should be rewritten/removed
Open, Needs TriagePublic

Description

There's no guarantee on identity on the specific parser objects used during article pass. With both async fragment rendering as well as the Parsoid/Parser migration (which may cause different parts of the page to be variously rendered using the new Parsoid or legacy parser), the actual Parser objects seen may be different for different instances of an extension tag on the same page.

When PHP 8.2 disallowed dynamic property creation, the following error was given (T324901):

Deprecated: Creation of dynamic property Parser::$extCite is deprecated in /var/www/wiki/mediawiki/extensions/Cite/src/Hooks/CiteParserTagHooks.php on line 94

This was "fixed" by allowing dynamic properties on the Parser class, but this fix should eventually be reverted once the underlying usage in Cite is removed.

Event Timeline

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