phetsims / equality-explorer

"Equality Explorer" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
2 stars 3 forks source link

[Win10 + Firefox] multitouch is broken #141

Closed KatieWoe closed 6 years ago

KatieWoe commented 6 years ago

When using a multi touch Windows 10 laptop to test scenario 13 on Firefox the test fails. Instead of being able to replace the dragged term with a new term while still holding the old one aloft, the old dragged term and its equivalent on the other side will freeze in mid air. This is for phetsims/QA/issues/144

pixelzoom commented 6 years ago

Can you please repeat the test with ?ea&log and include console output? I don't have access to a Windows 10 device with touch.

pixelzoom commented 6 years ago

Can you also please test whether this is specific to Windows 10 + Firefox? Does it occur with other Windows 10 browser? Does it occur with other touch devices?

pixelzoom commented 6 years ago

Note to self, scenario 13 is:

Scenario 13

  1. Fill the left plate with '1', nothing on the right plate.
  2. Turn the lock on.
  3. Drag a '1' off the left plate.
  4. Verify that the equivalent term '1' is created on the right side, and the inverse term '-1' is created on the plate.
  5. Before releasing the dragged term, add a term to the left plate to fill it.
  6. Release the dragged term above the plate.
  7. Verify that the dragged term and equivalent term return to their respective toolboxes, and the inverse term remains on the right plate.
KatieWoe commented 6 years ago

It does not occur on iPad 2, safari. We haven't been able to test other devices/browsers yet, but as they do, they will be added. I'll do the requested test momentarily. I did have one note of clarification, is this a multitouch only test? I may be reading it wrong but it only seems to be possible if you can drag two things at once?

pixelzoom commented 6 years ago

Yes, it's a multi-touch only test.

pixelzoom commented 6 years ago

Scenario 13 and 8 have much in common. So it's possible that the fix for Scenario 8 (#138) may also fix this issue. @KatieWoe could you please test 1.1.0-dev.1 and let me know whether the problem is present in that version?

It would be also useful to have the full problem report (browser version, etc) attached to this issue.

KatieWoe commented 6 years ago
query parameters: {
  "showGrid": false,
  "rows": 6,
  "columns": 6,
  "plateYOffset": 18,
  "maxInteger": 1000000000,
  "rewardScore": 10,
  "challenge": null,
  "locked": false,
  "lockVisible": true
} equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: sphere, weight=2 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: square, weight=3 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: sphere, weight=2 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: square, weight=3 equality-explorer_en_phet.html:1215:2442
scene: shapes, maxWeight=30 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: apple, weight=4 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: lemon, weight=5 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: orange, weight=2 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: apple, weight=4 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: lemon, weight=5 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: orange, weight=2 equality-explorer_en_phet.html:1215:2442
scene: fruits, maxWeight=30 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin1, weight=3 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin2, weight=2 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin3, weight=5 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin1, weight=3 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin2, weight=2 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: coin3, weight=5 equality-explorer_en_phet.html:1215:2442
scene: coins, maxWeight=30 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: dog, weight=11 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: cat, weight=4 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: turtle, weight=6 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: dog, weight=11 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: cat, weight=4 equality-explorer_en_phet.html:1215:2442
ObjectTermCreator: turtle, weight=6 equality-explorer_en_phet.html:1215:2442
scene: animals, maxWeight=50 equality-explorer_en_phet.html:1215:2442
scene: numbers, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: variables, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: operations, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: level 1, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: level 2, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: level 3, maxWeight=30 equality-explorer_en_phet.html:1215:2442
scene: level 4, maxWeight=30 equality-explorer_en_phet.html:1215:2442
Grid: compacting holes identified in column 1 equality-explorer_en_phet.html:1215:2442
Grid: compacting holes identified in column 2 equality-explorer_en_phet.html:1215:2442
Lock pressed, value=true equality-explorer_en_phet.html:1215:2442

frozen 1 I don't see anything coming up on the council. If you want I can bring the laptop to you to show you.

