PurchaseOrchestrator: always refresh receipt purchasing in sandbox#2280
Merged
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2280 +/- ##
==========================================
- Coverage 86.20% 86.18% -0.03%
==========================================
Files 186 186
Lines 12306 12299 -7
==========================================
- Hits 10609 10600 -9
- Misses 1697 1699 +2
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
aboedo
approved these changes
Feb 15, 2023
Fixes #2260 and [SDKONCALL-216]. Follow up to #2245. The change in #2245 was meant to avoid receipt refresh throttling errors (#2116). However, that was a regression when using StoreKit config files because those don't get refreshed in the backend. Unfortunately the workaround introduced in #1945 prevented us from noticing this, because we use `DangerousSettings.InternalSettings.enableReceiptFetchRetry` in our own integration tests. I added an integration test that explicitly covers this scenario. That fails without this change if disabling that dangerous setting. I thought about making that test run without the setting, but that might lead to flaky failures in CI, which is why we introduced that workaround in the first place. But at least now we have an explicit integration test for this, as well as 2 unit tests.
7c952c8 to
67ec351
Compare
NachoSoto
pushed a commit
that referenced
this pull request
Feb 15, 2023
**This is an automatic release.** ### Bugfixes * `PurchaseOrchestrator`: always refresh receipt purchasing in sandbox (#2280) via NachoSoto (@NachoSoto) * `BundleSandboxEnvironmentDetector`: always return `true` when running on simulator (#2276) via NachoSoto (@NachoSoto) * `OfferingsManager`: ensure underlying `OfferingsManager.Error.configurationError` is logged (#2266) via NachoSoto (@NachoSoto) ### Other Changes * `UserDefaultsDefaultTests`: fixed flaky failures (#2284) via NachoSoto (@NachoSoto) * `BaseBackendTest`: improved test failure message (#2285) via NachoSoto (@NachoSoto) * Updated targets and schemes for Xcode 14.2 (#2282) via NachoSoto (@NachoSoto) * `HTTPRequest.Path.health`: don't cache using `ETagManager` (#2278) via NachoSoto (@NachoSoto) * `EntitlementInfos.all`: fixed docstring (#2279) via NachoSoto (@NachoSoto) * `StoreKit2StorefrontListener`: added tests to fix flaky code coverage (#2265) via NachoSoto (@NachoSoto) * `NetworkError`: added underlying error to description (#2263) via NachoSoto (@NachoSoto) * Created `Signing.verify(message:hasValidSignature:with:)` (#2216) via NachoSoto (@NachoSoto)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2260 and SDKONCALL-216.
Follow up to #2245.
The change in #2245 was meant to avoid receipt refresh throttling errors (#2116).
However, that was a regression when using StoreKit config files because those don't get refreshed in the backend.
Unfortunately the workaround introduced in #1945 prevented us from noticing this, because we use
DangerousSettings.InternalSettings.enableReceiptFetchRetryin our own integration tests.I added an integration test that explicitly covers this scenario. That fails without this change if disabling that dangerous setting. I thought about making that test run without the setting, but that might lead to flaky failures in CI, which is why we introduced that workaround in the first place. But at least now we have an explicit integration test for this, as well as 2 unit tests.