growthbook / growthbook-swift

GrowthBook iOS (Swift) SDK
MIT License
13 stars 19 forks source link

Enable path to decode encrypted features #55

Closed mgratzer closed 7 months ago

mgratzer commented 7 months ago

This PR fixes an issue with responses containing encryptedFeatures.

With encryption enabled, no features can be found inside the FeaturesViewModel. The problem can be reproduced by checking for the existence of decoded features in all FeaturesViewModelTests.

To pass the tests again I added a check if the list of unencrypted features isEmpty to enable the pah for encrypted features in this case.

There is the same isNullOrEmpty() check int the Kotlin SDK at https://github.com/growthbook/growthbook-kotlin/blob/8e693071a63194518ef074056d40f68108b7a7a2/GrowthBook/src/commonMain/kotlin/com/sdk/growthbook/features/FeaturesViewModel.kt#L102.

I was also wondering if the server response should even contain features: {} in case of enable encryption and this lead to the problem?

Sidenote: We have a similar problem with the Kotlin SDK on Android but we are still investigating the reasons.

mgratzer commented 7 months ago

@vazarkevych, could you have a look at this PR and the underlying issue, please?