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

App Freeze when user clicks Upgrade to Plus on debug builds #1158

Closed
1 task done
CalebKL opened this issue Jul 6, 2023 · 8 comments
Closed
1 task done

App Freeze when user clicks Upgrade to Plus on debug builds #1158

CalebKL opened this issue Jul 6, 2023 · 8 comments
Labels
[Type] Bug Not functioning as intended.

Comments

@CalebKL
Copy link
Contributor

CalebKL commented Jul 6, 2023

Description

The Applications Freezes when you try to upgrade to PocketCast Plus.

Step-by-step reproduction instructions

  1. Go to Profile
  2. Click Settings(Top Right)
  3. Click Pocket Casts Plus
  4. Click to Upgrade to Plus.
  5. Try to click anything after that(Nothing works including any navigation icon(Podcast, filter, discover, back button).

Screenshots or screen recording

upgrade.mp4

Did you search for existing bug reports?

  • I have searched for existing bug reports.

Device, Operating system, and Pocket Casts app version

Samsung S22+, Android 13, Pocket Casts Version 7.42-rc-2

@CalebKL CalebKL added the [Type] Bug Not functioning as intended. label Jul 6, 2023
@mchowning
Copy link
Contributor

Thanks so much for reporting this! ❤️

I'm only able to recreate this if I:

  1. am signed in with a free account,
  2. and, more importantly, am running a debug build

I do not see this issue if I run a release build or the release apk for 7.42-rc-2. I think the release build part of this is the important part because Google Play isn't going to be able to fetch any of the subscriptions on a debug build.

Note
@Mzazi25 , would you confirm whether you see this issue if you run the 7.42-rc-2 release build from https://github.com/Automattic/pocket-casts-android/releases?

Even if this is only a debug issue, it's still worth fixing obviously—we don't want the app to hang like this. I believe the issue may be related to how OnboardingUpgradeBottomSheet is handling (or not handling) the case where no subscriptions get loaded.

@CalebKL
Copy link
Contributor Author

CalebKL commented Jul 7, 2023

This issue affects the debug builds when signed with a free account.
On the Release build, it works perfectly fine.

@CalebKL
Copy link
Contributor Author

CalebKL commented Jul 15, 2023

@mchowning I would like to take this up and fix the bug. Just a quick one:
When there's no subscription, should we first trigger the trial button before upgrading the subscription?
If this is not the case, please fill me in on how the upgrade button should work.

@mchowning
Copy link
Contributor

When there's no subscription, should we first trigger the trial button before upgrading the subscription?

I'm not entirely sure what you mean there @Mzazi25 . Before, the upgrade screen on debug builds just would not have the "Unlock all features" button (so it only had a "Not Now" option) and that seemed to work well enough. Let me know if that's not clear.

@CalebKL
Copy link
Contributor Author

CalebKL commented Jul 19, 2023

You mean instead of the "upgrade to plus" button, it would have "not now" option?

@mchowning
Copy link
Contributor

Sorry I wasn't very clear there. I was mixing up a couple of flows we have from this button:

  • The issue of the app freezing occurs if the user is logged in. In that case, I think the app should try to open the bottom sheet with the upgrade options, and then that bottom sheet should immediately close itself because there aren't any subscriptions. It would probably be good to add a Toast message just so it's clear what has happened and a call to LogBuffer.e so we can see it in the logs if it happens in production for some reason.
  • If the user is not logged in, it should still go into the onboarding flow like it does now to have them create an account. After the account is created, they should be taken on through the onboarding flow eventually getting to the Plus upgrade screen. If there are no subscriptions available because it is a debug build, the upgrade screen in the onboarding flow only has a "Not now" button. In testing this, I did encounter a separate bug where this flow was not working as expected for users who logged into pre-existing Pocket Casts accounts using Google Sign In.

Just to make sure we're on the same page, this is what I mean when I'm talking about the upgrade prompt that occurs as part of the full onboarding flow when users log into the app:

Debug build Release build

And this is what I mean when I talk about the bottom sheet upgrade prompt that is presented immediately for users who are already logged in:

The reason I am suggesting putting the handling in the OnboardingFlow (instead of adding it to the button in the PlusSettingsFragment) is that we'll avoid possibly having this same issue in other places where the user is prompted to upgrade.

With that said, if that turns out to be complicated or tricky, we could just make this button in the PlusSettingsFragment just present a toast message when there are no subscriptions available. That means we'd need to add that handling anywhere else we prompt the user for an upgrade like this, but it looks like there isn't anywhere else we need to worry about this currently, and since this only causes issues on debug builds, going with the quick-and-easy approach probably makes sense if updating the screen in the onboarding flow isn't straightforward.

@mchowning mchowning changed the title App Freeze when user clicks Upgrade to Plus App Freeze when user clicks Upgrade to Plus on debug builds Jul 19, 2023
@CalebKL
Copy link
Contributor Author

CalebKL commented Jul 22, 2023

@mchowning The pictures and the explanation are now clear.
I will make the adjustments and work on the bug

@mchowning
Copy link
Contributor

Closing because this issue is no longer happening in my testing. If I try to upgrade on a debug build now the app no longer freezes and instead just indicates that no subscriptions are available. I also re-checked that this doesn't happen on release builds.

No subscription found screen

Screenshot 2023-12-11 at 3 39 58 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Bug Not functioning as intended.
Projects
None yet
Development

No branches or pull requests

2 participants