Hello everyone,
As part of the effort to align Parsoid's output with the output of the legacy parser [1], we're introducing a backwards incompatible change [2] in the next Parsoid version (0.17.0-a7, to be deployed along with 1.40.0-wmf.12).
This new version modifies the target of the link to add "action=edit" and "redlink=1" to redlinks (wikilinks that point to a non-existing page).
We missed that this could have an impact on Parsoid clients, but this was caught by DiscussionTools [3]. Accordingly, we updated the Parsoid HTML Specification to explicitly add red links to the specification [4][5].
Parsoid clients that rely on wikilink targets should check for URL parameters and treat them accordingly.
As an advance notice, we will also eventually modify the "title" attribute of redlinks to add localized information about this state, as is the case in the legacy parser [1]. Please let us know of any input you may have on this topic by adding a comment on the corresponding Phabricator ticket so that we can discuss options [1].
Best regards,
Isabelle, for the Content Transform Team.
[1] https://phabricator.wikimedia.org/T309024
[2] https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/816137/
[3] https://phabricator.wikimedia.org/T324028
[4] https://www.mediawiki.org/wiki/Specs/HTML/2.6.0
[5] This would technically have required a major bump in the specification version. Since we don't have a well-tested implementation for content negotiation and the RESTBase sunsetting work is in progress [6], bumping major versions wasn't an option. We overlooked bumping a minor version as a signal, because we assumed we had it covered in 2.6.0.
[6] https://phabricator.wikimedia.org/T262315
Hi,
On 11/29/22 12:49, Isabelle Hurbain-Palatin wrote:
As part of the effort to align Parsoid's output with the output of the legacy parser [1], we're introducing a backwards incompatible change [2] in the next Parsoid version (0.17.0-a7, to be deployed along with 1.40.0-wmf.12).
Given that this is this week's train that's already in progress, it's really not enough time to update code that is expecting the old format.
Can this be delayed a bit?
[5] This would technically have required a major bump in the specification version. Since we don't have a well-tested implementation for content negotiation and the RESTBase sunsetting work is in progress [6], bumping major versions wasn't an option.We overlooked bumping a minor version as a signal, because we assumed we had it covered in 2.6.0.
Is there something blocking a bump to 2.7.0 now? I don't understand why it's being retconned into 2.6.0.
-- Kunal / Legoktm
Thanks Kunal for the feedback. Isabelle is out today, so I'll chat with the team and figure out next steps.
We realized this only after the train branch was cut and DiscussionTools tests failed. Part of the reason we didn't hold off the deployment is that we figured that this is an edge case since most of Parsoid's clients are all still mostly internal at this point and they were fixed. But, I suppose you and anyone else who use the Parsoid piece of the mwbot-rs framework would be impacted by this change if the bots are processing wikilink output.
Ideally, we would have suppressed red links in this week's train and deployed it the following week. But, yes, we will bump the version number to 2.7.0 in the next deploy.
As for this week's train, we don't want to roll back all of Parsoid's changes on this train, so one option we are considering is to push a patch that suppresses red link output if it turns out this will break a lot of bots. We will make a decision before it rolls out to group 2 tomorrow. But, if you end up fixing your bots in the mean time, please let us know. Sorry about the disruption!
We have also chatted about fixing our team process going forward to track Parsoid HTML changes a bit more closely early on *especially* since we are now starting to move to a point where there will be greater exposure to Parsoid's HTML to bots, gadgets, etc.
Subbu on behalf of the Content Transform Team.
On 11/30/22 12:01, Kunal Mehta wrote:
Hi,
On 11/29/22 12:49, Isabelle Hurbain-Palatin wrote:
As part of the effort to align Parsoid's output with the output of the legacy parser [1], we're introducing a backwards incompatible change [2] in the next Parsoid version (0.17.0-a7, to be deployed along with 1.40.0-wmf.12).
Given that this is this week's train that's already in progress, it's really not enough time to update code that is expecting the old format.
Can this be delayed a bit?
[5] This would technically have required a major bump in the specification version. Since we don't have a well-tested implementation for content negotiation and the RESTBase sunsetting work is in progress [6], bumping major versions wasn't an option.We overlooked bumping a minor version as a signal, because we assumed we had it covered in 2.6.0.
Is there something blocking a bump to 2.7.0 now? I don't understand why it's being retconned into 2.6.0.
-- Kunal / Legoktm _______________________________________________ Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
wikitech-l@lists.wikimedia.org