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

IOS/Android - IOU - Error page is displayed after tap the iOU badge #11995

Closed kbecciv closed 2 years ago

kbecciv commented 2 years 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:

  1. Launch the app
  2. Open the test app and sign in to any account
  3. Navigate to chat with any user
  4. Complete the request money flow
  5. Tap the IOU badge at the top of the chat screen

Expected Result:

Expanded view of the IOU is displayed after tap the IOU badge

Actual Result:

The Error page is displayed after tap the IOU badge. The same after tap the IOU badge on LHN screen.

Workaround:

Unknown

Platform:

Where is this issue occurring?

Version Number: 1.2.18.2

Reproducible in staging?: Yes

Reproducible in production?: No

Email or phone of affected tester (no customers):

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

Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/196763169-cbcf39df-7ab6-489f-82fe-24bbd15a785f.mp4

Expensify/Expensify Issue URL:

Issue reported by: Applause - Internal Team

Slack conversation:

View all open jobs on GitHub

OSBotify commented 2 years 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 2 years ago

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

neil-marcellini commented 2 years ago

I'm able to reproduce on iOS and not on Web.

https://user-images.githubusercontent.com/26260477/196769955-c8db2bec-552d-4d32-a9b3-ffb35b3c4f82.mov

neil-marcellini commented 2 years ago

Nothing in the recent PR list is jumping out to me as a likely culprit, so I'm going to run this locally and see if I can spot the problem in the logs.

neil-marcellini commented 2 years ago

Hmm I tried running iOS staging locally against the staging server and I can't reproduce there.

neil-marcellini commented 2 years ago

I found some logs of the error happening on my physical device. Now I should be able to identify the problem.

neil-marcellini commented 2 years ago

It's really hard to tell where the problem with 'actionName' is coming from since we use it in quite a few places. It's also odd that nothing on the IOUDetailsModal page seems to access actionName, it all comes from the ReportScreen.

Idk why I can't reproduce the error on dev.

neil-marcellini commented 2 years ago

I'm asking for some help in Slack now.

neil-marcellini commented 2 years ago

I found out that I wasn't actually pointing my dev environment to staging because our env.staging file is out of date and still points to the production api. However, after making that change I still can't reproduce. My next step is to try running from dev on my physical device or maybe running a release build as well.

neil-marcellini commented 2 years ago

I need to update Xcode before I can run on my physical device and that's taking quite a while to download. I asked in #deployer if anyone can help test by running locally on a physical device and getting logs.

I ran a release build on the simulator and I didn't have any problems.

neil-marcellini commented 2 years ago

Still waiting on Xcode.

sketchydroide commented 2 years ago

This seems like a blocker, was able to reproduce, will ask in #deployer for help, will take a look as well

Justicea83 commented 2 years ago

Taking a look as well

Justicea83 commented 2 years ago

I think this may be due to the PHP 8.1 upgrade. I saw some CP'ed fixes from @iwiznia here and here

Justicea83 commented 2 years ago

Can someone test the staging build with the current production API, to see if this issue is reproducible?

Justicea83 commented 2 years ago

This might be related

https://user-images.githubusercontent.com/26106822/196950499-918249cd-af0c-4954-86ac-4761c48c03b4.mp4

neil-marcellini commented 2 years ago

I'm back to working on this now. I will first make sure that I can't reproduce this on prod. If I can then it's not a deploy blocker. I know it's mentioned in the description but it's good to double check.

Next, now that Xcode is up to date, I will try to run a dev build with the staging api on my physical device.

neil-marcellini commented 2 years ago

I think this may be due to the PHP 8.1 upgrade. I saw some CP'ed fixes from @iwiznia here and here

Those changes don't seem related to me. The problem is that we are accessing 'actionName' of undefined in App. See https://github.com/Expensify/App/issues/11995#issuecomment-1284459683.

neil-marcellini commented 2 years ago

I'm not able to reproduce on my physical iOS device on prod.

neil-marcellini commented 2 years ago

Xcode is up to date now. I asked in Slack for an Apple developer admin to help me get set up to run NewDot on my device.

neil-marcellini commented 2 years ago

Weird, now I can't reproduce this bug. https://user-images.githubusercontent.com/26260477/197067999-47d6d51b-a5c1-444e-a7cb-2453ce58a9fc.MP4

@sketchydroide @Justicea83 could you try to reproduce it again? If you can't also reproduce let's close this.

neil-marcellini commented 2 years ago

Georgia confirmed that she also can not reproduce the issue here so I'm closing it. Maybe it was a backend fix 🤔