Fix/65792 - Chat doesn't auto-scroll when a payment is received with chat opened#69949
Conversation
|
@DylanDylann Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
trjExpensify
left a comment
There was a problem hiding this comment.
I'm not sure how I feel about this. For example, if...
- User A is scrolled back in the history looking at some context
- User B sends a message in their DM
- We auto scroll User A back to the latest message again
- User A scrolls back again to the context they were trying to find
- User B sends another message
- User A is auto scrolled to the latest message again
... that feels like it would be quite annoying, right? As such, I don't know why we think we should do the same when receiving a send money request payment in the chat. Rather, why wouldn't we:
- Leave the user where they are in the chat history
- Add the "Latest/New messages" pill to communicate there's new content below if the messages are out of view?
Am I missing something?
CC: @Expensify/design
|
Yeah I'd think we'd lean on the
To me that makes way more sense and is kinda the whole point of having the New messages pill to begin with. |
|
Yup, I agree with that! |
|
@trjExpensify @dannymcclain @shawnborton Hi, thanks for reviewing this PR. It seems the PR title and QA steps might be a bit misleading, so I’d like to clarify what this PR is about:
I’ve included a video below to demonstrate the result: 2025-09-08.10-02-11.mp4 |
|
Ah ok cool. That looks pretty good to me. |
|
Oh right, haha. Yes, the PR and steps definitely don't make that clear. We should ensure it's clear what's necessary for these two things, and ask QA to test above/below that threshold to ensure we haven't had any impact that could result in a situation that I thought could happen above.
|
|
@dmkt9 Please add a step to scroll chat in user A before receiving the payment |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2025-09-09.at.16.49.09.movAndroid: mWeb ChromeScreen.Recording.2025-09-09.at.16.48.04.moviOS: HybridAppiOS: mWeb SafariScreen.Recording.2025-09-09.at.16.48.41.movMacOS: Chrome / SafariScreen.Recording.2025-09-09.at.16.25.29.movMacOS: DesktopScreen.Recording.2025-09-09.at.16.47.19.mov |
@DylanDylann Thanks. I have just added the step. |
|
@dmkt9 From my testing, if user A scrolls the screen to above, it will not be scrolled to the bottom when receiving new payment Screen.Recording.2025-09-09.at.16.23.28.mov |
@DylanDylann Yes, the mechanism is explained here, and this behavior is expected. |
|
@dmkt9 Just noticed that. Please ignore this comment: #69949 (comment) |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/madmax330 in version: 9.2.9-0 🚀
|
|
🚀 Deployed to staging by https://github.com/madmax330 in version: 9.2.11-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 9.2.12-4 🚀
|
Explanation of Change
Fixed Issues
$ #65792
PROPOSAL: #65792 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
Precondition: Log in with two different accounts (User A,User B)
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.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.native.mp4
Android: mWeb Chrome
android.chrome.mp4
iOS: Native
ios.native.mp4
iOS: mWeb Safari
ios.safari.mp4
MacOS: Chrome / Safari
mac.safari.mp4
MacOS: Desktop
mac.desktop.mp4