From 6fa848724fd8ab2ad948baee40ab63f67e471c3b Mon Sep 17 00:00:00 2001 From: ZivSa1 Date: Wed, 10 Dec 2025 14:09:40 +0200 Subject: [PATCH 1/2] reduced scrollEventThrottle on android --- src/components/carousel/index.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/carousel/index.tsx b/src/components/carousel/index.tsx index 561fc102c2..ee1696a60a 100644 --- a/src/components/carousel/index.tsx +++ b/src/components/carousel/index.tsx @@ -308,10 +308,9 @@ class Carousel extends Component { // finished full page scroll const {currentStandingPage, currentPage} = this.state; const pagesCount = presenter.getChildrenLength(this.props); - + if (currentPage < pagesCount) { this.setState({currentStandingPage: currentPage}); - if (currentStandingPage !== currentPage) { this.props.onChangePage?.(currentPage, currentStandingPage, {isAutoScrolled: this.isAutoScrolled}); this.isAutoScrolled = false; @@ -511,7 +510,7 @@ class Carousel extends Component { showsHorizontalScrollIndicator={false} showsVerticalScrollIndicator={false} decelerationRate="fast" - scrollEventThrottle={200} + scrollEventThrottle={Constants.isAndroid ? 16 : 200} // Android needs 16ms throttle to reliably catch loop boundary during fast swipes {...others} ref={this.carousel} onScroll={animatedScrollOffset ? this.onScrollEvent : this.onScroll} From 3d389cec0dbb28b1bae9eb08579a6cacb9f7cc97 Mon Sep 17 00:00:00 2001 From: ZivSa1 <101518274+ZivSa1@users.noreply.github.com> Date: Thu, 11 Dec 2025 17:31:48 +0200 Subject: [PATCH 2/2] Add ticket reference to scrollEventThrottle comment --- src/components/carousel/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/carousel/index.tsx b/src/components/carousel/index.tsx index ee1696a60a..ba675fdb5d 100644 --- a/src/components/carousel/index.tsx +++ b/src/components/carousel/index.tsx @@ -510,7 +510,7 @@ class Carousel extends Component { showsHorizontalScrollIndicator={false} showsVerticalScrollIndicator={false} decelerationRate="fast" - scrollEventThrottle={Constants.isAndroid ? 16 : 200} // Android needs 16ms throttle to reliably catch loop boundary during fast swipes + scrollEventThrottle={Constants.isAndroid ? 16 : 200} // Android needs 16ms throttle to reliably catch loop boundary during fast swipes (Ticket 4885) {...others} ref={this.carousel} onScroll={animatedScrollOffset ? this.onScrollEvent : this.onScroll}