From f9504e8ea17ac860586bd0e942d17f352ec5bc0d Mon Sep 17 00:00:00 2001 From: Huu Le <20178761+huult@users.noreply.github.com> Date: Tue, 22 Jul 2025 14:50:50 +0700 Subject: [PATCH 1/2] Improve navigation behavior when opening expenses from report --- src/pages/home/report/ReportActionsList.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index a03ae7eec483..3bf318111db5 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -173,6 +173,7 @@ function ReportActionsList({ const isReportArchived = useReportIsArchived(report?.reportID); const [isScrollToBottomEnabled, setIsScrollToBottomEnabled] = useState(false); + const [shouldScrollToEndAfterLayout, setShouldScrollToEndAfterLayout] = useState(false); useEffect(() => { const unsubscribe = Visibility.onVisibilityChange(() => { @@ -387,9 +388,19 @@ function ReportActionsList({ if (linkedReportActionID) { return; } + + const shouldScrollToEnd = isExpenseReport(report) && isSearchTopmostFullScreenRoute(); + + if (shouldScrollToEnd) { + setShouldScrollToEndAfterLayout(true); + } + InteractionManager.runAfterInteractions(() => { setIsFloatingMessageCounterVisible(false); - reportScrollManager.scrollToBottom(); + + if (!shouldScrollToEnd) { + reportScrollManager.scrollToBottom(); + } }); // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps }, []); @@ -639,8 +650,12 @@ function ReportActionsList({ reportScrollManager.scrollToBottom(); setIsScrollToBottomEnabled(false); } + if (shouldScrollToEndAfterLayout) { + reportScrollManager.scrollToEnd(); + setShouldScrollToEndAfterLayout(false); + } }, - [isScrollToBottomEnabled, onLayout, reportScrollManager], + [isScrollToBottomEnabled, onLayout, reportScrollManager, shouldScrollToEndAfterLayout], ); const retryLoadNewerChatsError = useCallback(() => { From 3baa8e8b9f168c8be05fe12205baf537477c315b Mon Sep 17 00:00:00 2001 From: Huu Le <20178761+huult@users.noreply.github.com> Date: Mon, 28 Jul 2025 21:29:07 +0700 Subject: [PATCH 2/2] Add scroll-to-end behavior for transaction thread --- src/pages/home/report/ReportActionsList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index 2cbef671e434..9c067d701be7 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -389,7 +389,7 @@ function ReportActionsList({ return; } - const shouldScrollToEnd = isExpenseReport(report) && isSearchTopmostFullScreenRoute(); + const shouldScrollToEnd = (isExpenseReport(report) || isTransactionThread(parentReportAction)) && isSearchTopmostFullScreenRoute(); if (shouldScrollToEnd) { setShouldScrollToEndAfterLayout(true);