Earlier today I wanted to test the "&visualdiff" trick on a page.
It worked on most pages except for this diff, as nothing happens when I click on Visual (beta). If I click on Wikitext, and then on Visual (beta) again to give it another try, it actually triggers another progress bar (but again no visual diff). I stopped at the 5th bar despite it being a mesmerizing sight (F9999758). It's the same on different browsers, FWIW.
Description
Details
Related Objects
- Mentioned Here
- rGVEDd9059cd50923: Fix visual diff timeout
Event Timeline
Other diff that also fails with the same error message: https://de.wikipedia.org/w/index.php?title=Lex&diff=prev&oldid=169798942&visualdiff&diffmode=visual
jQuery.Deferred exception: oldDocChildTree.orderedNodes[treeDiff[i][0]] is undefined ve.dm.VisualDiff.prototype.getDocChildDiff@https://en.wikipedia.org/w/load.php?debug=false&lang=en&modules=diffMatchPatch%2Cmoment%2Cpapaparse%2Crangefix%2Cspark-md5%2CtreeDiffer%2Cunicodejs%7Cext.CodeMirror.data%2Clib%2CvisualEditor%7Cext.CodeMirror.mode.mediawiki%7Cext.CodeMirror.visualEditor.init%7Cext.cite.style%2CvisualEditor%7Cext.cite.visualEditor.core%2Cdata%7Cext.citoid.visualEditor%7Cext.citoid.visualEditor.data%7Cext.disambiguator.visualEditor%7Cext.geshi.visualEditor%7Cext.graph.data%2CvisualEditor%7Cext.kartographer%2CtemplateData%7Cext.kartographer.editing%2CvisualEditor%7Cext.math.styles%2CvisualEditor%7Cext.score.visualEditor%7Cext.templateData.images%7Cext.templateDataGenerator.data%2CeditPage%2Cui%7Cext.templateDataGenerator.ui.images%7Cext.visualEditor.articleTarget%2Cbase%2Ccore%2Cdata%2CdesktopArticleTarget%2CdesktopTarget%2Cdiffing%2Cicons%2Clanguage%2Cmediawiki%2CmoduleIcons%2Cmwalienextension%2Cmwcore%2Cmwdiffing%2Cmwextensionmessages%2Cmwextensions%2Cmwformatti[…] undefined
Exception is on line 458 of ve.dm.VisualDiff:
oldNode = oldDocChildTree.orderedNodes[ treeDiff[ i ][ 0 ] ].node;
treeDiff[ i ] appears to contain integers (for all values of i), so this is undefined. The check on the line above is treeDiff[ i ][ 0 ] !== null so it passes this.
There is another exception, Cannot read property '0' of null, at https://www.mediawiki.org/w/index.php?title=Topic:U08ppv2a4lokaqjj .
Looks like it's because these are timing out at the tree diff stage, because of the long bullet lists. We should do two things:
- Handle lists better (the generic solution takes too long when lists are too long or too many)
- Handle timeouts better
Change 385831 had a related patch set uploaded (by Tchanders; owner: Tchanders):
[VisualEditor/VisualEditor@master] Fix visual diff timeout
Change 385831 merged by jenkins-bot:
[VisualEditor/VisualEditor@master] Fix visual diff timeout
Change 391137 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (d9059cd50)