NEW 262287
Interrupting scroll momentum causes container to not render
https://bugs.webkit.org/show_bug.cgi?id=262287
Summary Interrupting scroll momentum causes container to not render
Joffrey Jaffeux
Reported 2023-09-28 01:28:13 PDT
Created attachment 467958 [details] video of the bug Hi, I created a very simple reproduction of this issue with instructions on this codepen: https://codepen.io/joffreyjaffeux/pen/qBLKOLj In the wild I have seen the web version of telegram suffering from this exact bug, AFAIK it's been here for a long time and has not been introduced in safari/iOS17, but is still very much present in this version. This is a very common issue for chat like applications. Attached is a video of the bug you should see when using my demo. Let me know if you need any more information.
Attachments
video of the bug (183.94 KB, video/quicktime)
2023-09-28 01:28 PDT, Joffrey Jaffeux
no flags
video of bug w horizontal snap - chrome 125 (1.32 MB, video/quicktime)
2024-05-16 16:05 PDT, tally
no flags
video of bug w horizontal snap - firefox 126 (2.08 MB, video/quicktime)
2024-05-16 16:05 PDT, tally
no flags
video of bug w horizontal snap - safari 17 (1013.28 KB, video/quicktime)
2024-05-16 16:06 PDT, tally
no flags
video of horizontal snap w smooth scrolling, NO bug - safari 17 (1.37 MB, video/quicktime)
2024-05-16 16:06 PDT, tally
no flags
Radar WebKit Bug Importer
Comment 1 2023-09-28 15:18:12 PDT
tally
Comment 2 2024-05-16 16:04:52 PDT
This also happens on macOS (Safari 17.4.1) when using a trackpad, but it's harder to trigger because inertial scroll is usually cancelled when moving the mouse after scrolling. Here's a tweaked version of @Joffrey's pen with a horizontal-scrolling list with snapping enabled, which maintains scroll inertia while you move the mouse away to click the button: https://codepen.io/tally-canva/pen/GRapBBa Note the bug does NOT happen if you call `scrollTo` with `behavior: 'smooth'`. On Chrome 125, calling `scrollTo` briefly flickers to the given top/left point and then returns to continue the original inertial scroll, effectively ignoring the `scrollTo`. This is not ideal and looks like it's tracked by this Chromium bug: https://issues.chromium.org/issues/40144061 On Firefox 126, calling `scrollTo` stops the inertial scroll and immediately scrolls to the given top/left point. I've attached videos of the behaviour in Safari with and without smooth scrolling, and Chrome and Firefox.
tally
Comment 3 2024-05-16 16:05:38 PDT
Created attachment 471425 [details] video of bug w horizontal snap - chrome 125
tally
Comment 4 2024-05-16 16:05:51 PDT
Created attachment 471426 [details] video of bug w horizontal snap - firefox 126
tally
Comment 5 2024-05-16 16:06:09 PDT
Created attachment 471427 [details] video of bug w horizontal snap - safari 17
tally
Comment 6 2024-05-16 16:06:49 PDT
Created attachment 471428 [details] video of horizontal snap w smooth scrolling, NO bug - safari 17
Tegan Churchill
Comment 7 2024-10-14 16:38:15 PDT
I just came across this same bug I believe the bug only occurs when the scroll container is not the body element. Repro with scrollIntoView: https://codepen.io/tegan/pen/gOVmooM?editors=1100
Simon Fraser (smfr)
Comment 8 2025-03-07 17:53:06 PST
I can't reproduce the bug with any of the codepens on iOS, but I can on macOS.
Simon Fraser (smfr)
Comment 9 2025-03-07 17:57:47 PST
Joffrey Jaffeux
Comment 10 2025-03-08 11:13:05 PST
I can still repro on my first codepen on ios 18.3.1, just did it few minutes ago. With the exact same steps I listed above: - scroll - while scroll momentum is happend click the scroll top button
Note You need to log in before you can comment on or make changes to this bug.