diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesPresenter.kt index 9486e6be62..b4a2fc9339 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesPresenter.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesPresenter.kt @@ -16,6 +16,7 @@ import io.element.android.features.invite.api.SeenInvitesStore import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.ui.safety.rememberHideInvitesAvatar +import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentSetOf import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableSet @@ -29,7 +30,10 @@ class HomeSpacesPresenter( @Composable override fun present(): HomeSpacesState { val hideInvitesAvatar by client.rememberHideInvitesAvatar() - val spaceRooms by client.spaceService.spaceRoomsFlow.collectAsState(emptyList()) + val spaceRooms by remember { + client.spaceService.spaceRoomsFlow.map { it.toImmutableList() } + }.collectAsState(persistentListOf()) + val seenSpaceInvites by remember { seenInvitesStore.seenRoomIds().map { it.toImmutableSet() } }.collectAsState(persistentSetOf()) @@ -40,7 +44,7 @@ class HomeSpacesPresenter( return HomeSpacesState( space = CurrentSpace.Root, - spaceRooms = spaceRooms.toImmutableList(), + spaceRooms = spaceRooms, seenSpaceInvites = seenSpaceInvites, hideInvitesAvatar = hideInvitesAvatar, eventSink = ::handleEvents,