From fd43d58351a1e8afe3f596afe98de001de5891c4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Mon, 22 Dec 2025 17:49:41 +0100 Subject: [PATCH] change: finished feature flag should fallback to default value --- .../featureflag/impl/DefaultFeatureFlagService.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt index f7361b69b1..74967a574d 100644 --- a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt +++ b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt @@ -25,10 +25,14 @@ class DefaultFeatureFlagService( private val featuresProvider: FeaturesProvider, ) : FeatureFlagService { override fun isFeatureEnabledFlow(feature: Feature): Flow { - return providers.filter { it.hasFeature(feature) } - .maxByOrNull(FeatureFlagProvider::priority) - ?.isFeatureEnabledFlow(feature) - ?: flowOf(feature.defaultValue(buildMeta)) + return if (feature.isFinished) { + flowOf(feature.defaultValue(buildMeta)) + } else { + providers.filter { it.hasFeature(feature) } + .maxByOrNull(FeatureFlagProvider::priority) + ?.isFeatureEnabledFlow(feature) + ?: flowOf(feature.defaultValue(buildMeta)) + } } override suspend fun setFeatureEnabled(feature: Feature, enabled: Boolean): Boolean {