Page MenuHomePhabricator

Chunk-based serializer should look at sibling context
Open, MediumPublic

Description

Forked from T87708

There seemed to be some issue with selser on a <li> in the middle of an <ol>. The top level <ol> was modified, and new content added at the top. But the final <li> should bypass the chunk-based selser if the immediately preceding <li> was unmodified. Currently, because the <ol> was modified, all child <li> nodes had edge-sensitive chunk escaping applied.

Subbu's test case:

subbu@earth lib] cat /tmp/x.sh
git checkout 2fdf9298e0f3bb9540487f53d87322d53c5bb539
echo "REPLACE_THIS\n:<article>\n:b" > /tmp/wt
node parse --fetchConfig false < /tmp/wt > /tmp/old.html
cat /tmp/old.html | sed 's/REPLACE_THIS/x/g;' > /tmp/new.html
node parse --fetchConfig false --selser --html2wt --oldtextfile /tmp/wt --oldhtmlfile /tmp/old.html < /tmp/new.html
git checkout ffc06da76315b3ed22edb8dbb31a6366d68abdb2
node parse --fetchConfig false --selser --html2wt --oldtextfile /tmp/wt --oldhtmlfile /tmp/old.html < /tmp/new.html
[subbu@earth lib] sh /tmp/x.sh
Previous HEAD position was ffc06da... Amend timing metrics
HEAD is now at 2fdf929... Merge "Read default wiki list from a cached sitematrix"
x
:<article>
:b

Previous HEAD position was 2fdf929... Merge "Read default wiki list from a cached sitematrix"
HEAD is now at ffc06da... Amend timing metrics
x
:<article>
<nowiki>:</nowiki>b

Event Timeline

cscott claimed this task.
cscott raised the priority of this task from to Needs Triage.
cscott updated the task description. (Show Details)
cscott added a project: Parsoid-Nowiki.
cscott added subscribers: cscott, ssastry.
ssastry triaged this task as Medium priority.Mar 8 2020, 1:01 AM

This task has been assigned to the same task owner for more than two years. Resetting task assignee due to inactivity, to decrease task cookie-licking and to get a slightly more realistic overview of plans. Please feel free to assign this task to yourself again if you still realistically work or plan to work on this task - it would be welcome!

For tips how to manage individual work in Phabricator (noisy notifications, lists of task, etc.), see https://phabricator.wikimedia.org/T228575#6237124 for available options.
(For the records, two emails were sent to assignee addresses before resetting assignees. See T228575 for more info and for potential feedback. Thanks!)