Page MenuHomePhabricator

VisualEditor: Displayed content and DM out of sync with fast insertion (primarily from test scripts?)
Closed, ResolvedPublic

Description

example 1

new issue as of Aug 26, seen on test2wiki

this is easily triggered by an automated browser test but can also be triggered manually:

while typing edits, click the Save page button.
click Review

Edited page and diff view contents are not the same. See screen shot examples 1 and 2.

ex 1: "asfdaEdit" in edited page vs "asEdadit" in diff view where original page has "Edit"

ex 2: "aaqaaaStarting" in edited page vs "aSqaaatarting" in diff view where original page has "Starting"

in at least one case, the actual saved contents of the page differs from the buffer that appears upon clicking Edit to invoke VE, see example 3


Version: unspecified
Severity: major

Attached:

ex1_buff_contents_diff.png (456×946 px, 69 KB)

Details

Reference
bz53360

Event Timeline

Created attachment 13172
example 1

Attached:

ex1_buff_contents_page.png (497×973 px, 89 KB)

Created attachment 13173
example 2

Attached:

ex2_buff_contents_diff.png (433×1 px, 64 KB)

Created attachment 13174
example 2

Attached:

ex2_buff_contents_page.png (548×901 px, 92 KB)

Created attachment 13175
example 3

Attached:

ex3_buffer_upon_invoking_VE.png (674×1 px, 76 KB)

Created attachment 13176
example 3

Attached:

ex3_page_view.png (556×865 px, 84 KB)

I still can't reproduce these in Chrome/Firefox/Safari/Opera testing on local master, on production test2, or production enwiki/mediawikiwiki.

What does "can also be triggered manually" mean - how? Or is this an unreliable/occasional thing? Possibly a system-load issue?

Is this specific to test2?

From the screenshots, the displayed content (from CE) and the data model (in DM) appear to have gotten out of sync, which Shouldn't Ever Happen(tm).

I can reproduce this consistently on test2wiki most of the time manually and automatedly all of the time as of the last VE deploy. To repro manually (I use Chrome):

  • Pick a random page on test2wiki that has existing text
  • click Edit for VE. click no other thing.
  • Poise your right hand so that you are prepared to click 'Save page'
  • With your left hand type randomly very very quickly. While typing with your left hand, click 'Save page' with your right hand
  • take a look at the VE page contents (CE I assume). It will appear to be accurate. It will be different than what is in the diff view (DM I assume).

Note: the automated test moves quickly enough that *nothing* typed into the VE edit interface is reflected in the diff view. I can demo this if you'd like.

Again, this is new behavior as of Aug 26.

I should mention that the (corrupted) diff view contents is what is actually saved when finally saving the page in VE

This has been fixed in VisualEditor master as part of gerrit 81213, and we will do an emergency push of this to wmf14 tomorrow to fix it in product; sorry for the disruption.