[MediaWiki-commits] [Gerrit] VisualEditor/VisualEditor[master]: Fix visual diff timeout

2017-11-13 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/385831 )

Change subject: Fix visual diff timeout
..


Fix visual diff timeout

Bug: T177378
Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
---
M lib/treeDiffer/treeDiffer-dist.js
M src/dm/ve.dm.VisualDiff.js
2 files changed, 11 insertions(+), 11 deletions(-)

Approvals:
  Esanders: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/treeDiffer/treeDiffer-dist.js 
b/lib/treeDiffer/treeDiffer-dist.js
index 77e2310..e335792 100644
--- a/lib/treeDiffer/treeDiffer-dist.js
+++ b/lib/treeDiffer/treeDiffer-dist.js
@@ -1,6 +1,9 @@
 /*!
  * treeDiffer Namespace for treeDiffer.js
  *
+ * Version 1.0.1
+ * https://github.com/Tchanders/treeDiffer.js
+ *
  * Released under the MIT license
  */
 
@@ -300,6 +303,7 @@
this.findMinimumTransactions( keyRoot1, keyRoot2, 
iNulls, jNulls, transactions );
 
if ( new Date().getTime() > this.endTime ) {
+   this.transactions = null;
return;
}
}
diff --git a/src/dm/ve.dm.VisualDiff.js b/src/dm/ve.dm.VisualDiff.js
index 608ef43..4e0eb97 100644
--- a/src/dm/ve.dm.VisualDiff.js
+++ b/src/dm/ve.dm.VisualDiff.js
@@ -414,7 +414,7 @@
  */
 ve.dm.VisualDiff.prototype.getDocChildDiff = function ( oldDocChild, 
newDocChild, threshold ) {
var i, ilen, j, jlen,
-   treeDiff, linearDiff,
+   transactions, treeDiff, linearDiff,
oldNode, newNode,
replacement,
oldDocChildTree,
@@ -432,20 +432,16 @@
oldDocChildTree = new this.treeDiffer.Tree( oldDocChild, 
ve.DiffTreeNode );
newDocChildTree = new this.treeDiffer.Tree( newDocChild, 
ve.DiffTreeNode );
 
-   treeDiff = new this.treeDiffer.Differ( oldDocChildTree, newDocChildTree 
)
-   .transactions[ oldDocChildTree.orderedNodes.length - 1 ][ 
newDocChildTree.orderedNodes.length - 1 ];
+   transactions = new this.treeDiffer.Differ( oldDocChildTree, 
newDocChildTree ).transactions;
+   if ( transactions === null ) {
+   // Tree diff timed out
+   return false;
+   }
 
+   treeDiff = transactions[ oldDocChildTree.orderedNodes.length - 1 ][ 
newDocChildTree.orderedNodes.length - 1 ];
// Length of old content is length of old node minus the open and close
// tags for each child node
keepLength = oldDocChild.length - 2 * ( 
oldDocChildTree.orderedNodes.length - 1 );
-
-   // Tree diff timed out: record as full remove and insert
-   if ( !treeDiff ) {
-   treeDiff = [];
-   linearDiff = null;
-   diffLength = oldDocChild.length + newDocChild.length;
-   keepLength = 0;
-   }
 
for ( i = 0, ilen = treeDiff.length; i < ilen; i++ ) {
 

-- 
To view, visit https://gerrit.wikimedia.org/r/385831
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
Gerrit-PatchSet: 3
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Tchanders 
Gerrit-Reviewer: Esanders 
Gerrit-Reviewer: Jforrester 
Gerrit-Reviewer: Tchanders 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] VisualEditor/VisualEditor[master]: Fix visual diff timeout

2017-10-22 Thread Tchanders (Code Review)
Tchanders has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/385831 )

Change subject: Fix visual diff timeout
..

Fix visual diff timeout

Bug: T177378
Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
---
M lib/treeDiffer/treeDiffer-dist.js
M src/dm/ve.dm.VisualDiff.js
2 files changed, 5 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/31/385831/1

diff --git a/lib/treeDiffer/treeDiffer-dist.js 
b/lib/treeDiffer/treeDiffer-dist.js
index 77e2310..ba4d165 100644
--- a/lib/treeDiffer/treeDiffer-dist.js
+++ b/lib/treeDiffer/treeDiffer-dist.js
@@ -300,6 +300,7 @@
this.findMinimumTransactions( keyRoot1, keyRoot2, 
iNulls, jNulls, transactions );
 
if ( new Date().getTime() > this.endTime ) {
+   this.transactions = null;
return;
}
}
diff --git a/src/dm/ve.dm.VisualDiff.js b/src/dm/ve.dm.VisualDiff.js
index 608ef43..9b0c333 100644
--- a/src/dm/ve.dm.VisualDiff.js
+++ b/src/dm/ve.dm.VisualDiff.js
@@ -433,7 +433,10 @@
newDocChildTree = new this.treeDiffer.Tree( newDocChild, 
ve.DiffTreeNode );
 
treeDiff = new this.treeDiffer.Differ( oldDocChildTree, newDocChildTree 
)
-   .transactions[ oldDocChildTree.orderedNodes.length - 1 ][ 
newDocChildTree.orderedNodes.length - 1 ];
+   .transactions;
+   if ( treeDiff !== null ) {
+   treeDiff = treeDiff[ oldDocChildTree.orderedNodes.length - 1 ][ 
newDocChildTree.orderedNodes.length - 1 ];
+   }
 
// Length of old content is length of old node minus the open and close
// tags for each child node

-- 
To view, visit https://gerrit.wikimedia.org/r/385831
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Tchanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits