Page MenuHomePhabricator

WrapAnnotations breaks DSR correctness in some cases
Closed, ResolvedPublic

Description

The example below is self-explanatory. Obviously this DSR breakage then breaks selser.

Consider this wikitext:

<translate>
<!--T:1-->
'''The quick brown fox jumps over the lazy dog.'''
</translate> 

[[Category:Foo]]

See output below and look at the DSR range for the p-tag. The DSR values are correct after the DSR pass completes but incorrect after the WrapAnnotations pass completes where the meta tag is hoisted out of the p-wrapper.

[subbu@earth:~/work/wmf/parsoid] php bin/parse.php --domain meta.wikimedia.org --dump dom:post-dsr < /tmp/wt 
----- DOM: post-dsr -----
<body data-parsoid='{"tmp":null,"dsr":[0,105,0,0]}'><meta typeof="mw:Annotation/translate" data-parsoid='{"tmp":{"tagId":1,"bits":0},"tsr":[0,11],"dsr":[0,11,null,null]}'/>
<!--T:1-->
<p data-parsoid='{"tmp":{"tagId":3,"bits":0},"dsr":[23,86,0,0]}'><b data-parsoid='{"tmp":{"tagId":4,"bits":0},"tsr":[23,26],"dsr":[23,73,3,3]}'>The quick brown fox jumps over the lazy dog.</b>
<meta typeof="mw:Annotation/translate/End" data-parsoid='{"tmp":{"tagId":5,"bits":0},"tsr":[74,86],"dsr":[74,86,null,null]}'/></p>

<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"tmp":{"tagId":7,"bits":0},"tsr":[88,104],"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"},"dsr":[88,104,null,null]}'/>
</body>
-------------------------

<meta typeof="mw:Annotation/translate" data-parsoid='{"dsr":[0,11,null,null]}' data-mw='{"rangeId":"mwa0","extendedRange":false,"wtOffsets":[0,11]}'/>
<!--T:1-->
<p data-parsoid='{"dsr":[23,117,0,0]}'><b data-parsoid='{"dsr":[23,73,3,3]}'>The quick brown fox jumps over the lazy dog.</b></p>
<meta typeof="mw:Annotation/translate/End" data-parsoid='{"dsr":[74,86,null,null]}' data-mw='{"wtOffsets":[74,86]}'/>

<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"},"dsr":[88,104,null,null]}'/>

Related Objects

StatusSubtypeAssignedTask
OpenReleaseNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedEsanders
OpenFeatureNone
Resolvedihurbain
Resolvedihurbain
Resolvedihurbain

Event Timeline

ssastry triaged this task as Medium priority.Nov 8 2021, 9:25 PM

Change 737619 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/services/parsoid@master] Fix DSR computation when end tag is pulled out of <p> range

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

Change 737619 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Fix DSR computation when end tag is pulled out of <p> range

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

Change 742570 had a related patch set uploaded (by Sbailey; author: Sbailey):

[mediawiki/vendor@master] Bump Parsoid to 0.15.0-a11

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

Change 742570 merged by jenkins-bot:

[mediawiki/vendor@master] Bump Parsoid to 0.15.0-a11

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