From 5eb9bed386595e204db08626af3c0f3ec21c889b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 9 Apr 2026 11:33:08 +0200 Subject: [PATCH] Remove FF `RoomListSpaceFilters` --- .../spacefilters/SpaceFiltersPresenter.kt | 9 +--- .../spacefilters/SpaceFiltersPresenterTest.kt | 49 +------------------ .../libraries/featureflag/api/FeatureFlags.kt | 7 --- 3 files changed, 3 insertions(+), 62 deletions(-) diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenter.kt index 9813732bdb..76fce9bfec 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenter.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenter.kt @@ -17,8 +17,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import dev.zacsweers.metro.Inject import io.element.android.libraries.architecture.Presenter -import io.element.android.libraries.featureflag.api.FeatureFlagService -import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.spaces.SpaceServiceFilter import kotlinx.collections.immutable.persistentListOf @@ -27,20 +25,15 @@ import kotlinx.coroutines.flow.map @Inject class SpaceFiltersPresenter( - private val featureFlagService: FeatureFlagService, private val matrixClient: MatrixClient, ) : Presenter { @Composable override fun present(): SpaceFiltersState { - val isFeatureEnabled by featureFlagService - .isFeatureEnabledFlow(FeatureFlags.RoomListSpaceFilters) - .collectAsState(initial = false) - val availableFilters by remember { matrixClient.spaceService.spaceFiltersFlow.map { it.toImmutableList() } }.collectAsState(initial = persistentListOf()) - if (!isFeatureEnabled || availableFilters.isEmpty()) { + if (availableFilters.isEmpty()) { return SpaceFiltersState.Disabled } diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenterTest.kt index 278a268864..31a47d830f 100644 --- a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenterTest.kt +++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersPresenterTest.kt @@ -8,8 +8,6 @@ package io.element.android.features.home.impl.spacefilters import com.google.common.truth.Truth.assertThat -import io.element.android.libraries.featureflag.api.FeatureFlags -import io.element.android.libraries.featureflag.test.FakeFeatureFlagService import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.test.FakeMatrixClient import io.element.android.libraries.matrix.test.spaces.FakeSpaceService @@ -21,26 +19,9 @@ import org.junit.Test @OptIn(ExperimentalCoroutinesApi::class) class SpaceFiltersPresenterTest { - @Test - fun `present - when feature flag is disabled returns Disabled state`() = runTest { - val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to false) - ) - ) - presenter.test { - val state = awaitItem() - assertThat(state).isEqualTo(SpaceFiltersState.Disabled) - } - } - @Test fun `present - when available filters is empty returns Disabled state`() = runTest { - val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ) - ) + val presenter = createSpaceFiltersPresenter() presenter.test { val state = awaitLastSequentialItem() assertThat(state).isEqualTo(SpaceFiltersState.Disabled) @@ -48,15 +29,12 @@ class SpaceFiltersPresenterTest { } @Test - fun `present - when feature flag is enabled and filters exist returns Unselected state`() = runTest { + fun `present - when filters exist returns Unselected state`() = runTest { val spaceFilter = aSpaceServiceFilter(displayName = "Test Space") val spaceService = FakeSpaceService() val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -75,9 +53,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -99,9 +74,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -129,9 +101,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -159,9 +128,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -196,9 +162,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -224,9 +187,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -271,9 +231,6 @@ class SpaceFiltersPresenterTest { val matrixClient = FakeMatrixClient(spaceService = spaceService) val presenter = createSpaceFiltersPresenter( - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.RoomListSpaceFilters.key to true) - ), matrixClient = matrixClient, ) presenter.test { @@ -302,11 +259,9 @@ class SpaceFiltersPresenterTest { } private fun createSpaceFiltersPresenter( - featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(), matrixClient: FakeMatrixClient = FakeMatrixClient(), ): SpaceFiltersPresenter { return SpaceFiltersPresenter( - featureFlagService = featureFlagService, matrixClient = matrixClient, ) } diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index d0683fe53e..5b65a32f61 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -70,13 +70,6 @@ enum class FeatureFlags( defaultValue = { false }, isFinished = false, ), - RoomListSpaceFilters( - key = "feature.roomListSpaceFilters", - title = "Room list space filters", - description = "Allow filtering the room list by space.", - defaultValue = { true }, - isFinished = false, - ), PrintLogsToLogcat( key = "feature.print_logs_to_logcat", title = "Print logs to logcat",