Do not use a timer for an explicit timeout of 0 #1146
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
Press
gesture recognizer in HammerJS has problems consistently firing apressup
event following apress
event in the context of smalltime
values. This is well-known. See e.g. #1011, #836, #751.We've found that given a pair of
Press
andPan
gestures configured as below, thepressup
event will fairly consistently break ( especially when using touch input ).This particular scenario is used for detecting a
Press
for instant setting of a position andPan
gradually controlling a set position ( we specifically use this for creating a "dual-ended between" variant of theinput type="range"
):The root cause is with a granularity problem with browser timeouts as used in the
setTimeoutContext
, which causes part of the gesture logic to fire too late (or not at all). This issue and probably others like it, such as #1011, #836 or #751 can be fixed by not using a timeout at all if the gesture'stime
property is 0.