Page MenuHomePhabricator

Loading the read view while VE is loading can create a fused page with both the read and VE versions of the page
Closed, ResolvedPublic8 Estimated Story Points

Description

Open up a page in VE (any page will do, but a long one like Claude Monet makes this easier to reproduce). While it's loading (ideally when the progress bar is about 1/3 to 1/2 of the way done), click the "read" tab and let the browser load the read version of the page.

If you time things right, you can get a fused page which has both the normal read version of the page and the content-editable version either above or below it (I've also sometimes gotten a page which is blank below the title). I've reproduced this in Firefox 39.0a2, Chrome 42.0.2311.152, and Safari 8.0.6.

Here's an example screenshot showing the "seam" between the read version on top and the VE version below.

Screen Shot 2015-05-14 at 14.15.11.png (1×2 px, 493 KB)

Event Timeline

nshahquinn-wmf raised the priority of this task from to High.
nshahquinn-wmf updated the task description. (Show Details)
nshahquinn-wmf added a project: VisualEditor.
nshahquinn-wmf subscribed.

Just reproduced this another couple of times in production.

this.activating can be true when ve.init.mw.DesktopArticleTarget.prototype.cancel gets called (but we might not have a loading deferred to abort yet), and presumably bad things happen if transformPage is called by activate just after restorePage is called by cancel.

Now I can't reproduce this bug again.

It's pretty easy to reproduce by pressing escape a bunch of times after the progress bar appears.

Change 260750 had a related patch set uploaded (by Esanders):
DesktopArticleTarget: Improve teardown sequence

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

Change 260750 merged by jenkins-bot:
DesktopArticleTarget: Improve teardown sequence

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