LHN - Keep Self DM visible while distance expense loads#93167
Conversation
|
@sobitneupane 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] |
|
@sobitneupane Kind ping here. Thanks |
|
Reviewing the PR. |
|
@KJ21-ENG Looks like the issue is no longer reproducible in staging. Could you please verify on your end? Screen.Recording.2026-06-16.at.13.50.36.mov |
sobitneupane
left a comment
There was a problem hiding this comment.
Screenshots/Videos
Android: HybridApp
Screen.Recording.2026-06-16.at.14.18.36.mov
Android: mWeb Chrome
Screen.Recording.2026-06-16.at.14.30.57.mov
iOS: HybridApp
Screen.Recording.2026-06-16.at.14.47.50.mov
iOS: mWeb Safari
Screen.Recording.2026-06-16.at.15.14.23.mov
MacOS: Chrome / Safari
Screen.Recording.2026-06-16.at.14.02.06.mov
|
@sobitneupane I verified on my end as well, and I agree this is no longer reproducible on staging. I investigated what changed since this PR is not merged yet. The staging fix appears to have come from the Onyx bump in #92897, which updated The specific Onyx fix is Expensify/react-native-onyx#791. It changed Given that, this PR is likely redundant for the current staging regression. It can still be considered defensive hardening for the case where Would like to here from you what should be done next. |
|
@KJ21-ENG Could you please try reproducing the issue by selecting an option other than
|
@sobitneupane I tried with 'Manage my team's expenses > 11-50 employees' and i was able to reproduce the issue.👀 ezyZip.45.mp4 |
|
@KJ21-ENG Could you please update the testing steps and retest the solution to ensure it still resolves the issue? I was also able to reproduce with "Something else". |
|
@sobitneupane Okay, I will update it and will test with all the options. Thanks! |
@sobitneupane Tested with all other options as well, fix is working properly. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-06-16.at.14.18.36.movAndroid: mWeb ChromeScreen.Recording.2026-06-16.at.14.30.57.moviOS: HybridAppScreen.Recording.2026-06-16.at.14.47.50.moviOS: mWeb SafariScreen.Recording.2026-06-16.at.15.14.23.movMacOS: Chrome / SafariScreen.Recording.2026-06-16.at.14.02.06.mov |
|
All yours @JmillsExpensify ! |
|
🚧 @carlosmiceli has triggered a test Expensify/App build. You can view the workflow run here. |
|
@JmillsExpensify crap, I merged by accident 🤦 |
|
✋ 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/carlosmiceli in version: 9.4.17-0 🚀
Bundle Size Analysis (Sentry): |
|
🤖 No help site changes required. I reviewed the changes in this PR against the help site articles under Why no docs update is needed: This PR is a bug fix to internal optimistic-update logic in
Since this only corrects backend optimistic behavior to match what the help site already describes, no article content needs to change. @KJ21-ENG, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR Note: no help site PR was created because no documentation changes are required. If you believe an article should be updated, reply with the specific behavior to document and I'll draft it. |
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.4.17-3 🚀
|
1 similar comment
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.4.17-3 🚀
|
Explanation of Change
This PR keeps an existing hidden Self DM visible in the LHN while a track-distance expense is still pending.
When
trackExpense()optimistically updates a Self DM report, it now normalizes the current user's hidden participant notification preference to the report's default preference. For Self DM, that default isMUTE, matching the existing optimistic Self DM creation path. This keeps the Self DM eligible for the LHN after the user navigates away while the distance expense is still loading.This also adds regression coverage for the hidden Self DM distance-track optimistic update.
Fixed Issues
$ #92552
PROPOSAL: #92552 (comment)
Tests
Manual verification completed for the onboarding options below; recordings uploaded in the Screenshots/Videos section.
Offline tests
Manual verification completed for the onboarding options below; recordings uploaded in the Screenshots/Videos section.
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.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: mWeb Chrome
android_mweb1781090220813665.mp4
iOS: Native
ios_native1781090640106857.mp4
iOS: mWeb Safari
ios_mweb1781090461770567.mp4
MacOS: Chrome / Safari
desktop_web1781090318682529.mp4