darkroomengineering / lenis

How smooth scroll should be
https://lenis.darkroom.engineering
MIT License
9.16k stars 388 forks source link

On MAC OS Sonoma, Safari V17 smoothWheel set to false won't work with overscroll-behavior: contain #298

Open cojaco opened 9 months ago

cojaco commented 9 months ago

Describe the bug On MAC OS Sonoma, Safari V17 Scrolling is not functioning properly when used in conjunction with lenis.options.smoothWheel set to false. Please remove 'overscroll-behavior: contain' from the CSS.

To Reproduce https://codepen.io/cojaco/pen/VwRqPLM

clementroche commented 9 months ago

imma investigate, note: overscroll-behavior-y: contain works

One question, why would you need overscroll-behavior: contain on body ?

cojaco commented 9 months ago

imma investigate, note: overscroll-behavior-y: contain works Thank you, that's right.

One question, why would you need overscroll-behavior: contain on body ? You are right, not needed on body.

so it's not a lenis bug, but it might be a bit unexpected if it was working fine on Mac Ventura before but not anymore after the update to sonoma and Safari V17.

clementroche commented 9 months ago

i think it could be Lenis bug since it works without, I just need time to figure it out

matthisamoto commented 9 months ago

I am seeing a page that won't scroll using mouse wheel when smoothWheel: false and overscroll-behavior: none; set on html & body

Wondering if having overscroll-behavior set in any way breaks this?

I can easily remove this for "desktop" behavior. I believe this may be a fallback for turning off overscroll on mobile devices.

Safari 17.1 macOS Ventura 13.6.2

clementroche commented 1 month ago

hey @cojaco, it seems that's a Webkit bug with passive "wheel" events listener. check this codepen without Lenis: https://codepen.io/ClementRoche/pen/WNVRQXG

I created a Webkit ticket: https://bugs.webkit.org/show_bug.cgi?id=281300