Page MenuHomePhabricator

Parsoid only changes the first '*' to '#' when a <ul> is a changed to an <ol>
Closed, ResolvedPublic

Description

Changing all items of an ordered or unordered list does change the first item only

Steps to reproduce:

  1. Mark all items of an ordered (ol) or unordered list (ul) (see URL)
  2. Click on the icon in the toolbar to change from ol to ul (or vice versa)
  3. The rendering changes as expected
  4. Really changed is only the first list item, https://test.wikipedia.org/w/index.php?title=User:Raymond/ol2ul&diff=175507&oldid=175506

Version: unspecified
Severity: normal
URL: https://test.wikipedia.org/wiki/User:Raymond/ol2ul

Details

Reference
bz51255

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:49 AM
bzimport added a project: Parsoid-Serializer.
bzimport set Reference to bz51255.
Raymond created this task.Jul 12 2013, 7:19 PM

This is a Parsoid bug. VE changes the <ul> to an <ol> (or v.v.) but Parsoid only reserializes the first item. Presumably selser tries to avoid reserializing the <li>s inside the list because they haven't changed.

That is weird -- selser should have handled this properly since the whole subtree is considered modified and would have been serialized using the regular serializer. Investigating.

Change 73761 had a related patch set uploaded by Subramanya Sastry:
(Bug 51255) Fix selser bug handling subtrees marked 'modified'

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

Change 73761 merged by jenkins-bot:
(Bug 51255) Fix selser bug handling subtrees marked 'modified'

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

To be deployed (rt-testing wont exercise this code).