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

[Apple rejecting release] Investigate splash screen issue with apple test credentials #4608

Closed
chiragsalian opened this issue Aug 12, 2021 · 57 comments
Assignees
Labels
DeployBlockerCash This issue or pull request should block deployment Engineering Hourly KSv2 Improvement Item broken or needs improvement.

Comments

@chiragsalian
Copy link
Contributor

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. On testflight iOS, log into the account shown here

Expected Result:

  1. The user should be able to login and see the chats normally

Actual Result:

Instead, you'll just see a splash screen and nothing else.
image

Workaround:

N/A

Platform:

Where is this issue occurring?

  • iOS

Seems to work fine on staging web newDot

Version Number: 1.0.84.5
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:

View all open jobs on Upwork

@chiragsalian chiragsalian added DeployBlockerCash This issue or pull request should block deployment AutoAssignerTriage Auto assign issues for triage to an available triage team member Daily KSv2 labels Aug 12, 2021
@MelvinBot
Copy link

Triggered auto assignment to @arielgreen (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

@MelvinBot MelvinBot removed the AutoAssignerTriage Auto assign issues for triage to an available triage team member label Aug 12, 2021
@chiragsalian chiragsalian added the Improvement Item broken or needs improvement. label Aug 12, 2021
@OSBotify
Copy link
Contributor

👋 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.

@MelvinBot
Copy link

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

@arielgreen
Copy link
Contributor

@chiragsalian should this be labeled External?

@arielgreen arielgreen removed their assignment Aug 12, 2021
@chiragsalian
Copy link
Contributor Author

Nope, usually deploy blockers are investigated internally.

@chiragsalian
Copy link
Contributor Author

So what i tried,

  1. I can reproduce the issue sometimes (like 1 in 4 maybe) using testflight.
  2. I have not been able to reproduce the problem on staging web newDot.
  3. I tried to reproduce the error on an iOS simulator in hopes that i could get some logs but it works without any issue on the simulator (pointed env to staging for testing)
  4. Tried to reproduce the error on my physical iOS phone (assuming that maybe the issue only happens on a physical phone). But I could not reproduce the issue on my phone too.

I seem to only sometimes get the issue on testflight. Unsure what to do next or if there is some way we can get the error logs from testflight. Unfortunately, I'll have to unassign myself from this issue since I'm OOO tomorrow.

@chiragsalian chiragsalian removed their assignment Aug 12, 2021
@iwiznia iwiznia added DeployBlockerCash This issue or pull request should block deployment and removed DeployBlockerCash This issue or pull request should block deployment labels Aug 13, 2021
@OSBotify
Copy link
Contributor

👋 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.

@iwiznia
Copy link
Contributor

iwiznia commented Aug 13, 2021

DeployBlockerCash issues should not be unassigned per the comment above. Reassigning to @Julesssss since he was the initial assignee.

@Julesssss
Copy link
Contributor

This is a tricky one.

Locating the offending PR is unlikely due to the fact that there are over 80 PRs in this deploy checklist and that the issue is only reproducible about 1/4 times. Usually, I would git-bisect to locate the problem, but this method would take days as we would need to compile an iOS build and run it multiple times to check each individual PR.

Instead, I will focus on retrieving logs for now.

@Julesssss
Copy link
Contributor

Julesssss commented Aug 13, 2021

I am not able to reproduce on a physical Android device, pointing to staging with the same credentials and version.

Log search was unfruitful due to the number of logs the test user account generates. My next plan was to reproduce it, noting the time of the event so that I could locate the logs, but we have not been able to reproduce the issue since then.

I won't have access to a physical iOS test device until Monday, so @johncschuster kindly ran some tests for me. He logged into the mentioned user account 5 times and didn't once see the issue. He also tried logging in after killing the app, but this also worked successfully. The device was an iPhone 12 Pro Max, running iOS 14.7.1

@Julesssss
Copy link
Contributor

But I could not reproduce the issue on my phone too. Unsure what to do next or if there is some way we can get the error logs from testflight

TestFlight won't be useful unfortunately as this wasn't a Crash. Our best bet would be LogSearch (no luck here), or device JS logs (not possible currently as we cannot reproduce locally).

At this point, I don't think this should remain a deploy blocker. As far as we know it occurs rarely (1/4 times) on login (a rare event for existing users), on a single platform (not Android/Web/Desktop/mWeb), possibly for a single user.

I'm going to remove thedeployBlocker label, drop the priority to Daily, and will mention this issue in #QA and ask Applause to test it too. If anyone else is able to reproduce in the meantime then we should take another look. Tagging @Expensify/mobile-deployers in case anyone disagrees with removing the label

@AndrewGable
Copy link
Contributor

I thought this is literally a deploy blocker deemed by Apple? They won't approve the app until we fix it

@AndrewGable
Copy link
Contributor

iOS was rejected because the credentials were out of date. I updated them and re-submitted it.

@AndrewGable
Copy link
Contributor

Apple is still rejecting the app due to this issue.

Guideline 2.1 - Performance - App Completeness

We discovered one or more bugs in your app. Specifically, your app failed to load content. Please review the details below and complete the next steps.

Review device details:

  • Device type: iPad
  • OS version: iOS 14.7.1

Next Steps

Please run your app on a device to reproduce the issues, then revise and submit your app for review. If at first you're unable to reproduce the issue, try the following:

  • For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce.
  • For app updates, install the new version as an update to the previous version, then follow the steps to reproduce.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

Resources

  • For information about testing apps and preparing them for review, see Technical Note TN2431: App Testing Guide.
  • To learn about troubleshooting networking issues, see About Networking.

Please see attached screenshot for details.

image

@Julesssss
Copy link
Contributor

How frustrating. I'm still not able to reproduce and we're running out of ideas here. Why are Apple able to reproduce without fail? Could it be due to IP, location, connection type? Maybe we should try limiting our device connection.

@chiragsalian
Copy link
Contributor Author

Literally re-tested and got white screen on testflight. My steps,

  1. Uninstalled new expensify app.
  2. Redownloaded it on testflight. Version 1.0.88.0. My phone OS is 14.7.1
  3. Opened the app. Logged in using these credentials
  4. Stuck on splash screen
    image

@Julesssss Julesssss added the DeployBlockerCash This issue or pull request should block deployment label Aug 27, 2021
@github-actions github-actions bot added Hourly KSv2 and removed Daily KSv2 labels Aug 27, 2021
@OSBotify
Copy link
Contributor

👋 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.

@Julesssss
Copy link
Contributor

Julesssss commented Aug 27, 2021

Thanks, @chiragsalian. It sounds to me like you saw this on your first reproduction attempt? If so, you might be the key to solving this as I followed your exact steps and had no issues at all over 8-9 attempts.

Before we can think about fixing this issue we need to be able to reliably reproduce it. Can everyone following this issue please have another attempt at reproducing? Every data point helps.

If it is still reproducible on a dev/local release build we can debug (unfortunately this has not been the case up to now). The alternative might be to work through the Testflight releases from the last month using a bisect strategy in order to locate the PR which introduced the issue -- hopefully the issue will then be obvious to us.

Testflight build: v1.0.88-8

  • ???, OS 14.7.1 ✅ (Chirag)
  • iPhone Xs, OS 14.7.1 ✅ (Conor)
  • iPhone 7, OS 13.3: ❌ (Jules)
  • iPhone SE, OS 14.7.1: ❌ (Joe)
  • ???, OS 14.7.1: ❌ (Mitch)

@Julesssss
Copy link
Contributor

Julesssss commented Aug 27, 2021

I have asked everyone on the same Testflight version to test and report back to this issue.

@isagoico would you also mind attempting to reproduce again, please? Any test runs on an iPhone running the app version v1.0.88-8 would be very helpful. We just need to know the device model and OS version.

Finally, I will reach out to Apple and retrieve their exact device info too.

@conorpendergrast
Copy link
Contributor

I just reproduced using those steps. I'm on an iPhone Xs, running 14.7.1

@MitchExpensify
Copy link
Contributor

Not able to reproduce on iPhone iOS 14.7.1 - New Expensify 1.0.88.0

Logged in ok:

image

@isagoico
Copy link

isagoico commented Aug 27, 2021

We tried on our side on build 1.0.88-0 following these steps on iPhone 6S/ 14.1 and iPhone 12 Pro and were unable to reproduce.

@roryabraham
Copy link
Contributor

Marc made a good point that this might actually be a different manifestation of the same bug I struggled through in this other PR where the splash screen would stay forever on a cold startup. TL;DR We should try replacing this code block with this:

this.hideSplash();

No idea why that fixed the splash screen issue, but I was grasping at straws and the previous code seemed pointless so I removed it and voila!

@mallenexpensify
Copy link
Contributor

Unable to reproduced following the steps Chirag outlined above.
Showing v 1.0.88.2 for NewDot - iphone 8 Plus, v 14.7.1

@Julesssss
Copy link
Contributor

Julesssss commented Aug 27, 2021

Thanks everyone 🙇‍♂️

Here's the current list:

Testflight build: v1.0.88-8

  • iPad, OS 14.7.1 ✅ (Apple)
  • ???, OS 14.7.1 ✅ (Chirag)
  • iPhone Xs, OS 14.7.1 ✅ (Conor)
  • iPhone 7, OS 13.3: ❌ (Jules)
  • iPhone SE, OS 14.7.1: ❌ (Joe)
  • ???, OS 14.7.1: ❌ (Mitch)
  • Phone 6S, OS 14.1: ❌ (Applause)
  • Phone 12, ???: ❌ (Applause)
  • iPhone 8+, OS 14.7.1: ❌ (Matt)

We're a little closer. @roryabraham provided a good hint which I'll start with next week.

@Julesssss
Copy link
Contributor

I've requested additional information from Apple, will share the results here 🤞

@AndrewGable
Copy link
Contributor

So... Apple just approved the app and now 1.0.85.9 is on production..

Screen Shot 2021-08-27 at 4 13 29 PM

@roryabraham
Copy link
Contributor

🙃

@MitchExpensify
Copy link
Contributor

MitchExpensify commented Aug 27, 2021

Soo what is the status of this issue since this happened? Wanna be sure I'm following

@roryabraham
Copy link
Contributor

roryabraham commented Aug 28, 2021

I think we should:

  1. Demote it from deploy blocker
  2. Merge the potential solution I suggested here (or maybe just this other PR that contains the same code changes 😉)
  3. Have people continue to retest, and keep it open for another release cycle. If it doesn't happen again with our guinea pigs or with the Apple reviewers, then we close it out.

Edit: On second thought, maybe it's better to cherry-pick a PR only containing the potential solution I suggested here before demoting this from deploy blocker so that it's included in this release cycle. PR here!

@MitchExpensify
Copy link
Contributor

I wonder if this is related or if anyone else is experiencing not being able to access New Expensify at all on v 1.0.88.2:

RPReplay_Final1630340155.MP4

@AndrewGable
Copy link
Contributor

Sounds great to me @roryabraham !

@botify botify closed this as completed Aug 30, 2021
@botify
Copy link

botify commented Aug 30, 2021

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@botify
Copy link

botify commented Aug 30, 2021

🚀 Deployed to staging by @cead22 in version: 1.0.88-3 🚀

platform result
🤖 android 🤖 cancelled 🔪
🖥 desktop 🖥 cancelled 🔪
🍎 iOS 🍎 cancelled 🔪
🕸 web 🕸 success ✅

@botify
Copy link

botify commented Sep 1, 2021

🚀 Deployed to production by @roryabraham in version: 1.0.90-2 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DeployBlockerCash This issue or pull request should block deployment Engineering Hourly KSv2 Improvement Item broken or needs improvement.
Projects
None yet
Development

No branches or pull requests