KatieWoe commented 6 years ago

Test device: Dell Laptop Operating System: Windows 10 Browser: Firefox 61 Problem description: When using a multi touch Windows 10 laptop to test scenario 13 on Firefox the test fails. Instead of being able to replace the dragged term with a new term while still holding the old one aloft, the old dragged term and its equivalent on the other side will freeze in mid air. This is for phetsims/QA#144 Steps to reproduce:

  1. Go to the Numbers Screen.
  2. Fill the left plate with 1's
  3. Click the lock button
  4. Using the touch screen, drag a one off the left plate.
  5. While holding the one off the left plate, use another finger to grab another 1 in the left toolbox.
  6. As soon as you touch the new one, you will be unable to drag it and the first one and its equivalent term will be frozen.
  7. Once the frozen 1 is let go of you will be able to use the toolbox, but the two terms will remain frozen above.

Troubleshooting information (do not edit):

Name: ‪Equality Explorer‬ URL: https://phet-dev.colorado.edu/html/equality-explorer/1.0.0-rc.1/phet/equality-explorer_en_phet.html?ea&log Version: 1.0.0-rc.1 2018-07-13 20:18:02 UTC Flags: pixelRatioScaling User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0 Language: en-US Window: 1536x760 Pixel Ratio: 2.5/1 WebGL: WebGL 1.0 GLSL: WebGL GLSL ES 1.0 Vendor: Mozilla (Mozilla) Vertex: attribs: 16 varying: 30 uniform: 4096 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32) Max viewport: 32767x32767 OES_texture_float: true Dependencies JSON: {"assert":{"sha":"928741cf","branch":"HEAD"},"axon":{"sha":"bbf84cf1","branch":"HEAD"},"brand":{"sha":"89d28f63","branch":"HEAD"},"chipper":{"sha":"9222b8ef","branch":"HEAD"},"dot":{"sha":"383e4b02","branch":"HEAD"},"equality-explorer":{"sha":"99d0d09d","branch":"HEAD"},"joist":{"sha":"f8538192","branch":"HEAD"},"kite":{"sha":"d08fb3c7","branch":"HEAD"},"phet-core":{"sha":"e9adfb5b","branch":"HEAD"},"phet-io":{"sha":"2a3c3457","branch":"HEAD"},"phet-io-wrapper-classroom-activity":{"sha":"c1caa58b","branch":"HEAD"},"phet-io-wrapper-hookes-law-energy":{"sha":"b316cfcf","branch":"HEAD"},"phet-io-wrapper-lab-book":{"sha":"fe5cd3b9","branch":"HEAD"},"phet-io-wrappers":{"sha":"d90097d8","branch":"HEAD"},"phetcommon":{"sha":"6ec8cd89","branch":"HEAD"},"query-string-machine":{"sha":"e5007cda","branch":"HEAD"},"scenery":{"sha":"3f99fe32","branch":"HEAD"},"scenery-phet":{"sha":"80fa4ab9","branch":"HEAD"},"sherpa":{"sha":"341552b7","branch":"HEAD"},"sun":{"sha":"9b94b548","branch":"HEAD"},"tandem":{"sha":"7fd76b92","branch":"HEAD"},"twixt":{"sha":"ca04b21f","branch":"HEAD"},"vegas":{"sha":"213b6a79","branch":"HEAD"},"vibe":{"sha":"1c92302b","branch":"HEAD"}}
KatieWoe commented 6 years ago

In the link you gave me scenario 8 seems to be fixed, but scenario 13 is not.

pixelzoom commented 6 years ago

OK thanks.

And thanks for the offer to bring the laptop to me to demonstrate, but I'm off campus.

KatieWoe commented 6 years ago

According to our testing so far it also fails on Windows 10 chrome but does work on Windows 10 Edge

KatieWoe commented 6 years ago

My mistake. Windows 10 chrome does seem to work. It looks like its just windows 10 firefox so far

