From 61109c913dbdaf99de04385d44bce1f382a587cc Mon Sep 17 00:00:00 2001 From: Huu Le <20178761+huult@users.noreply.github.com> Date: Thu, 6 Mar 2025 08:53:56 +0700 Subject: [PATCH 1/2] Fix: Auto-scroll to bottom after tracking expense --- src/pages/home/report/ReportActionsList.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index 6924725eb99b6..4f0ae0cf0e94f 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -177,6 +177,8 @@ function ReportActionsList({ const [accountID] = useOnyx(ONYXKEYS.SESSION, {selector: (session) => session?.accountID}); const participantsContext = useContext(PersonalDetailsContext); + const [isScrollToBottomEnabled, setIsScrollToBottomEnabled] = useState(false); + useEffect(() => { const unsubscriber = Visibility.onVisibilityChange(() => { setIsVisible(Visibility.isVisible()); @@ -459,6 +461,7 @@ function ReportActionsList({ return; } reportScrollManager.scrollToBottom(); + setIsScrollToBottomEnabled(true); }); }, [reportScrollManager, report.reportID], @@ -667,8 +670,12 @@ function ReportActionsList({ const onLayoutInner = useCallback( (event: LayoutChangeEvent) => { onLayout(event); + if (isScrollToBottomEnabled) { + reportScrollManager.scrollToBottom(); + setIsScrollToBottomEnabled(false); + } }, - [onLayout], + [isScrollToBottomEnabled, onLayout, reportScrollManager], ); const onContentSizeChangeInner = useCallback( (w: number, h: number) => { From e86aff0a6295801123d3a67edb60855629cd12b5 Mon Sep 17 00:00:00 2001 From: Huu Le <20178761+huult@users.noreply.github.com> Date: Tue, 11 Mar 2025 16:26:01 +0700 Subject: [PATCH 2/2] remove direct call scroll to bottom --- src/pages/home/report/ReportActionsList.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index 4f0ae0cf0e94f..5c140589e4f3c 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -460,11 +460,11 @@ function ReportActionsList({ Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(report.reportID)); return; } - reportScrollManager.scrollToBottom(); + setIsScrollToBottomEnabled(true); }); }, - [reportScrollManager, report.reportID], + [report.reportID], ); useEffect(() => { // Why are we doing this, when in the cleanup of the useEffect we are already calling the unsubscribe function?