Page MenuHomePhabricator

Apparent MediaWiki change to table parsing or Linter, related to magic word ! or to pipes in general
Closed, ResolvedPublicBUG REPORT

Description

I have a suspicion that something changed with the latest code update a few days ago (early January 2022) with respect to the interaction between Linter and table parsing and pipes, or possibly just with the {{!}} magic word used in place of a pipe. I fix Linter syntax errors, and the following code on template documentation pages was not causing an error last week and is causing an error this week:

{|
|-
|colspan=1 align=center| ''When your text uses a {{!}} pipe:''
|}

I have a demonstration in my sandbox showing that the code by itself does not cause Linter errors, but when it is added to a table, it causes Linter errors (two missing end tags or one missing end tag and one stripped tag) that are consistent with the parser thinking that the pipe is starting a new table cell, thereby leaving the italic markup orphaned twice. As you can see in my sandbox, the text is rendered just fine. These errors were not detected last week; I think they may be new false positives.

Does anyone know of any code changes that may have caused this change?

Event Timeline

Parsoid deployments are always listed at https://www.mediawiki.org/wiki/Parsoid/Deployments. But yes, there were some changes (expected to be improvements actually) around handling of edge cases.

Are you seeing a lot of such new lint error regressions or is this mostly on a few pages? That information will help us determine how quickly to attend to this. But, we will try to look into it this week.

That deployment page is not parseable by me. It looks like maybe "Remove special case for {{!}} magic word" is relevant, but there is no link to a discussion or phab ticket, so I don't see a way to find out.

I came across the three examples shown in my sandbox in actual articles and template documentation. I suspect that there are a few dozen to a few hundred of these, not millions like the image captions used as alt text. I have posted a note at WT:Linter on en.WP about them, there are only three or four editors working on such errors, and they are not causing rendering problems, so if the problem can be addressed relatively soon, I don't think there will be much hand-wringing about it.

True, most non-phabricator linked deployment page entries aren't parseable by folks that are not a Parsoid developer. Thanks for the additional info reg. the frequency.

Change 754541 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/services/parsoid@master] Revert \"Remove special case for {{!}} magic word\"

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

Change 754542 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/services/parsoid@master] Clarify a comment around special case for {{!}}

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

Change 754541 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Revert \"Remove special case for {{!}} magic word\"

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

Change 754542 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Clarify a comment around special case for {{!}}

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

Change 754564 had a related patch set uploaded (by Subramanya Sastry; author: Subramanya Sastry):

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.15.0-a15

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

Change 754564 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.15.0-a15

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

ssastry triaged this task as Medium priority.
ssastry moved this task from Needs Triage to Bugs & Crashers on the Parsoid board.

@Jonesey95 Thanks for catching my mistake here