-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2024-12-05] [$250] Search - Empty row in "In" field when searching for messages in inaccessible group chat #52924
Comments
Triggered auto assignment to @joekaufmanexpensify ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Search - Empty row in "In" field when searching for messages in inaccessible group chat What is the root cause of that problem?For deleted report, we still display it since we build the App/src/libs/OptionsListUtils.ts Lines 637 to 668 in 0e9f934
What changes do you think we should make in order to solve the problem?Filter out
What alternative solutions did you explore? (Optional) |
Hmm, yeah we should probably just show no selection in the "in" filter in this case. I'm also curious if this only applies to group chats or other room types too? Maybe it also applies to private rooms, and then also workspace rooms (if you're removed from the workspace)? cc @luacmartins as I figure you'll have thoughts on this too. |
Job added to Upwork: https://www.upwork.com/jobs/~021859721962672586674 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ikevin127 ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Empty selected row is shown in "In" filter page. What is the root cause of that problem?When we open the "In" filter page, it will show the initial selected report. App/src/components/Search/SearchFiltersChatsSelector.tsx Lines 50 to 60 in 686b8b4
The initial selected report is assigned based on the query when we press the filter button. App/src/components/Search/SearchPageHeader.tsx Lines 330 to 334 in 686b8b4
In App/src/libs/SearchQueryUtils.ts Lines 435 to 437 in 686b8b4
But the left group chat still exists on the onyx as an empty object. It makes the filter fail to filter it out. The reason it becomes an empty object is because we set the App/src/libs/actions/Report.ts Lines 2918 to 2927 in 686b8b4
So, it becomes an empty object at the end. What changes do you think we should make in order to solve the problem?Change the
And, to be more precise, we need to filter out any report that doesn't have App/src/libs/SearchQueryUtils.ts Lines 435 to 437 in 686b8b4
This is because, if we visit a report that doesn't exist, it will be added to the onyx with an error field and the filter will include it. |
I second #52924 (comment), for reference this is the difference between the empty selected row and one that has data: Note
DIFF{
- "text": "",
+ "text": "Kevin Bader (you)",
- "alternateText": "",
+ "alternateText": "[email protected]",
"allReportErrors": {},
"brickRoadIndicator": "",
- "icons": [],
+ "icons": [
+ {
+ "id": 17070261,
+ "source": "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_22.png",
+ "type": "avatar",
+ "name": "Kevin Bader",
+ "fallbackIcon": ""
+ }
+ ],
"item": {
- "reportID": "1719280750825503"
+ "chatType": "selfDM",
+ "currency": "USD",
+ "description": "",
+ "errorFields": {},
+ "hasOutstandingChildRequest": false,
+ "hasOutstandingChildTask": false,
+ "isCancelledIOU": false,
+ "isOwnPolicyExpenseChat": false,
+ "isPinned": true,
+ "lastActionType": "CREATED",
+ "lastActorAccountID": "17070261",
+ "lastMessageHtml": "",
+ "lastMessageText": "",
+ "lastReadSequenceNumber": 0,
+ "lastReadTime": "2024-05-11 01:15:14.190",
+ "lastVisibleActionCreated": "2024-05-09 00:59:12.386",
+ "lastVisibleActionLastModified": "2024-05-09 00:59:12.386",
+ "managerID": 0,
+ "nonReimbursableTotal": 0,
+ "oldPolicyName": "",
+ "ownerAccountID": 17070261,
+ "participants": {
+ "17070261": {
+ "notificationPreference": "mute"
+ }
+ },
+ "permissions": [],
+ "policyID": "_FAKE_",
+ "private_isArchived": "",
+ "reportID": "4530749671729272",
+ "reportName": "",
+ "stateNum": 0,
+ "statusNum": 0,
+ "total": 0,
+ "type": "chat",
+ "unheldNonReimbursableTotal": 0,
+ "unheldTotal": 0,
+ "welcomeMessage": "",
+ "writeCapability": "all"
},
"tooltipText": "",
+ "tooltipText": "17070261",
- "subtitle": "",
+ "subtitle": "Your space",
- "participantsList": [],
+ "participantsList": [
+ {
+ "accountID": 17070261,
+ "avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_22.png",
+ "firstName": "Kevin",
+ "lastName": "Bader",
+ "displayName": "Kevin Bader",
+ "login": "[email protected]",
+ "pronouns": "",
+ "timezone": {
+ "automatic": true,
+ "selected": "America/Los_Angeles"
+ },
+ "phoneNumber": "",
+ "validated": true,
+ "localCurrencyCode": "USD"
+ }
+ ],
- "accountID": NaN,
+ "accountID": 17070261,
"reportID": "1719280750825503",
+ "reportID": "4530749671729272",
"hasDraftComment": false,
"keyForList": "1719280750825503",
"isDefaultRoom": false,
- "isPinned": undefined,
+ "isPinned": true,
"iouReportAmount": 0,
"iouReportID": undefined,
- "isIOUReportOwner": false,
+ "isIOUReportOwner": true,
"isChatRoom": false,
"shouldShowSubscript": false,
"isPolicyExpenseChat": false,
"isOwnPolicyExpenseChat": false,
"isExpenseReport": false,
"lastMessageText": "",
"isInvoiceRoom": false,
"isMoneyRequestReport": false,
"isThread": false,
"isTaskReport": false,
"isUnread": false,
"isSelfDM": false,
- "notificationPreference": "hidden",
+ "notificationPreference": "mute",
"isSelected": true,
+ "login": "[email protected]",
+ "phoneNumber": "",
+ "hasDraftComment": false,
+ "keyForList": "4530749671729272",
+ "isWaitingOnBankAccount": false,
+ "policyID": "_FAKE_",
+ "lastMessageText": "",
+ "private_isArchived": "",
+ "isInvoiceRoom": false,
+ "isMoneyRequestReport": false,
+ "isThread": false,
+ "isTaskReport": false,
+ "isUnread": false,
+ "isSelfDM": true
} @luacmartins Could definitely use your take on whether we should simply filter out the empty row based on the I tend to go with the second proposal as the RCA is more detailed and the solution seems more based. Wdyt ? |
Yea, I think we should go with the 2nd one and clean up this data at the source. @ikevin127 let me know if you're good with this proposal and I'll get @bernhardoj assigned to the issue |
Sure, let's go with @bernhardoj's proposal as the RCA is more detailed and the solution fixes our issue from the data source in a more comprehensive way. 🎀👀🎀 C+ reviewed |
Current assignee @luacmartins is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
📣 @ikevin127 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
PR is ready cc: @ikevin127 |
PR in review |
PR merged |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.67-9 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-12-05. 🎊 For reference, here are some details about the assignees on this issue:
|
@ikevin127 @joekaufmanexpensify @ikevin127 The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal
Do we agree 👍 or 👎. |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 9.0.65-3
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
There should be no empty row with a green checkmark
Actual Result:
There is an empty row with a green checkmark
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6672129_1732210036497.20241122_012142.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @joekaufmanexpensifyThe text was updated successfully, but these errors were encountered: