NachoSoto
1b2f405db1
HTTPRequest.Path.health: don't cache using ETagManager (#2278 )
...
This breaks signature validation in #2267 because `PurchasesDiagnostics`
uses that endpoint with and without signature validation, so the first
time it makes a request, it stores the cached response without a
validated signature.
The best solution is to simply not send etags for this endpoint, since
it's used precisely to make sure that requests can be made with no
errors, and we wouldn't want false positives.
2023-02-13 07:02:18 -08:00
NachoSoto
88a78411f6
HTTPClient: added support for sending X-Nonce (#2214 )
...
Fixes [CSDK-631].
[CSDK-631]:
https://revenuecats.atlassian.net/browse/CSDK-631?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
2023-02-08 09:05:20 -08:00
NachoSoto
2a73f2f735
DNSChecker: simplified NetworkError initialization (#2166 )
...
`DNSChecker.errorWithBlockedHostFromError` already checks
`isBlockedAPIError` when constructing this error, so we can simplify
this to avoid calling `DNSChecker.resolvedHost` twice.
2022-12-21 08:25:23 -08:00
NachoSoto
dc41f03232
HTTPClient: replaced X-StoreKit2-Setting with X-StoreKit2-Enabled (#2118 )
...
This will be used for https://github.com/RevenueCat/khepri/pull/4843 , to
fix [SDKONCALL-160] and #2020 .
`X-StoreKit2-Setting` only told us if the apps had that setting enabled.
However, when running on an older device, `SK2` would still be disabled.
[SDKONCALL-160]:
https://revenuecats.atlassian.net/browse/SDKONCALL-160?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
2022-12-09 10:39:09 -08:00
NachoSoto
bdebc8591e
Exposed SystemInfo.observerMode to simplify code ( #2064 )
2022-11-23 11:22:29 -06:00
NachoSoto
7dee94974f
HTTPClient: added log for failed requests (#2048 )
2022-11-14 09:15:25 -08:00
NachoSoto
f06a8ce647
Created InternalAPI for "health" request ( #1971 )
2022-10-20 13:03:15 -05:00
NachoSoto
5ea158fad8
HTTPClient: added X-Client-Bundle-ID and logged on SDK initialization (#1883 )
2022-09-05 15:10:44 -07:00
NachoSoto
0bff3f65fe
Sendable support (#1795 )
...
Fixes [CSDK-379] and https://github.com/RevenueCat/purchases-ios/issues/1041#issuecomment-1206445939
[CSDK-379]: https://revenuecats.atlassian.net/browse/CSDK-379?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
### Main changes:
- `Sendable` conformances to all types that are thread-safe
- `@unchecked Sendable` for types that the compiler can't enforce, but with documentation as to why
- Made classes that aren't mocked `final` (note that this doesn't change the API, because none of these were `open` to begin with)
- Made some classes thread-safe that weren't (like `DeviceCache`)
For the non-`final` `class`es, I've actually managed to compile the SDK with all of them as `final` and `Sendable`, to make sure that making them `@unchecked Sendable` didn't hide any other issues.
### Future improvements:
- https://twitter.com/nachosoto/status/1557139992056500224?s=21&t=arWdvEzTIFANBvwqQ0vPiA
- https://twitter.com/nachosoto/status/1557141944777592832?s=21&t=arWdvEzTIFANBvwqQ0vPiA
- https://twitter.com/nachosoto/status/1557143374922059776?s=21&t=arWdvEzTIFANBvwqQ0vPiA
### Depends on:
- #1794
- #1804
- #1806
- #1807
- #1808
- #1813
- #1822
- #1823
- #1824
- #1825
- #1826
2022-08-31 13:30:38 -07:00
Joshua Liebowitz
858bef3f9b
Extract Offerings-related things into OfferingsAPI ( #1706 )
...
Extract Offerings-related things into OfferingsAPI
2022-06-16 14:00:40 -07:00