fix(checkpoints): ensure remote config reads are generation consistent - #7575
fix(checkpoints): ensure remote config reads are generation consistent#7575rickvdl wants to merge 6 commits into
Conversation
4 builds increased size
RevenueCat 1.0 (1)
|
| Item | Install Size Change |
|---|---|
| DYLD.String Table | ⬆️ 90.2 kB |
| Code Signature | ⬆️ 6.0 kB |
| RevenueCat.CustomerInfoManager.CustomerInfoManager | ⬆️ 2.9 kB |
| DYLD.Exports | ⬆️ 1.7 kB |
| Strings.Unmapped | ⬆️ 1.5 kB |
BinarySizeTest 1.0 (1)
com.revenuecat.binary-size-test.local-source
⚖️ Compare build
📦 Install build
⏱️ Analyze build performance
Total install size change: ⬆️ 78.0 kB (0.54%)
Total download size change: ⬆️ 32.9 kB (0.67%)
Largest size changes
| Item | Install Size Change |
|---|---|
| 📝 RevenueCat.CustomerInfoDimensionProvider.values(for,at) | ⬆️ 7.2 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.entitlements(from) | ⬆️ 6.1 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.purchases(from,at) | ⬆️ 3.3 kB |
| Swift.Sequence.reduce(into) | ⬆️ 3.2 kB |
| Swift.UnsafeMutableBufferPointer._stableSortImpl(by) | ⬆️ 3.0 kB |
BinarySizeTest 1.0 (1)
com.revenuecat.binary-size-test.cocoapods
⚖️ Compare build
📦 Install build
⏱️ Analyze build performance
Total install size change: ⬆️ 145.0 kB (0.46%)
Total download size change: ⬆️ 36.0 kB (0.5%)
Largest size changes
| Item | Install Size Change |
|---|---|
| DYLD.String Table | ⬆️ 51.6 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.values(for,at) | ⬆️ 7.2 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.entitlements(from) | ⬆️ 6.1 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.purchases(from,at) | ⬆️ 4.3 kB |
| Swift.Sequence.reduce(into) | ⬆️ 3.6 kB |
BinarySizeTest 1.0 (1)
com.revenuecat.binary-size-test.spm
⚖️ Compare build
📦 Install build
⏱️ Analyze build performance
Total install size change: ⬆️ 77.9 kB (0.62%)
Total download size change: ⬆️ 32.1 kB (0.65%)
Largest size changes
| Item | Install Size Change |
|---|---|
| 📝 RevenueCat.CustomerInfoDimensionProvider.values(for,at) | ⬆️ 7.2 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.entitlements(from) | ⬆️ 6.1 kB |
| 📝 RevenueCat.CustomerInfoDimensionProvider.purchases(from,at) | ⬆️ 3.3 kB |
| Swift.Sequence.reduce(into) | ⬆️ 3.2 kB |
| Swift.UnsafeMutableBufferPointer._stableSortImpl(by) | ⬆️ 3.0 kB |
🛸 Powered by Emerge Tools
Comment trigger: Size diff threshold of 100.00kB exceeded
7c5a0f8 to
10617c7
Compare
10617c7 to
fd18a89
Compare
fd18a89 to
b95246d
Compare
|
@RCGitBot please test |
ajpallares
left a comment
There was a problem hiding this comment.
I think it looks good! I have some comments, the most important one about the generation Int in the operation closure not being used, I believe.
tonidero
left a comment
There was a problem hiding this comment.
Just the existing comments, but looks great to me!
|
@RCGitBot please test |




Description
Multiple remote config topic providers were doing (cache) staleness checks against the current config generation. Essentially duplicating work in the config providers that ultimately should be part of the infrastructure layer.
This PR addresses that by introducing a
RemoteConfigManager.readConsistent {}helper that will ensure the remote config generation being stable for as long as the operation. All config topic providers were updated to use this new helper.