Skip to content
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

[HybridApp] Users stuck at white screen during app open #46815

Closed
2 of 6 tasks
Julesssss opened this issue Aug 5, 2024 · 13 comments
Closed
2 of 6 tasks

[HybridApp] Users stuck at white screen during app open #46815

Julesssss opened this issue Aug 5, 2024 · 13 comments
Assignees
Labels
Engineering Internal Requires API changes or must be handled by Expensify staff Reviewing Has a PR in review Weekly KSv2

Comments

@Julesssss
Copy link
Contributor

Julesssss commented Aug 5, 2024

Hybrid app is unresponsive for HybridApp users set to the NewDot experience.

Internal users are locked or held on a white screen when opening the app or signing in. This seems to occur for users set to the NewDot experience. Two methods of reproduction are listed below. Method A seems to be occasionally reproducable for users immediately after switching experiences, wheras method B seems to be easy to reproduce for large accounts or on bad connections.

There are two API commands that fail: https://www.expensify.com/_devportal/tools/logSearch/#sort=asc&size=10000&query=%22Error%20processi[…]024-07-25T00%3A00%20TO%202024-08-02T23%3A59%5D

I think this causes us to force a logout and see the white screen. it seems like a race condition of some sorts, and I do agree that it seems to be happening because of a redirect issue. I think we should make an issue and dive deeper into it while doing the rollout


Version Number: v9.0.13.4
Reproducible in staging?: Y
Reproducible in production?: Y
Slack conversation: https://expensify.slack.com/archives/C036QM0SLJK/p1722805554897749?thread_ts=1722276993.634759&cid=C036QM0SLJK

Action Performed:

Method A

  • Install the Hybrid app, version 9.0.13.4
  • Open app not logged in
  • Authenticate with an Expensify account via magic code
  • Redirected to NewDot experience
  • Switched back to Expensify classic from NewDot settings
  • Signed out of OldDot experience
  • Tried to create new account

Method B -- not 100% reproducable

  • Have the app set to NewDot experience
  • Open the app
  • It often hangs
  • Sometimes after a long time you land in the app

Workaround:

Users without redirection (non-internal users) shouldn't be affected. Switch to OldDot experience to resolve

None

Platforms:

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

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Screenshot_20240801-162957

Method A:

https://drive.google.com/file/d/141Ob-O4f1iGaikI6cAJPOQ8nx1_z92Th/view

Method B:

screen-20240805-075239.mp4
@Julesssss Julesssss added Engineering Internal Requires API changes or must be handled by Expensify staff Bug Something is broken. Auto assigns a BugZero manager. labels Aug 5, 2024
@melvin-bot melvin-bot bot added the Daily KSv2 label Aug 5, 2024
@Expensify Expensify deleted a comment from melvin-bot bot Aug 5, 2024
@Julesssss Julesssss removed the Bug Something is broken. Auto assigns a BugZero manager. label Aug 5, 2024
@Julesssss
Copy link
Contributor Author

@trjExpensify, please prioritise accordingly. Prior to release we didn't hold on this issue, and it should still be isolated to users set to the NewDot experience, but now that it is occurring on app open we may need to rethink.

@Julesssss Julesssss changed the title [Hybrid] Users stuck at white screen during app open [HybridApp] Users stuck at white screen during app open Aug 5, 2024
@trjExpensify
Copy link
Contributor

Yes, we should get to the bottom of this one before we flip the switch for new sign-ups. Who's taking the investigation on the HybridApp team?

@trjExpensify trjExpensify moved this to Release 2: Summer 2024 (Aug) in [#whatsnext] #wave-collect Aug 5, 2024
@staszekscp
Copy link
Contributor

Hey! I'll investigate what's going on here!

@staszekscp
Copy link
Contributor

Ok, I have an update number 1 😄

It seems that the main problem is the API.GetShortLivedAuthToken() command failing while being offline. Because of that we are not able to open NewDot. We just catch an exception, and display an error snackbar. Instead, I think we should call yaplOpenNewApp there with a different url. This way, we could indicate that we enter the app after an exception. However, we will have to cover well all problematic edge cases (like network problems after switching accounts).

Right now I consider creating a new native method, that would return only email of the current user logged in OldDot. This way we could compare the emails, and if they match, we would let the user into NewDot. Otherwise, we could eg. open OldDot sign in page, or display some Error page in NewDot to "try again later".

@staszekscp
Copy link
Contributor

staszekscp commented Aug 7, 2024

I'm back with update number 2 😄

I've managed to fix iOS, but I still need to do Android and some testing in order to find loopholes. However, so far it doesn't look bad:

Simulator.Screen.Recording.-.iPhone.14.Pro.-.2024-08-07.at.14.42.07.mp4

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Aug 8, 2024
@AndrewGable
Copy link
Contributor

I think I heard @war-in and @mateuuszzzzz are working on this one, can you both comment here so I can assign you both? Thanks!

@mateuuszzzzz
Copy link
Contributor

👍

@war-in
Copy link
Contributor

war-in commented Aug 21, 2024

👋

@AndrewGable AndrewGable assigned mateuuszzzzz and war-in and unassigned staszekscp Aug 21, 2024
@trjExpensify trjExpensify removed the Reviewing Has a PR in review label Sep 2, 2024
@melvin-bot melvin-bot bot added the Overdue label Sep 2, 2024
@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Weekly KSv2 Overdue labels Sep 3, 2024
Copy link

melvin-bot bot commented Sep 4, 2024

Triggered auto assignment to @francoisl, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@AndrewGable AndrewGable assigned AndrewGable and unassigned francoisl Sep 4, 2024
@github-project-automation github-project-automation bot moved this from Release 2: Summer 2024 (Aug) to Done in [#whatsnext] #wave-collect Sep 4, 2024
@mallenexpensify
Copy link
Contributor

mallenexpensify commented Sep 6, 2024

Is @ntdiary due compensation for their review on the below PR? (if so, it's $125 cuz there was no testing)

@Julesssss
Copy link
Contributor Author

Hi @mallenexpensify, yes that's correct. Please help us to pay @ntdiary for the code review and close out this issue.

@mallenexpensify
Copy link
Contributor

Contributor+: @ntdiary due $125 via NewDot

I'm assuming a regression test isn't needed here cuz it's created already as part of HybridApp, comment/reopen if anyone disagrees.

@JmillsExpensify
Copy link

$125 approved for @ntdiary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Engineering Internal Requires API changes or must be handled by Expensify staff Reviewing Has a PR in review Weekly KSv2
Projects
No open projects
Status: Done
Development

No branches or pull requests

9 participants