Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.51k stars 2.87k forks source link

Report - App crashed when open a conversation with a specific account #25874

Closed lanitochka17 closed 1 year ago

lanitochka17 commented 1 year ago

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Action Performed:

Precondition: user should be logged in

  1. Open app on main testing device with account A (it could be any
  2. Open app on the second device with account B (Hohovemgo+1@gmail.com )
  3. Send message from account B to account A
  4. Open the conversation with account B on main testing device with account A

Expected Result:

Report (conversation) should be opened and message should be displayed

Actual Result:

App crashed If you kill and relaunch app after the first crash it will crash again on startup on iPad device The issue is only reproducible with account B: Hohovemgo+1@gmail.com Account A: Hohovemgo+150@gmail.com. Account B: Hohovemgo+1@gmail.com

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

Version Number: 1.3.57-0

Reproducible in staging?: Yes

Reproducible in production?: No

If this was caught during regression testing, add the test name, ID and link from TestRail:

Email or phone of affected tester (no customers):

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/78819774/f22a2fe6-cbe2-414f-8c71-ee30421eff56

https://github.com/Expensify/App/assets/78819774/fa63f174-9978-4a7a-8014-55a8f479b643

Expensify/Expensify Issue URL:

Issue reported by: Applause - Internal Team

Slack conversation:

View all open jobs on GitHub

OSBotify commented 1 year ago

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.
melvin-bot[bot] commented 1 year ago

Triggered auto assignment to @dangrous (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

roryabraham commented 1 year ago

Doesn't look like these crashes (or any iOS crashes, for that matter...) are being captured in Crashlytics

dangrous commented 1 year ago

i don't see anything weird in the logs, im going to try starting a conversation from a different account to that account and see if it still happens

roryabraham commented 1 year ago

The only potential hint I'm seeing in logs is:

TransactionIDs are not converted to string

Not sure if that's a red herring or not though. Maybe the best next step would be to:

  1. Run iOS app on dev to see logs
  2. Point dev at the staging API
  3. Supportal into the user's account (on NewDot), see if it crashes and you can get logs
dangrous commented 1 year ago

Though I just realized based on the testing steps - a message needs to be sent FROM that account right? I can't really do that in Supportal, can I?

Re that logline, it shows up a lot so I don't think it's related but you never know.

I also realized that in logsearch our email search is case-sensitive, so I found more logs searching just for hohovemgo+1@gmail.com. It seems to be connected to a lot of accounts with hobovemgo+4@gmail.com has a non valid personal details or timezone NVP, so maybe there's something there?

dangrous commented 1 year ago

This might be relevant - I looked for weirdness on the receiving account, found this request. https://www.expensify.com/_devportal/tools/logSearch/#query=request_id:(%227fbc8c204bd724bd-KBP%22)+AND+timestamp:[2023-08-24T14:14:51.726Z+TO+2023-08-24T16:14:51.726Z]&index=logs_expensify-023948

Will peruse now

dangrous commented 1 year ago

Okay I supportaled into the receiver's account and it did not crash on web, but the issue only happens on iOS and I don't think we can supportal on that

dangrous commented 1 year ago

I don't love it but I think if it's truly only this one account, and only on iOS, we might be able to not block deploy. Definitely not going to close the issue but I don't want to slow us down. What do you think, @roryabraham?

I'm trying to figure out next steps given that we have no crashlytics data nor obvious culprits in the logs, and can't otherwise reproduce.

roryabraham commented 1 year ago

the issue only happens on iOS and I don't think we can supportal on that

True.

I don't love it but I think if it's truly only this one account, and only on iOS, we might be able to not block deploy

Yeah, I think I agree here. @lanitochka17 please let us know if other accounts are able to reproduce the problem. Furthermore, ask the tester to log out and back in and see if that fixes the problem for them.

given that we have no crashlytics data nor obvious culprits in the logs, and can't otherwise reproduce

IDK if this can be arranged, but it might be easy to test by just pointing a dev app at staging and coordinating with the tester to log-in with the magic code sent to their email.

melvin-bot[bot] commented 1 year ago

@dangrous Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

dangrous commented 1 year ago

Bumping @lanitochka17 when you have time - are other accounts able to reproduce this problem? And does logging out and back in again (on both the sending and receiving accounts) fix the issue?

Thanks!

lanitochka17 commented 1 year ago

@dangrous Issue reproducible on iPhone 14 Pro Max

https://github.com/Expensify/App/assets/78819774/8c8bc9c1-8fef-42bb-82dd-8a8b53e816f0

Issue reproducible on iPad Pro 11 Pro 2nd gen

https://github.com/Expensify/App/assets/78819774/54e4f262-dc47-4258-9b97-8c1017774a80

dangrous commented 1 year ago

Got it, and are those the same "receiving" account? or are they new accounts?

And have you found it to happen with any other "sending" account other than Hohovemgo+1@gmail.com?

Lastly, did logging out and back in again in the Hohovemgo+1@gmail.com account fix anything, or is it still broken?

Thanks!

lanitochka17 commented 1 year ago

@dangrous Received message to new account from hohovemgo+1@gmail.com

https://github.com/Expensify/App/assets/78819774/2e2ae258-836d-4e62-ba4d-afaf9b81aeda

Message received for new account not from hohovemgo+1@gmail.com

https://github.com/Expensify/App/assets/78819774/cfe1f83f-10fe-472b-875b-be20f70fbb74

Strange but I was able to go to hohovemgo+1@gmail.com 2 times without failure Iphone 14 Pro Max/ios16.6

https://github.com/Expensify/App/assets/78819774/188dbfb3-fc0f-4e64-a10c-9a996d648e9d

dangrous commented 1 year ago

hm, weird! okay, will keep looking into it

melvin-bot[bot] commented 1 year ago

@dangrous Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

dangrous commented 1 year ago

Have not had a chance to look into this further. It's pretty low priority to be frank since it seems to only be affecting this account, but it would be nice to figure out why so we can make sure it won't happen to any other account. My guess is something got stored incorrectly in the db, maybe personal details? So that whenever it's sent to the front end it breaks it.

This doesn't happen on web, right @lanitochka17? I.e., we can't get console logs, can we?

Thanks!

melvin-bot[bot] commented 1 year ago

@dangrous Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] commented 1 year ago

@dangrous Eep! 4 days overdue now. Issues have feelings too...

dangrous commented 1 year ago

@lanitochka17 can you confirm that this is only happening on iOS? Trying to figure out how we can investigate further. Thanks!

lanitochka17 commented 1 year ago

@dangrous did not saw console errors related to the issue in web/desktop The issue is not reproducible in web/mweb/Android The issue is still reproducible in iOS (iPhone/Ipad)

dangrous commented 1 year ago

Got it. The next step for testing I think would be to see if I can get the account logged in on my local app. Would there be a time in the next week when we could sync up live and you can send me the magic code you get sent when I try to log in?

If it helps - or hurts - I am heading to Bali tomorrow so will be in GMT +8 instead of GMT -4

dangrous commented 1 year ago

I'm gonna change this to a weekly given that it does not seem to be affecting any other accounts (that we know of) but let me know @lanitochka17 if there's a time that might work to coordinate!

dangrous commented 1 year ago

I'm going to be OOO the next two weeks so I'll see if someone else has time to pick this up, but it's pretty low priority so I'm guessing it might stick around

dangrous commented 1 year ago

OOO, but @lanitochka17 lemme know if you want to sync up after October 17! If not, I think we might close this as not a priority, since it hasn't yet been replicated with another account.

lanitochka17 commented 1 year ago

@dangrous Hello. If the bug is not reproducible in other accounts and is of low priority, let's close it

dangrous commented 1 year ago

Okay cool, I'll close it for now but if you notice it again on additional accounts I can take another look!