-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[$250] Hybrid - Android - Expense - On holding&unholding second expense in workspace chat, reports page crashes. #54561
Comments
Triggered auto assignment to @bfitzexpensify ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Hybrid - Android - Expense - On holding&unholding second expense in workspace chat, reports page crashes What is the root cause of that problem?Here we are not safely calling App/src/components/Search/index.tsx Lines 92 to 93 in 12e0941
What changes do you think we should make in order to solve the problem?We should call
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?What alternative solutions did you explore? (Optional) |
Job added to Upwork: https://www.upwork.com/jobs/~021871960620990473805 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Ollyws ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.On holding&unholding second expense in workspace chat, reports page crashes. What is the root cause of that problem?Item.transactions can be App/src/components/SelectionList/types.ts Line 267 in 918488a
Then the app crashes here and no ts error. App/src/components/Search/index.tsx Line 93 in 918488a
What changes do you think we should make in order to solve the problem?We should change
App/src/components/SelectionList/types.ts Line 267 in 918488a
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?What alternative solutions did you explore? (Optional)Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. |
ProposalPlease re-state the problem that we are trying to solve in this issue.After upholding an expense, opening a search page will crash. What is the root cause of that problem?The crash happens because the App/src/components/Search/index.tsx Lines 89 to 95 in 918488a
Why? When we unhold the request, we will optimistically update the search snapshot data by merging the Lines 8450 to 8463 in 918488a
But in our case, even when doing it from the normal report screen, the snapshot is still updated and because the 2nd transaction that we unhold is never loaded on the search snapshot yet, the Btw, even if the expense/transaction is loaded, it won't have App/src/components/Search/index.tsx Lines 87 to 94 in 918488a
When we press the unhold, the function we already check first whether the topmost central pane is search page or not. If it's not, we won't pass the App/src/components/PromotedActionsBar.tsx Lines 98 to 103 in 918488a
But we only do it if we are doing a HOLD. So, if it's unhold, we always pass the search hash. What changes do you think we should make in order to solve the problem?To solve this, we need to remove App/src/components/PromotedActionsBar.tsx Lines 98 to 101 in 918488a
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?We can test PromotedActionsBar.hold directly and test 2 cases, 1 when the topmost central pane is a search report RHP and 1 when the topmost central pane is a search report central pane. What alternative solutions did you explore? (Optional)We can probably merge all the transaction data, but it's not preferable since they have different kinds of data too, such as Lines 8450 to 8463 in 918488a
Or don't update the snapshot if the transaction data isn't available inside the snapshot yet. |
@Ollyws, @bfitzexpensify Eep! 4 days overdue now. Issues have feelings too... |
Seems like @bernhardoj got the correct RCA here and their solution LGTM. |
Triggered auto assignment to @marcaaron, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
PR is ready cc: @Ollyws |
This issue has not been updated in over 15 days. @Ollyws, @marcaaron, @bfitzexpensify, @bernhardoj eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
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.78-2
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: No
Issue reported by: Applause Internal Team
Device used: Redmi note 10s Android 13
App Component: Money Requests
Action Performed:
Expected Result:
On holding&unholding second expense in workspace chat, reports page must not crash.
Actual Result:
On holding&unholding second expense in workspace chat, reports page crashes.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6701999_1735113811053!Crash.txt
Bug6701999_1735113811053.Screenrecorder-2024-12-25-13-24-59-276_compress_1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @OllywsThe text was updated successfully, but these errors were encountered: