Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CT various errors #298

Open
chrisklus opened this issue Jun 10, 2021 · 7 comments
Open

CT various errors #298

chrisklus opened this issue Jun 10, 2021 · 7 comments

Comments

@chrisklus
Copy link
Contributor

Various errors from common code changes in the last 24 hours - I'll tend to cleanup here as I clean up work in Number Play from the last week.

make-a-ten : fuzz : built
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000
Query: fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'naturalWidth' of null
TypeError: Cannot read property 'naturalWidth' of null
at Ec.getImageWidth (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:848548)
at Ec.invalidateSupportedRenderers (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:858430)
at new Ec (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:858042)
at new CR (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3324093)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3471835
at Array.map (<anonymous>)
at o (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3471821)
at new SC (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3472315)
at new ZC (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3485330)
at bC.name [as createView] (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/build/phet/make-a-ten_en_phet.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22built%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623343463769%7D&fuzz&memoryLimit=1000:937:3487903)
id: Bayes Chrome
Snapshot from 6/10/2021, 9:50:53 AM

----------------------------------

make-a-ten : fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/make-a-ten_en.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623341848948%7D&brand=phet&ea&fuzz&memoryLimit=1000
Query: brand=phet&ea&fuzz&memoryLimit=1000
Uncaught Error: Assertion failed: Undefined not allowed for Node key: image
Error: Assertion failed: Undefined not allowed for Node key: image
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/assert/js/assert.js:25:13)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Node.js:6748:17
at arrayEach (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/sherpa/lib/lodash-4.17.4.js:537:11)
at Function.forEach (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/sherpa/lib/lodash-4.17.4.js:9359:14)
at Image.mutate (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Node.js:6745:7)
at new Image (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Image.js:63:10)
at new BaseNumberNode (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/counting-common/js/common/view/BaseNumberNode.js:115:30)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/js/make-a-ten/explore/view/ExplorePanel.js:45:29
at Array.map (<anonymous>)
at createTarget (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/js/make-a-ten/explore/view/ExplorePanel.js:44:66)
id: Bayes Chrome
Snapshot from 6/10/2021, 9:50:53 AM

----------------------------------

make-a-ten : multitouch-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/make-a-ten_en.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22multitouch-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1623340253187%22%2C%22timestamp%22%3A1623342407374%7D&brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Query: brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Uncaught Error: Assertion failed: Undefined not allowed for Node key: image
Error: Assertion failed: Undefined not allowed for Node key: image
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/assert/js/assert.js:25:13)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Node.js:6748:17
at arrayEach (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/sherpa/lib/lodash-4.17.4.js:537:11)
at Function.forEach (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/sherpa/lib/lodash-4.17.4.js:9359:14)
at Image.mutate (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Node.js:6745:7)
at new Image (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/scenery/js/nodes/Image.js:63:10)
at new BaseNumberNode (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/counting-common/js/common/view/BaseNumberNode.js:115:30)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/js/make-a-ten/explore/view/ExplorePanel.js:45:29
at Array.map (<anonymous>)
at createTarget (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1623340253187/make-a-ten/js/make-a-ten/explore/view/ExplorePanel.js:44:66)
id: Bayes Chrome
Snapshot from 6/10/2021, 9:50:53 AM
@chrisklus
Copy link
Contributor Author

In phetsims/number-play#19 I merged the two paper number implementations by using the paper number nodes from number-play, which were modified with peeled backgrounds and grippy lines. this was needed for a number-play one-off for student interviews. now that we are moving to a different design, i reverted the paper number nodes to as they were in make-a-ten, and the sim is working normally again.

@chrisklus
Copy link
Contributor Author

make-a-ten : multitouch-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/make-a-ten/make-a-ten_en.html?continuousTest=%7B%22test%22%3A%5B%22make-a-ten%22%2C%22multitouch-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1625259779336%22%2C%22timestamp%22%3A1625263286282%7D&brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Query: brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Uncaught Error: Assertion failed: Did not find matching Node
Error: Assertion failed: Did not find matching Node
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/assert/js/assert.js:25:13)
at MakeATenExploreScreenView.findPaperNumberNode (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/counting-common/js/common/view/CountingCommonView.js:144:15)
at MakeATenExploreScreenView.tryToCombineNumbers (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/counting-common/js/common/view/CountingCommonView.js:155:30)
at DragListener.end [as _end] (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/counting-common/js/common/view/PaperNumberNode.js:97:9)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/scenery/js/listeners/DragListener.js:335:25
at DragListener.onRelease (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/scenery/js/listeners/PressListener.js:680:17)
at Action.execute (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/axon/js/Action.js:227:18)
at DragListener.release (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/scenery/js/listeners/PressListener.js:458:25)
at DragListener.release (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/scenery/js/listeners/DragListener.js:331:11)
at DragListener.pointerUp (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1625259779336/scenery/js/listeners/PressListener.js:797:12)
id: Bayes Chrome
Snapshot from 7/2/2021, 5:02:59 PM

