fix: respect swipeDirections for fast flick dismissals - #773
Open
q121212 wants to merge 1 commit into
Open
Conversation
The onPointerUp handler dismissed toasts based on velocity alone, without checking if the swipe direction was actually allowed in swipeDirections. A fast flick in a disallowed direction still produced enough velocity (> 0.11) to trigger dismissal because onPointerMove dampened but didn't zero-out disallowed movement. Fix: check swipeDirections before dismissing, matching the intent already enforced in onPointerMove for slow swipes. Fixes emilkowalski#762
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #762
Problem
When
swipeDirectionsexcludes a direction (e.g.['top', 'right']— no left), a fast flick leftward still dismisses the toast.Root Cause
onPointerMovecorrectly dampens disallowed swipes (caps at ~15–20px), but a 100ms flick at 15px producesvelocity ≈ 0.15, which exceeds the0.11threshold inonPointerUp. The velocity check had no awareness ofswipeDirections.Fix
In
onPointerUp, compute the intended swipe direction from the sign of the displacement, then check it againstswipeDirectionsbefore allowing dismissal. This mirrors the intent already enforced inonPointerMovefor slower swipes.