I have noticed that ScrollTrigger briefly switches the scroll-behavior property of my scroller (the html element) from smooth to auto and back as it toggles between isActive states.
Is this known/intentional behavior? In my case, it breaks the functionality of a native "back to top" button on the same page because the automated scroll is halted shortly after crossing the isActive threshold.
I assumed using GSAPs own ScrollToPlugin would do the trick here but that didn’t
Indeed, that's very intentional. When ScrollTrigger.refresh() runs, it basically has to tear down any pinning that it did, temporarily return the scroll to the top to do all the measurements, and then restore it (you'll never see that happen - it's transparent to the user). If you've got scroll-behavior: smooth, it totally messes that up because the browser refuses to scroll to that spot immediately. It's sorta like applying a CSS transition to a property that's being animated by GSAP. 60 times