I looked into the continuing errors on CT today (show above) - haven't quite figured it out yet but I'm getting closer with logging. I can only reproduce with multitouch fuzzing.

relevent logging output to show the order of the problem:

drag ended, looking for: 615 in tryToCombineNumbers
collapseNumberModels: 615, 642, from tryToCombineNumbers
removing 642, called from collapseNumberModels
drag ended, looking for: 642 in tryToCombineNumbers
Assertion failed: Did not find matching Node

The next steps are to follow the path of what happens when the paperNumber is removed - is the drag not being cancelled when the corressposding paperNumberNode is removed? (and therefore end is still being called?). Or maybe verify that the paperNumberNode is being removed in in time?

here's a patch for my current logging:

Index: js/common/view/CountingCommonView.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/view/CountingCommonView.js b/js/common/view/CountingCommonView.js
--- a/js/common/view/CountingCommonView.js	(revision 8b2dce6567da2b563aa6366807e82a716e1197a7)
+++ b/js/common/view/CountingCommonView.js	(date 1625262518295)
@@ -110,6 +110,7 @@
       this.addAndDragNumberCallback, this.tryToCombineNumbersCallback );
 
     this.paperNumberNodeMap[ paperNumberNode.paperNumber.id ] = paperNumberNode;
+    paperNumberNode.paperNumber.wasInMap = true;
     this.paperNumberLayerNode.addChild( paperNumberNode );
     paperNumberNode.attachListeners();
 
