-
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
[Awaiting checklist] [$250] IOU - App crashed after deleting IOU and relaunching app #42529
Comments
Triggered auto assignment to @twisterdotcom ( |
@twisterdotcom FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors |
We think that this bug might be related to #wave-collect - Release 1 |
ProposalPlease re-state the problem that we are trying to solve in this issue.App crashed after deleting IOU and relaunching app What is the root cause of that problem?after removing the IOU, the returned report action of the deleted IOU here is App/src/hooks/useReportIDs.tsx Lines 77 to 94 in 06f4dab
What changes do you think we should make in order to solve the problem?we need to filter null report actions first. so before the Object.values(reportActions) .filter(Boolean).map((reportAction) => { and do this in other locations if needed inside the POCScreen.Recording.2024-05-23.at.6.42.45.PM.mov |
Job added to Upwork: https://www.upwork.com/jobs/~0160e20b7c9a05d3c9 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ahmedGaber93 ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.After deleting an IOU and navigating back to the chat screen, the app crashes on restart. What is the root cause of that problem?When deleting an IOU, we set its report action id to Lines 5320 to 5326 in 8375abe
This then causes a null check crash here because we are trying to read a null value: App/src/hooks/useReportIDs.tsx Line 80 in 8375abe
What changes do you think we should make in order to solve the problem?We can check for null values and filter them out before we process them. Something like this:
What alternative solutions did you explore? (Optional)Another thing I explored was to try removing the report id completely from Onyx when deleting, but it seems that's not how Onyx is meant to work. |
Reviewing tomorrow |
This seems to be a deep Onyx issue, such |
@abzokhattab @aksh1t Thanks for the proposals. I think we need to include the offending PR in the root cause to make sure we are doing the right solution. |
Waiting on proposals updates. |
Waiting on proposals. |
@tienifr can you dig into the code and find it? |
I think the root cause is still valid.. here are my findings:
we might need to do the same here as well |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I do some investigation into onyx, I can't find the offending PR, but I found a few PRs talk about changing the way of removing null values. This issue Expensify/react-native-onyx#553 is for performance purpose related to #42654, but it changes the way that onyx used to remove null values, and it was merged in version So this issue is not reproduced on the last version of onyx @twisterdotcom I think we can hold this for #42654 which will bump onyx version to |
Great investigation @ahmedGaber93. |
Bump onyx PR #42772 still not merged. |
@twisterdotcom, @ahmedGaber93 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Bump onyx PR #42772 still not merged |
Actually sorry, this is not a blocker given this issue existed before, just the RCA changed But lets CP this as the fix is related to the Onyx update that is in staging. @abzokhattab are you able to raise the PR quickly? |
Yes no problem will work on it tomorrow morning |
The PR is ready! |
PR has been reviewed by C+ |
The PR was merged 🚀 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.85-7 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-06-28. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Payment Summary:
Waiting on the checklist @ahmedGaber93 |
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
Regression Test Proposal
Do we agree 👍 or 👎 |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 1.4.75-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
The app opens and LHN is displayed
Actual Result:
The app crashes
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6489440_1716471167435.video_2024-05-23_09-31-16.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @ahmedGaber93The text was updated successfully, but these errors were encountered: