Fix/68262 - Invoice details page opens when clicking on Concierge on the whisper in invoice thread#71907
Conversation
…isper in invoice thread
|
@QichenZhu 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] |
|
@QichenZhu I noticed that the report preview avatar for IOU in invoice chats and policy expense chats is different, so I made a slight adjustment to the condition to keep it consistent with the current staging. If we use the condition mentioned in this comment, the report preview avatar for invoice chats will match that of policy expense chats. Do you think we should display it like policy expense chats? I recall there was an issue where we always wanted to show the sender. 2025-10-06.22-31-30.mp4 |
|
@dmkt9, what's the difference between the condition in this PR and the one in this comment? Could you share screenshots comparing them? |
@QichenZhu It seems that |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid-native.webmAndroid: mWeb Chromeandroid-web.webmiOS: HybridAppios-native.moviOS: mWeb Safariios-web.movMacOS: Chrome / Safarimac-web.movMacOS: Desktopmac-desktop.mov |
Oh, thanks for pointing it out. That’s right. #67547 causes |
…isper in invoice thread
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 24 files with indirect coverage changes 🚀 New features to boost your workflow:
|
This just covers up the FE/BE mismatch. We need to fix it instead. Let's check with internal engineer whether to address this on the FE or BE side. |
Yes, you're right. Since we always want to display the workspace avatar for the report preview of an invoice, I think it's reasonable to add this exception. At the same time, we can proceed with fixing the other issue in parallel. |
|
@luacmartins, we found a mismatch between frontend and backend data: The frontend optimistically sets Could you clarify whether these two values should exist?
The above affects how we solve the main issue. With the original proposal, if those two values exist, the user's avatar is primary, otherwise the workspace's avatar is primary. This means the display changes before and after clearing cache. Which one is expected?
|
|
@Expensify/design can you please confirm which of the preview avatars are correct for an invoice preview? #71907 (comment) |
|
I believe invoices are always sent from/by a workspace, so if that's indeed the case, I'd expect the right screenshot (after clearing cache). @shawnborton please check me on that as I think you might be a little more familiar! |
|
I think you're right. In that case, @QichenZhu wouldn't that mean that the server response is correct? |
|
I agree with that! My understanding is also that invoices can only be sent from workspaces, not individuals. |
|
Thank you all for the input! Then this PR should be good to go. |
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.2.31-0 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.2.31-2 🚀
|




Explanation of Change
Fixed Issues
$ #68262
PROPOSAL: #68262 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
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))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.native.mp4
Android: mWeb Chrome
android.mweb.mp4
iOS: Native
ios.native.mp4
iOS: mWeb Safari
ios.mweb.mp4
MacOS: Chrome / Safari
mac.safari.mp4
MacOS: Desktop
mac.desktop.mp4