@@ -152,6 +153,7 @@
    * @param {PaperNumber} draggedPaperNumber
    */
   tryToCombineNumbers( draggedPaperNumber ) {
+    console.log( 'drag ended, looking for: ' + draggedPaperNumber.id + ' in tryToCombineNumbers' );
     const draggedNode = this.findPaperNumberNode( draggedPaperNumber );
     const draggedNumberValue = draggedPaperNumber.numberValueProperty.value;
     const allPaperNumberNodes = this.paperNumberLayerNode.children;
@@ -166,7 +168,7 @@
       const droppedNumberValue = droppedPaperNumber.numberValueProperty.value;
 
       if ( ArithmeticRules.canAddNumbers( draggedNumberValue, droppedNumberValue ) ) {
-        this.model.collapseNumberModels( this.availableViewBoundsProperty.value, draggedPaperNumber, droppedPaperNumber );
+        this.model.collapseNumberModels( this.availableViewBoundsProperty.value, draggedPaperNumber, droppedPaperNumber, ', from tryToCombineNumbers' );
         return; // A bit weird, but no need to relayer or try combining with others?
       }
       else {
Index: js/common/model/CountingCommonModel.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/model/CountingCommonModel.js b/js/common/model/CountingCommonModel.js
--- a/js/common/model/CountingCommonModel.js	(revision 8b2dce6567da2b563aa6366807e82a716e1197a7)
+++ b/js/common/model/CountingCommonModel.js	(date 1625262569302)
@@ -43,11 +43,13 @@
    * @param {PaperNumber} draggedPaperNumber
    * @param {PaperNumber} dropTargetNumber
    */
-  collapseNumberModels( availableModelBounds, draggedPaperNumber, dropTargetNumber ) {
+  collapseNumberModels( availableModelBounds, draggedPaperNumber, dropTargetNumber, fromWhere ) {
     const dropTargetNumberValue = dropTargetNumber.numberValueProperty.value;
     const draggedNumberValue = draggedPaperNumber.numberValueProperty.value;
     const newValue = dropTargetNumberValue + draggedNumberValue;
 
+    console.log( 'collapseNumberModels: ' + draggedPaperNumber.id + ', ' + dropTargetNumber.id + fromWhere );
+
     let numberToRemove;
     let numberToChange;
 
@@ -64,7 +66,7 @@
     }
 
     // Apply changes
-    this.removePaperNumber( numberToRemove );
+    this.removePaperNumber( numberToRemove, ', called from collapseNumberModels' );
     numberToChange.changeNumber( newValue );
     numberToChange.setConstrainedDestination( availableModelBounds, numberToChange.positionProperty.value, false );
   }
@@ -85,7 +87,8 @@
    *
    * @param {PaperNumber} paperNumber
    */
-  removePaperNumber( paperNumber ) {
+  removePaperNumber( paperNumber, callLocation ) {
+    console.log( 'removing ' + paperNumber.id + callLocation );
     this.paperNumbers.remove( paperNumber );
   }
 

@chrisklus
Copy link
Contributor Author

chrisklus commented Jul 8, 2021

The next steps are to follow the path of what happens when the paperNumber is removed - is the drag not being cancelled when the corresponding paperNumberNode is removed? (and therefore end is still being called?). Or maybe verify that the paperNumberNode is being removed in in time?

I confirmed that the node is being disposed (and even added my own line of calling interruptSubtreeInput on the node, as well as trying to manually call interrupt() on paperNumberNode.moveDragHandler. It appears end is still being called on the dragListener after this. @jonathanolson is this expected? (does interrupting a drag call end?). Assuming not, then I'm pretty confused as to what's going on.

Here is my latest logging output to see the order of what's happening an an updated patch for my logging.

end called on 139
drag ended, looking for: 139 in tryToCombineNumbers
in collapseNumberModels: 139, 149, called from tryToCombineNumbers
removing paperNumber 149, called from collapseNumberModels
calling interruptSubtreeInput and removing paperNumberNode 149
end called on 149
drag ended, looking for: 149 in tryToCombineNumbers
assert.js:21 Assertion failed: Did not find matching Node
Index: js/common/view/CountingCommonView.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/view/CountingCommonView.js b/js/common/view/CountingCommonView.js
--- a/js/common/view/CountingCommonView.js	(revision 8b2dce6567da2b563aa6366807e82a716e1197a7)
+++ b/js/common/view/CountingCommonView.js	(date 1625764042067)
@@ -110,6 +110,7 @@
       this.addAndDragNumberCallback, this.tryToCombineNumbersCallback );
 
     this.paperNumberNodeMap[ paperNumberNode.paperNumber.id ] = paperNumberNode;
+    paperNumberNode.paperNumber.wasInMap = true;
     this.paperNumberLayerNode.addChild( paperNumberNode );
     paperNumberNode.attachListeners();
 
@@ -127,7 +128,10 @@
   onPaperNumberRemoved( paperNumber ) {
     const paperNumberNode = this.findPaperNumberNode( paperNumber );
 
+    console.log( 'calling interruptSubtreeInput and removing paperNumberNode ' + paperNumber.id );
+
     delete this.paperNumberNodeMap[ paperNumberNode.paperNumber.id ];
     this.closestDragListener.removeDraggableItem( paperNumberNode );
     paperNumberNode.dispose();
+    console.log( 'disposing node for ' + paperNumber.id );
   }
@@ -152,6 +156,7 @@
    * @param {PaperNumber} draggedPaperNumber
    */
   tryToCombineNumbers( draggedPaperNumber ) {
+    console.log( 'drag ended, looking for: ' + draggedPaperNumber.id + ' in tryToCombineNumbers' );
     const draggedNode = this.findPaperNumberNode( draggedPaperNumber );
     const draggedNumberValue = draggedPaperNumber.numberValueProperty.value;
     const allPaperNumberNodes = this.paperNumberLayerNode.children;
@@ -166,7 +171,7 @@
       const droppedNumberValue = droppedPaperNumber.numberValueProperty.value;
 
       if ( ArithmeticRules.canAddNumbers( draggedNumberValue, droppedNumberValue ) ) {
-        this.model.collapseNumberModels( this.availableViewBoundsProperty.value, draggedPaperNumber, droppedPaperNumber );
+        this.model.collapseNumberModels( this.availableViewBoundsProperty.value, draggedPaperNumber, droppedPaperNumber, ', called from tryToCombineNumbers' );
         return; // A bit weird, but no need to relayer or try combining with others?
       }
       else {
Index: js/common/view/PaperNumberNode.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/view/PaperNumberNode.js b/js/common/view/PaperNumberNode.js
--- a/js/common/view/PaperNumberNode.js	(revision 8b2dce6567da2b563aa6366807e82a716e1197a7)
+++ b/js/common/view/PaperNumberNode.js	(date 1625763337782)
@@ -94,6 +94,7 @@
       },
 
       end: ( event, listener ) => {
+        console.log( 'end called on ' + paperNumber.id );
         tryToCombineNumbers( this.paperNumber );
         paperNumber.endDragEmitter.emit( paperNumber );
       }
Index: js/common/model/CountingCommonModel.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/model/CountingCommonModel.js b/js/common/model/CountingCommonModel.js
--- a/js/common/model/CountingCommonModel.js	(revision 8b2dce6567da2b563aa6366807e82a716e1197a7)
+++ b/js/common/model/CountingCommonModel.js	(date 1625763982470)
@@ -43,11 +43,13 @@
    * @param {PaperNumber} draggedPaperNumber
    * @param {PaperNumber} dropTargetNumber
    */
-  collapseNumberModels( availableModelBounds, draggedPaperNumber, dropTargetNumber ) {
+  collapseNumberModels( availableModelBounds, draggedPaperNumber, dropTargetNumber, fromWhere ) {
     const dropTargetNumberValue = dropTargetNumber.numberValueProperty.value;
     const draggedNumberValue = draggedPaperNumber.numberValueProperty.value;
     const newValue = dropTargetNumberValue + draggedNumberValue;
 
+    console.log( 'in collapseNumberModels: ' + draggedPaperNumber.id + ', ' + dropTargetNumber.id + fromWhere );
+
     let numberToRemove;
     let numberToChange;
 
@@ -64,7 +66,7 @@
     }
 
     // Apply changes
-    this.removePaperNumber( numberToRemove );
+    this.removePaperNumber( numberToRemove, ', called from collapseNumberModels' );
     numberToChange.changeNumber( newValue );
     numberToChange.setConstrainedDestination( availableModelBounds, numberToChange.positionProperty.value, false );
   }
@@ -85,7 +87,8 @@
    *
    * @param {PaperNumber} paperNumber
    */
-  removePaperNumber( paperNumber ) {
+  removePaperNumber( paperNumber, callLocation ) {
+    console.log( 'removing paperNumber ' + paperNumber.id + callLocation );
     this.paperNumbers.remove( paperNumber );
   }

@jonathanolson
Copy link
Contributor

It appears end is still being called on the dragListener after this. @jonathanolson is this expected? (does interrupting a drag call end?)

Interrupting a pressed DragListener definitely should be calling end.

@jonathanolson jonathanolson removed their assignment Jul 12, 2021
chrisklus added a commit to phetsims/counting-common that referenced this issue Jul 14, 2021
@chrisklus
Copy link
Contributor Author

@jonathanolson can you see if the above commit makes sense to you? The patch for logging above should give some context, or I'm happy to pair to talk about the problem. But CT is passing now at least.

@marlitas
Copy link
Contributor

Reviewed the commit and your fix seems reasonable, however I think I'm confused as to why a drag event is even starting for the problem Node in the first place...

For this example:

end called on 139
drag ended, looking for: 139 in tryToCombineNumbers
in collapseNumberModels: 139, 149, called from tryToCombineNumbers
removing paperNumber 149, called from collapseNumberModels
calling interruptSubtreeInput and removing paperNumberNode 149
end called on 149
drag ended, looking for: 149 in tryToCombineNumbers
assert.js:21 Assertion failed: Did not find matching Node

In the above logging 139 is the Node that was being dragged. 149 is the Node that is being removed, but there is no code in that trail that suggests to me that a drag event is triggered for 149.

I don't think your fix is breaking anything, and it obviously is fixing this problem, but I have a slight suspicion that a drag event is triggering when perhaps it shouldn't?

It may be easier to connect virtually on this @chrisklus, let me know what you think.

@marlitas marlitas assigned chrisklus and unassigned AgustinVallejo and marlitas Feb 21, 2023
@chrisklus chrisklus removed their assignment May 4, 2023
@marlitas
Copy link
Contributor

This seems like it is probably deferred until make-a-ten becomes a priority again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants