<div dir="ltr"><div><br></div><div>When you click 'Edit' on a wiki page in Firefox or Chrome to invoke VisualEditor, the editable area is called "CE" for contentEditable. After you make changes, the diff you can see before the final save is called "DM" for "data model". </div>
<div><br></div><div>It is vitally important that the data held in CE and DM always be identical for any edit. If CE and DM do not agree, then saving the edit corrupts the data on the page. For example, with the help of an automated test I was able to demonstrate a race condition causing exactly this problem not long ago, which resulted in an emergency fix release: <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=53360">https://bugzilla.wikimedia.org/show_bug.cgi?id=53360</a></div>
<div><br></div><div>This week Rachel was working on an automated VE test and hit a problem because of how Selenium and Firefox interpret the difference between "enter" and "return" commands: <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=53721">https://bugzilla.wikimedia.org/show_bug.cgi?id=53721</a>. In this case we were unable to reproduce the error manually, but it makes me suspect that there may be some hardware or software somewhere such that creating a newline while using VisualEditor to edit CE will cause DM to not recognize the changed page contents. </div>
<div><br></div><div>One of the things that ULS makes possible is a choice of "input methods". The more we can have people checking the results of various input methods (hardware and software) in VisualEditor the happier we will be. Rachel's experience shows that a newline from an exotic input source *might* be a cause of data corruption in VE, but we have to demonstrate the problem reliably by a manual operation in order to address it. </div>
<div><br></div></div>