Reproduction: 1. Open this url: https://patrickhlauke.github.io/touch/gesture-touch/pointerevents.html 2. Navigate to any other url 3. Go back 4. Start swiping from the right edge of the screen to go forwards a page 5. Move your finger back to the right edge of the screen to cancel that 6. Notice that a pointerend/pointercancel event is never fired I would expect a pointercancel event to be fired as soon as the page starts moving for the back/forwards animation, or at least when the finger is lifted, but one is never fired at all causing pages to get stuck expecting more events that never come.
<rdar://problem/91825957>
Created attachment 457745 [details] Pointer swipe bug demo
I can reproduce this issue on iPhone 12 mini, OS version 15.4.1. Reproduction site: https://safari-pointer-swipe-bug.netlify.app/ I've also attached a video that showcases the bug: - Swiping from the left (go to previous page) correctly triggers `pointerdown`, then `pointerup` events. - Swiping from the right (go to next page) correctly triggers `pointerdown`, but **incorrectly** does not trigger `pointerup` afterwards. The OP expects `pointercancel` to be fired, but that would introduce an inconsistency with swiping from the left. It should be a `pointerup` event.