damus-io / damus

iOS nostr client
GNU General Public License v3.0
1.98k stars 287 forks source link

Purple members missing star on testflight after renewal #2149

Open alltheseas opened 4 months ago

alltheseas commented 4 months ago

What happens Aftrr I subscribe I am missing the star

What I expect to happen I expect to have a purple sub star

Link to noteID, npub

https://damus.io/nevent1qqsw0y0qlnfa4nhn8epgkk8uw73pz3qnxpv9kejr5a9zagvyz9p6e5cpz3mhxue69uhhyetvv9ujumn0wd68ytnzvuq3camnwvaz7tmwdaehgu3wd46hg6tw09mkzmrvv46zucm0d5q3wamnwvaz7tmjv4kxz7fwwpkx2cnnw3ezucm0d5q3yamnwvaz7tm0venxx6rpd9hzuur4vgjvhvhl

https://damus.io/nevent1qqswxvz8syrjyw3lcpnsf72xa4tutysd4sp3ejncvpw4fan60ydd6qqpz4mhxue69uhkummnw3ezu6twdaehgcfwvd3szxrhwden5te0wfjkccte9ehx7umhdpjhyefwvdhk6qgawaehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2aqppamhxue69uhkummnw3ezumt0d5485gge

Screenshots/video recording If applicable, add screenshots to help explain your problem.

Versions Damus version:

@danieldaquino

Hakkadaikon commented 4 months ago

@jb55 @alltheseas damus version: 1.9 (1) 90c68fed iOS version: 17.4.1

  1. I registered Damus Purple for 1 month.
  2. It was about to expire, so I went to iOS's Settings -> Subscriptions -> Purple and purchased Purple Yearly.
  3. Even after renewing my subscription, I received a notification from Damus that the expiration date was approaching, and once the one-month deadline passed, the star mark disappeared. If you select the Purple tab from Damus, the Purple deadline was the deadline before you extended it. (expired account)

Even if I change the Damus Purple subscription in the iOS settings, it doesn't seem to be reflected in Damus.

danieldaquino commented 4 months ago

Hi @Hakkadaikon, I am sorry to hear that.

If it's feasible, can you please try downgrading to the App Store version of Damus, and use it for a few hours, to see if the renewal activates with our servers? (You can always upgrade back to the TestFlight version again if needed)

(There are some differences between TestFlight and App Store, so I would like to check if that could be the source of the issue)

Hakkadaikon commented 4 months ago

@danieldaquino

version: 1.7.2 (1) 669ca0d91c9c

In the case of the App store version, there seems to be a star mark.

image

danieldaquino commented 4 months ago

Thank you very much @Hakkadaikon! I believe if you upgrade to the TestFlight version again (1.9), the star will still be there. Can you please confirm when you have a chance?

Hakkadaikon commented 4 months ago

version: 1.9 (1) 90c68fed

The stars are back, thank you!

danieldaquino commented 4 months ago

Thanks @Hakkadaikon for confirming!

danieldaquino commented 4 months ago

@jb55, I believe this issue comes from the fact that TestFlight uses the IAP Sandbox environment. It looks like if users are on TestFlight they might be unable to get/send production environment receipts.

If anyone else runs into this, we can instruct them to downgrade to the App Store version and re-upgrade to TestFlight.

To actually fix this, we might need to find a way to pull the updated transaction history directly with Apple at the users' expiry dates, so that we don't have to rely on client code sending over those receipts

jb55 commented 4 months ago

so this is only an issue for 1.7 testflight or will this happen for anyone who purchases a subscription on the current testflight ?

danieldaquino commented 4 months ago

so this is only an issue for 1.7 testflight or will this happen for anyone who purchases a subscription on the current testflight ?

This should affect all TestFlight versions. I am not worried much about initial purchases as Sandbox purchases will not charge real money, but I am worried about automatic renewals. It looks like automatic renewals are affected if the user is using TestFlight.

jb55 commented 4 months ago

is there a way to make testflight not use the sandbox environment? this seems pretty bad.

jb55 commented 4 months ago

Notes on this issue from our meeting:

To fix this, we may need to write a script that periodically checks for new IAP transactions from apple after an account has expired on the server, so that the purple star can be automatically re-added even if the user has not opened the app

alltheseas commented 4 months ago

Doesn't need iOS update