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.56k stars 2.9k forks source link

Android - Settings - Blank page is displayed after tapping the profile icon for a newly created account #10100

Closed kavimuru closed 2 years ago

kavimuru 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. Open the test app
  2. In the email field, enter a Gmail email address for a new account and Continue
  3. Navigate to the email inbox of the account and open the validation email
  4. Tap the validation link and set a password that follows the password requirements
  5. Tap the profile icon at the right top

Expected Result:

The setting page is displayed after tapping the profile icon for the newly created account

Actual Result:

The blank page is displayed after tapping the profile icon for the newly created account

Workaround:

Unknown

Platform:

Where is this issue occurring?

Version Number: 1.1.86-0

Reproducible in staging?: Y

Reproducible in production?: N

Email or phone of affected tester (no customers):

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

Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/180902822-ba03eae1-965c-449e-8d39-2a31ccece9b1.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.
marcaaron commented 2 years ago

FWIW wasn't able to reproduce this on a hardware device Galaxy S8 running latest beta version of the app.

luacmartins commented 2 years ago

I couldn't repro this on the simulator. @kavimuru can you please test this again?

kavimuru commented 2 years ago

@luacmartins We will retest and confirm.

mvtglobally commented 2 years ago

@luacmartins Issue is still repro on the original build, we will recheck once Android build is updated and available

https://user-images.githubusercontent.com/43995119/181137735-419a60a5-e46c-4f0a-badb-49fb812acf14.mp4

luacmartins commented 2 years ago

It seems like we can't reproduce this internally. I'll remove it from the blocker list and keep it open to investigate further.

luacmartins commented 2 years ago

@kavimuru can we add this to the KI tests?

neil-marcellini commented 2 years ago

I'm now able to reproduce this internally on dev for both the staging and main branches. I'll work on this one too since it seems very much related to https://github.com/Expensify/App/issues/10099

Action performed:

  1. generate a new @gmail.com account ../script/clitools.sh generator:account
  2. Sign into the account and Android
  3. Click the profile icon in the top right to open the settings page

Note, I'm also able to reproduce with an \@expensifail domain.

neil-marcellini commented 2 years ago

I did a lot of debugging on this today and my conclusion is that for some reason the OpenApp network request is failing on Android. I can see other requests succeeding, but not this one. Since it works fine on iOS, I'm guessing something about the Android http client doesn't like the request we are sending.

I'm also a bit suspicious of the json_decode line here. I'll look into it more later.

Here's some logs ``` 2022-08-02T22:31:43.768000+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] Making API request ~~ command: 'OpenApp' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768475+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] Making API request ~~ command: 'User_FixAccount' shouldUseSecure: '' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768534+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] [Onyx] set() called for key: network properties: isOffline ~~ parameters: '' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768695+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] Navigating to route ~~ path: '/' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768761+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] Navigating to route ~~ path: '/r/44' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768917+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] [Onyx] set() called for key: session properties: loading,shouldShowComposeInput,authToken,accountID,email,encryptedAuthToken ~~ parameters: '' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.768985+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] [Onyx] set() called for key: currentlyViewedReportID ~~ parameters: '' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.769045+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [hmmm] [Network] Error: Connection interruption likely ~~ message: 'Network request failed' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.769167+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [info] [NetworkConnection] recheck NetInfo ~~ parameters: '' userAgent: 'okhttp/4.10.0' 2022-08-02T22:31:43.769226+00:00 expensidev2004 php-fpm: Zu41Hc /api.php android-settings@expensifail.com !ecash1.1.87-8! ?api? [info] [hmmm] [Network] Handled error when making request ~~ userAgent: 'okhttp/4.10.0' ```
luacmartins commented 2 years ago

Thanks for looking into this @neil-marcellini! It's weird that the call is failing on android, I'll try to join this investigation tomorrow!

neil-marcellini commented 2 years ago

@luacmartins I'm going to drop these Android issues to you because I'm really busy currently.

Julesssss commented 2 years ago

I built to a physical device today to try to help debug the issue but I'm unable to reproduce currently. While these logs are useful, I think the Android logs might help reveal the true error.

If anyone is able to reproduce, could they use Android Studio's Logcat window to get the native logs which should show the native stack trace.

Julesssss commented 2 years ago

I think this should be kept as a deploy blocker actually. While I haven't been able to reproduce it locally, I've been seeing this on the staging build for over a week now.

luacmartins commented 2 years ago

I have a feeling that this is already on prod, since we have had deploys since.

luacmartins commented 2 years ago

@kavimuru can we still reproduce this? I think this has been fixed here.

kavimuru commented 2 years ago

@luacmartins Checking with the team.

kavimuru commented 2 years ago

Issue is not reproduced.

https://user-images.githubusercontent.com/43996225/185931763-12cac75c-a2d5-4b72-828a-f699a88dbed1.mov

luacmartins commented 2 years ago

Thanks for confirming. Similar to the other android specific issues, I think we solved it in https://github.com/Expensify/Web-Expensify/pull/34497. Closing this issue.