Page MenuHomePhabricator

VisualEditor: Using Unicode Combining diacritics duplicates/replaces/adds unwanted characters
Closed, ResolvedPublic

Description

Visual Editor doesn't behave correctly when editing and adding text with combining diacritics.

For example insert the text "ɛ́" (ɛ is character U+025B, combining acute is U+0301).
When the cursor is behind "ɛ́":

  • pushing the left arrow doesn't move the cursor
  • adding text like "ɛ́abcdef" is fine but:
    • pushing backspace gives "ɛ́abcda" instead of expected "ɛ́abcde"
    • pushing return ives "ɛ́abcde\na"

Some languages require combining diacritics, many keyboard layouts allow their input or user can insert them by copying and pasting from somewhere else.


Version: unspecified
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=51472

Details

Reference
bz49233

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:54 AM
bzimport set Reference to bz49233.

This appears to be a duplicate of an already-fixed bug (bug 48630), which is live on the cluster everywhere as of yesterday. Can you reproduce this now, and if so, on what wiki? Support for graphemes like this is important for us, as you can imagine, and it's worrying to hear that it's not working?

  • This bug has been marked as a duplicate of bug 48630 ***

Yes this is still reproduceable on en.wikipedia.org or fr.wikipedia.org as well as www.mediawiki.org. I guess "on the cluster everywhere as of yesterday" means the bug 48630 is fixed so this is not a duplicate.
Or is there a specific place I should try to reproduce the bug on where this has been fixed?

Quickly looking at bug 48630 it seems the behaviour described here is different, although the solution to 48630 might fix this one, just not the current solution.

Furthermore there are other broken behaviours.

  • In some situations the line following "ɛ́" would just be duplicated every unknown time interval until the input cursor is moved.
  • If the "ɛ́" is in the middle of a line, some following characters are duplicated each interval with or without the combining diacritic on them.
  • If inputing two base characters with each a combining character, an unexpected next line return is produce when finishing the sequence.
  • When moving the cursor past the base character with the combining character, the cursor jumps to the next line even if there are still characters on the current (actually now previous) line.

Can't reproduce in master or live, except for a bug where if I select all then paste an exception is thrown (but that is unrelated).

See:
http://en.wikipedia.org/wiki/User:ESanders_(WMF)/Sandbox

Denis, can you still reproduce (and if so, where and with what browser/system)?

Yes, this is still reproduceable on Chrome and Firefox on Ubuntu, Chrome, Firefox and Safari on OS X, Chrome, Firefox, IE on Windows 8.
The steps I tried on http://en.wikipedia.org/wiki/User:ESanders_(WMF)/Sandbox are :

  • move cursor to end of "ɛ́abcdef"
  • type g
  • press return

result: "ɛ́abcdeff" and new line instead of expected "ɛ́abcdefg" and new line.

Related URL: https://gerrit.wikimedia.org/r/69814 (Gerrit Change If9c0860e2fe7b01eb0b27aae67c671062799a0fa)

Now fixed and will be deployed very soon; sorry for this.

Great! It works as it should now.
Thanks a lot!

(In reply to comment #10)

I believe this is related (or a dupe?) of this:
https://bugzilla.wikimedia.org/show_bug.cgi?id=51472

Related but not a dupe, I think; adding a see-also.