Page MenuHomePhabricator

Parsoid doesn't properly handle double-underscore magic words
Open, MediumPublic

Description

For the double-underscore magic words __HIDDENCAT__, __NOINDEX__, and __INDEX__, Parsoid is missing the tracking category corresponding to this magic word. This seems to indicate that Parsoid is not actually invoking the legacy parser to handle these magic words, and so the resulting ParserOutput is likely to be omitting the proper index policy values as well.

The __NOGALLERY__ and __NOTOC__ magic words are handled in the same place of the legacy parser, and might also be missing some necessary behavior flags.

Related Objects

Event Timeline

We have Env::{get,set}BehaviorSwitch in Parsoid, and this potentially violates fragment independence as well when we interrogate the state of a number of these behavior switches in src/Wt2Html/DOM/Processors/WrapSectionsState.

We should probably be invoking some code in SiteConfig to handle the switches to ensure that we don't drift from the core implementation, although we can probably handle it in Parsoid in src/Wt2Html/TT/BehaviorSwitchHandler.

MSantos triaged this task as Medium priority.Jan 8 2026, 3:14 PM

Change #1279469 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/services/parsoid@master] Set page properties corresponding to magic word behavior switches

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

Change #1279495 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/core@master] ParsoidParser: set index/noindex in ParserOutput

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

Change #1279469 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Set page properties corresponding to magic word behavior switches

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

Change #1284813 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.24.0-a2

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

Change #1284813 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.24.0-a2

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

Change #1284832 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/vendor@wmf/1.47.0-wmf.1] Bump wikimedia/parsoid to 0.24.0-a2

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

Change #1284832 merged by jenkins-bot:

[mediawiki/vendor@wmf/1.47.0-wmf.1] Bump wikimedia/parsoid to 0.24.0-a2

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

Mentioned in SAL (#wikimedia-operations) [2026-05-07T21:17:28Z] <cscott@deploy1003> cscott: Backport for [[gerrit:1284828|Upgrading webonyx/graphql-php (v15.31.5 => v15.32.3)]], [[gerrit:1284834|composer.json: Update webonyx/graphql-php to ^15.32.3]], [[gerrit:1284832|Bump wikimedia/parsoid to 0.24.0-a2 (T319058 T368724 T373384 T420336 T423241 T423701 T424446 T424773 T425008 T425056 T425107 T425731)]], [[gerrit:1284837|Bump wikimedia/parsoid to 0.24.0-a2 (T425731)]] synced to the t

Mentioned in SAL (#wikimedia-operations) [2026-05-07T21:27:35Z] <cscott@deploy1003> Finished scap sync-world: Backport for [[gerrit:1284828|Upgrading webonyx/graphql-php (v15.31.5 => v15.32.3)]], [[gerrit:1284834|composer.json: Update webonyx/graphql-php to ^15.32.3]], [[gerrit:1284832|Bump wikimedia/parsoid to 0.24.0-a2 (T319058 T368724 T373384 T420336 T423241 T423701 T424446 T424773 T425008 T425056 T425107 T425731)]], [[gerrit:1284837|Bump wikimedia/parsoid to 0.24.0-a2 (T425731)

Change #1279495 merged by jenkins-bot:

[mediawiki/core@master] ParsoidParser: set index/noindex in ParserOutput

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