-
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-08-19] [HOLD for payment 2024-08-09] [$250] Associate crashes with specific logins #42651
Comments
Job added to Upwork: https://www.upwork.com/jobs/~019268795ed9fe7be1 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @getusha ( |
Triggered auto assignment to @dylanexpensify ( |
FWIW I think the code for this is the easy part - testing is the harder part. Not sure what's needed to test crashlytics locally |
I can see some ideas here for crashing the app https://stackoverflow.com/questions/11807354/how-to-crash-an-android-app-programmatically |
ProposalPlease re-state the problem that we are trying to solve in this issue.We need a way to associate crashes with IDs. What is the root cause of that problem?New feature. What changes do you think we should make in order to solve the problem?We can set the userId in crashlytics as soon as the login is done. Add the below in Expensify.tsx:
Note: We can also add email info using For testing, we can use To test native crashes: Add a new option in TestToolMenu:
To test JS crashes: Option 1: Just add Option 2: Add a new item in TestToolMenu:
Since "Check" doesn't exist, this will lead to an exception. Update firebase.json to set Note that local logs will show what data is being sent to Firebase, we can use that to verify the changes. Then, once it is on staging, then someone can check on Firebase (using the troubleshoot option). Native crash would not work on iOS debug build because we are on an old version. See invertase/react-native-firebase#6226 We can also plan to bump the Firebase version in another task. |
@ShridharGoel anyway to test it locally? |
If we have |
I think we'd definitely want to set the userID as soon as we login, because the error boundary will only catch JS-level errors, not native crashes |
thanks for the proposal @ShridharGoel, but I think I'd like to see a bit more detail on:
if we can't test the 3rd part locally, maybe we can just test on staging. But for that we'd need a safe way to temporarily introduce a crash and verify that the report is sent. Maybe a button in the troubleshooting menu? |
Proposal |
@getusha to review |
ok, I think @ShridharGoel's proposal has enough detail and LGTM 👍🏼 |
📣 @getusha 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @ShridharGoel 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@roryabraham does this need a c+? |
I think a C+ could be helpful for the review. Feel free to drop if you're not interested though and we can find another volunteer |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.15-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-08-09. 🎊 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:
|
Coming up this week! |
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.18-10 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-08-19. 🎊 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 coming up! |
Payment summary: Contributor: @ShridharGoe $250 via Upwork Please apply/request! |
Confirming this is done |
$250 approved for @getusha |
Problem
When users report that their staging or production app crashed, it can be difficult to find the stacktrace for that crash after-the-fact. This makes it harder to identify and fix real-world crashes, leading to a poorer UX in terms of app quality and the level of support we can provide to users who do experience crashes.
Solution
Upon login, associate the user login with crashlytics user ID. That way, if the app crashes, the crash report will be logged along with the login for the user. Then we'll be able to search for crashes by user in the Crashlytics console, and maybe find out more.
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @dylanexpensifyThe text was updated successfully, but these errors were encountered: