Page MenuHomePhabricator

DM/DOM sync can break if you use an IME
Open, HighPublic8 Estimated Story Points

Description

Still happens, but less often, since c04d8c0b9d0bec52cd95bfa0b533b6b97e8ca23a .

Steps to reproduce:

  1. On Chromium, edit <h1>1 <span dir="rtl">2 3</span> 4</h1> (and see that it renders like "1 (3 2) 4" with the "3 2" shaded)
  2. Place the cursor to the right of the "3 2".
  3. Hold down shift and press Left three times (and see the logical bidi selection cover the '2 3' from the *left*)
  4. Start an IME composition and then remove the candidate (e.g. on most Linux keyboard layouts, press Ctrl+Shift+u then Backspace)
  5. Note the shaded text has completely disappeared
  6. Type '2 3'.

Expected behaviour: The '2 3' appears as unannotated text (or alternatively, as shaded RTL), and agrees with the model.

Actual behaviour: The '2 3' appears shaded but in LTR, in fact in a <span style="background-color: rgb(235, 243, 245);">2 3</span>. The model has unannotated text.

This is really due to https://bugs.chromium.org/p/chromium/issues/detail?id=546461 ("No way to stop contenteditable inserting quirky style tags").

Event Timeline

dchan claimed this task.
dchan raised the priority of this task from to Needs Triage.
dchan updated the task description. (Show Details)
dchan added a subscriber: Esanders.
Jdforrester-WMF added a project: Epic.
Jdforrester-WMF set Security to None.
Jdforrester-WMF edited a custom field.
Jdforrester-WMF raised the priority of this task from Medium to High.Nov 19 2015, 7:36 PM

Change 247800 had a related patch set uploaded (by Divec):
Diff richtext to build model changes

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

Change 247800 merged by jenkins-bot:
Diff richtext to build model changes

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

It's still possible to trigger this bug, though Change 247800 made things much better. Will update the description.

Aklapper added a subscriber: dchan.

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!)