Page MenuHomePhabricator

PHP Warning: DOMBuilder::createNode(): unterminated entity reference & 'bold'
Closed, DuplicatePublic

Description

Working locally with Vue in a Special page I'm coming across a PHP warning for the following Vue single file component template:

<my-component :weight="renderMode !== 'overlay-summary' && 'bold'"></my-component>

Yields

2022-12-06 12:52:40 wmf2988 my_wiki: [9e75698f5d3a47379783db55] /w/load.php?lang=en&modules=%40wikimedia%2Fcodex%2Cjquery%2Coojs-ui-core%2Coojs-ui-widgets%2Cvue%7Cext.growthExperiments.Homepage.NewImpact%2CSuggestedEdits%7Coojs-ui.styles.icons-editing-advanced&skin=vector-2022&version=17nqj   PHP Warning: Wikimedia\RemexHtml\DOM\DOMBuilder::createNode(): unterminated entity reference        &amp; 'bold'
#0 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/DOM/DOMBuilder.php(241): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/DOM/DOMBuilder.php(321): Wikimedia\RemexHtml\DOM\DOMBuilder->createNode(Wikimedia\RemexHtml\TreeBuilder\Element)
#2 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/TreeBuilder/TreeBuilder.php(277): Wikimedia\RemexHtml\DOM\DOMBuilder->insertElement(integer, Wikimedia\RemexHtml\TreeBuilder\Element, Wikimedia\RemexHtml\TreeBuilder\Element, boolean, integer, integer)
#3 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/TreeBuilder/TreeBuilder.php(257): Wikimedia\RemexHtml\TreeBuilder\TreeBuilder->insertForeign(string, string, Wikimedia\RemexHtml\Tokenizer\LazyAttributes, boolean, integer, integer)
#4 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/TreeBuilder/InBody.php(456): Wikimedia\RemexHtml\TreeBuilder\TreeBuilder->insertElement(string, Wikimedia\RemexHtml\Tokenizer\LazyAttributes, boolean, integer, integer)
#5 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/TreeBuilder/Dispatcher.php(420): Wikimedia\RemexHtml\TreeBuilder\InBody->startTag(string, Wikimedia\RemexHtml\Tokenizer\LazyAttributes, boolean, integer, integer)
#6 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/Tokenizer/Tokenizer.php(1479): Wikimedia\RemexHtml\TreeBuilder\Dispatcher->startTag(string, Wikimedia\RemexHtml\Tokenizer\LazyAttributes, boolean, integer, integer)
#7 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/Tokenizer/Tokenizer.php(595): Wikimedia\RemexHtml\Tokenizer\Tokenizer->handleAttribsAndClose(integer, string, boolean, integer)
#8 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/Tokenizer/Tokenizer.php(369): Wikimedia\RemexHtml\Tokenizer\Tokenizer->dataState(boolean)
#9 /Users/sergio/src/mediawiki/w/vendor/wikimedia/remex-html/src/Tokenizer/Tokenizer.php(178): Wikimedia\RemexHtml\Tokenizer\Tokenizer->executeInternal(boolean)
#10 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/VueComponentParser.php(110): Wikimedia\RemexHtml\Tokenizer\Tokenizer->execute()
#11 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/VueComponentParser.php(66): MediaWiki\ResourceLoader\VueComponentParser->parseHTML(string)
#12 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/FileModule.php(1372): MediaWiki\ResourceLoader\VueComponentParser->parse(string, array)
#13 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/FileModule.php(341): MediaWiki\ResourceLoader\FileModule->getPackageFiles(MediaWiki\ResourceLoader\Context)
#14 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/Module.php(817): MediaWiki\ResourceLoader\FileModule->getScript(MediaWiki\ResourceLoader\Context)
#15 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/Module.php(786): MediaWiki\ResourceLoader\Module->buildContent(MediaWiki\ResourceLoader\Context)
#16 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/ResourceLoader.php(1109): MediaWiki\ResourceLoader\Module->getModuleContent(MediaWiki\ResourceLoader\Context)
#17 /Users/sergio/src/mediawiki/w/includes/ResourceLoader/ResourceLoader.php(811): MediaWiki\ResourceLoader\ResourceLoader->makeModuleResponse(MediaWiki\ResourceLoader\Context, array, array)
#18 /Users/sergio/src/mediawiki/w/load.php(53): MediaWiki\ResourceLoader\ResourceLoader->respond(MediaWiki\ResourceLoader\Context)
#19 /Users/sergio/src/mediawiki/w/load.php(39): wfLoadMain()
#20 {main}

The prop :weight="renderMode !== 'overlay-summary' && 'bold'" can be moved to a computed property to get rid of the warning but I wonder what is producing the error since the expression passed to the prop seems fine.

Event Timeline

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

Change 865065 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] User impact: avoid parse warnings in unactivated state

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

Change 865065 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] User impact: avoid parse warnings in unactivated state

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

Change 865065 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] User impact: avoid parse warnings in unactivated state

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