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

Integrate confirm entitlements endpoint for macOS App Store purchase #2325

Merged
merged 29 commits into from
Mar 6, 2024

Conversation

miasma13
Copy link
Contributor

@miasma13 miasma13 commented Mar 6, 2024

Task/Issue URL: https://app.asana.com/0/1200019156869587/1206498134325581/f

Description:
Integrate confirm entitlements endpoint for macOS App Store purchase with additional retries in case of failure.

Steps to test this PR:
Success scenario:

  1. Build the app for App Store purchase env.
  2. Enable Subscription logging
  3. Start the subscription purchase.
  4. When the App Store payment goes through with "You are all set" confirmation observe the logs:
  • call to purchase confirmation endpoint should be made returning the subscription and entitlement info instead of polling

Failure scenario:

  1. Open SubscriptionPagesUserScript.swift
  2. Modify AppStorePurchaseFlow.completeSubscriptionPurchase(with: purchaseTransactionJWS) into AppStorePurchaseFlow.completeSubscriptionPurchase(with: "") to make the confirmation fail.
  3. Redo the steps from the success scenario.
  4. Observe the logs
  • call to purchase confirmation endpoint should be retried 3x with 0.5s intervals

Internal references:

Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

@miasma13 miasma13 marked this pull request as ready for review March 6, 2024 09:46
@miasma13 miasma13 requested a review from afterxleep March 6, 2024 09:46
@miasma13 miasma13 merged commit c65862f into main Mar 6, 2024
16 of 17 checks passed
@miasma13 miasma13 deleted the michal/subs-confirm-endpoint branch March 6, 2024 15:34
samsymons added a commit that referenced this pull request Mar 6, 2024
# By Alexey Martemyanov (10) and others
# Via GitHub
* main: (39 commits)
  Add Peoplewhiz data broker (#2310)
  Integrate confirm entitlements endpoint for macOS App Store purchase (#2325)
  Make dbSaveBloomFilterError pixel daily and continuous (#2299)
  Subscription UI updates (#2303)
  Add email pattern on opt-out pixel (#2307)
  Use compile-time checked generated asset names (#2177)
  fix bundle name in breakByRaisingSigInt (#2319)
  BSK update for iOS autofill support to delete all passwords (#2254)
  Bump BrowserServicesKit (#2309)
  Bump version to 1.78.0 (132)
  Fix crash on popup window display; adjust naming (#2315)
  Bump version to 1.78.0 (131)
  Set marketing version to 1.78.0
  Update embedded files
  Fix parsing commit log (#2311)
  DBP: Set correct duration of submit-success pixel (#2308)
  Publish subsequent internal releases right after building (#2306)
  DBP disable pixel changes (#2293)
  Remove duplicated broker items (#2294)
  fix tab title not updated (#2302)
  ...

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants