While (and only) logged in on our forums, if you attempt to scroll in the opposite direction of your previous scroll (aka, the behavior that expands/collapses the toolbar at the bottom of browsers), it will cause that scroll to suddenly stop. After that, you can scroll in the same direction and it will elastic band just fine. This only seems to happen on the home page with the node list and when viewing a node's posts/threads. This has been bugging me for awhile and I for the life of me cannot figure out what is causing this. I have tried:
I am MAYBE thinking that XenForo's sticky nav handler fires on every single scroll event calling getBoundingClientRect() and XF.layoutChange(). On iOS (I was using Brave and Firefox), changing scroll direction triggers the browser toolbar animation, which changes window.innerHeight. This viewport change cascades into sticky recalculation then layout invalidation, briefly blocking the scroll. Safari does not seem to have this issue.
Has anyone else encountered this or found a fix?
I've attached a vid below
View attachment ps_demo_compressed.mp4
- Switching to the default XenForo style (not the custom theme)
- Removing scroll-behavior: smooth from html tag.
- Disabling position: sticky on the navigation bar via CSS
- Replacing XenForo's scroll-event-based sticky header detection (checkIsSticky polling getBoundingClientRect + firing XF.layoutChange on every scroll event) with which didn't work.
I am MAYBE thinking that XenForo's sticky nav handler fires on every single scroll event calling getBoundingClientRect() and XF.layoutChange(). On iOS (I was using Brave and Firefox), changing scroll direction triggers the browser toolbar animation, which changes window.innerHeight. This viewport change cascades into sticky recalculation then layout invalidation, briefly blocking the scroll. Safari does not seem to have this issue.
Has anyone else encountered this or found a fix?
I've attached a vid below
View attachment ps_demo_compressed.mp4