Repository navigation
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
…compose/money-request-report-transactions-a4 # Conflicts: # src/components/MoneyRequestReportView/MoneyRequestReportActionsList.tsx
…compose/money-request-report-transactions-a4 # Conflicts: # src/components/MoneyRequestReportView/MoneyRequestReportActionsList.tsx
…compose/money-request-report-transactions-a4
…compose/money-request-report-transactions-a4
dylanexpensify
left a comment
There was a problem hiding this comment.
Performance, no product input needed
|
I'll take a look at this PR shortly. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppCleanShot.2026-09-21.at.22.49.29.2.mp4Android: mWeb ChromeCleanShot.2026-09-21.at.22.59.24.4.mp4iOS: HybridAppCleanShot.2026-09-21.at.22.57.05.3.mp4iOS: mWeb SafariCleanShot.2026-09-21.at.23.00.37.5.mp4MacOS: Chrome / SafariCleanShot.2026-09-21.at.18.07.05.1.mp4 |
|
No regression found for the current change set, scroll behavior still matches latest main. However, there is an existing bug where the scroll-to-bottom |
# Conflicts: # src/components/MoneyRequestReportView/MoneyRequestReportActionsList.tsx
|
@suneox do you think there are some actions we need to perform here? Or can we just proceed? |
@sosek108 as this confirmation the |
|
@suneox I've updated test steps |
|
|
||
| const stickToBottomRef = useRef(false); | ||
| const stickToBottomTimeoutRef = useRef<NodeJS.Timeout | null>(null); | ||
| // Set when the user taps "Latest messages", cleared once the scroll reaches the bottom or the user scrolls away |
There was a problem hiding this comment.
Nit: Usually we wanna leave an empty line here
| // Set when the user taps "Latest messages", cleared once the scroll reaches the bottom or the user scrolls away | |
| // Set when the user taps "Latest messages", cleared once the scroll reaches the bottom or the user scrolls away |
There was a problem hiding this comment.
I'll add this line in next PR
There was a problem hiding this comment.
Is there a good way to add unit tests for this hook?
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.92-0 🚀
|
|
No help site changes are required for this PR, so I did not create a draft docs PR. This is a pure internal refactor. It moves the existing scroll logic out of How I checkedThe help site under
One caveat: browser control was unavailable in this run, so I could not drive NewDot on web to visually confirm the scroll behavior is unchanged. That gap does not affect the docs conclusion — even if a scroll regression existed, it would be a bug to fix in code, not a help site edit. Since there is no docs PR, there is nothing for you to review, label |
|
🚀 Deployed to production by https://github.com/lakchote in version: 9.4.92-8 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
This is PR 5 of a 10-PR stack decomposing the MoneyRequestReport list components (
MoneyRequestReportActionsList/MoneyRequestReportTransactionList) into focused hooks and presentational sub-components (issue #99919, superseding drafts #99307 and #99417).Performance

Mount scenario is a real win - distributions don't even overlap (previous branch min 25.0 > this branch max 24.9)
Zero render-count change.
Fixed Issues
$ #99919
PROPOSAL:
Tests
Offline tests
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
Nagranie.z.ekranu.2026-09-16.o.12.05.13.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
Nagranie.z.ekranu.2026-09-16.o.11.42.42.mov