ghost commented 6 years ago

Conversation with @phet-steele on Slack...

SD: See if at any point a "right-click" happens, i.e. you see the right click menu.

LM: Katie does right click while reproducing her issue.

SD: I still don't think this is a problem with the scenario, it's just a gesture issue on touch-screen desktop, which is why iPad 2 is fine.

pixelzoom commented 6 years ago

@KatieWoe Looking at the console output in https://github.com/phetsims/equality-explorer/issues/141#issuecomment-405300950, I don't see "enabling assert", and that should appear if you're running with assertions enabled (query parameter ea). And based on the description in https://github.com/phetsims/equality-explorer/issues/141#issuecomment-405303070 ( "unable to drag it and the first one and its equivalent term will be frozen") I would certainly expect to see some type of assertion failure or uncaught Error. Are you certain that you are running with ?ea&log.

pixelzoom commented 6 years ago

@phet-steele said:

I still don't think this is a problem with the scenario, it's just a gesture issue on touch-screen desktop, which is why iPad 2 is fine.

@phet-steele Could you elaborate on this? It sounds like you're implying that this might be a general issue with gestures on touch-based desktop. Sort of like the Android "quick settings" menu issue that was reported in #133. If that's the case, then the problem would be in scenery's input handing subsystem, not something fixable in the sim.

pixelzoom commented 6 years ago

I met with @KatieWoe and @lmulhall-phet to reproduce and discuss this issue.

First... ?ea wasn't working because we were testing the main html file, which has assertions stripped out. I forgot to mention that the debug.html version needed to be used. That said, with ?ea&log and the debug.html, assertions were enabled, but there was no assertion failure.

Second... @phet-steele's hunch was correct. The problem is not specific to Equality Explorer (or lock Scenario 13), and is most likely due to a scenery change. It's present in recently-published sims (e.g. the entire Area Model family) but not in older published sims (e.g. Function Builder). The good news is that it appears to be specific to Win10 + Firefox on touch desktop platforms.

In general... While something is being dragged, an attempt to drag something else (i.e. an attempt to use multitouch) results in something that looks like a menu rectangle being displayed, and the drag is interrupted.

For example in Equality Explorer 1.0.0-rc.1, Variables screen: Drag a '1' out of the left toolbox, do not release it. Attempt to drag an 'x' out of the left toolbox. It will be difficult/impossible to do so. You'll see a little white box appear over the dragging '1'. It may take a couple of attempt to drag an 'x' out of the toolbox. The drag for the '1' will be canceled and the '1' will be left stranded. The '1' won't be draggable after that, and you'll need to reset the sim.

I the case of Equality Explorer, hitting this issue is not good - it requires a reset. I do not intend to investigate the impact on other published sims, but that might be useful for deciding how to prioritize this.

After discussion with @ariel-phet and @amanda-phet, it was decided that this issue will not block publication of 1.0. The affected platform represents a very small number of users, and using Chrome is a reasonable workaround. The issue should be addressed, and I'll create a scenery issue to track it.

amanda-phet commented 6 years ago

Is it worth saying in our help center that if using a touch desktop with windows 10, to not use firefox? (Also, in the scenery issue, we should verify if this occurs on windows 10 tablets as well, right?)

pixelzoom commented 6 years ago

I marked this issue as "deferred" and opened scenery issue https://github.com/phetsims/scenery/issues/837. I copied @amanda-phet's above comment to that issue. Let's continue the general discussion there.

pixelzoom commented 6 years ago

@jonathanolson What is the status of this issue? https://github.com/phetsims/special-ops/issues/112 is now closed. Was this fixed in the 1.0.1 maintenance release?

pixelzoom commented 6 years ago

According to @jonathanolson via Slack... This issue was not addressed in 1.0.1. It will be addressed in the maintenance release that is being tracked in https://github.com/phetsims/special-ops/issues/114.

jonathanolson commented 6 years ago

@pixelzoom the patches were deployed just now. Anything else to do?