Remove isAtBottom state from scroll effect deps to break the re-triggering feedback loop. Use isAtBottomRef (ref) instead. Gate ResizeObserver and media load effects behind the ref so they only auto-scroll after the initial snap completes.
Remove isAtBottom state from scroll effect deps to break the re-triggering feedback loop. Use isAtBottomRef (ref) instead. Gate ResizeObserver and media load effects behind the ref so they only auto-scroll after the initial snap completes.