From 4c8f23a0cbf813b284ed4ce9af81a91ce0feb833 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 21 Aug 2024 15:50:55 +0200 Subject: [PATCH] Add feature flag for room alias suggestions, disabled by default. --- .../impl/messagecomposer/MessageComposerPresenter.kt | 4 +++- .../android/libraries/featureflag/api/FeatureFlags.kt | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt index 114a0fdb2a..358ed8033c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt @@ -150,8 +150,10 @@ class MessageComposerPresenter @Inject constructor( } val markdownTextEditorState = rememberMarkdownTextEditorState(initialText = null, initialFocus = false) var isMentionsEnabled by remember { mutableStateOf(false) } + var isRoomAliasSuggestionsEnabled by remember { mutableStateOf(false) } LaunchedEffect(Unit) { isMentionsEnabled = featureFlagService.isFeatureEnabled(FeatureFlags.Mentions) + isRoomAliasSuggestionsEnabled = featureFlagService.isFeatureEnabled(FeatureFlags.RoomAliasSuggestions) } val cameraPermissionState = cameraPermissionPresenter.present() @@ -235,7 +237,7 @@ class MessageComposerPresenter @Inject constructor( val result = MentionSuggestionsProcessor.process( suggestion = suggestion, roomMembersState = roomMembersState, - roomAliasSuggestions = roomAliasSuggestions, + roomAliasSuggestions = if (isRoomAliasSuggestionsEnabled) roomAliasSuggestions else emptyList(), currentUserId = currentUserId, canSendRoomMention = ::canSendRoomMention, ) 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 ccc910d02c..93951003f8 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 @@ -72,6 +72,13 @@ enum class FeatureFlags( defaultValue = { true }, isFinished = false, ), + RoomAliasSuggestions( + key = "feature.roomAliasSuggestions", + title = "Room alias suggestions", + description = "Type `#` to get room alias suggestions and insert them", + defaultValue = { false }, + isFinished = false, + ), MarkAsUnread( key = "feature.markAsUnread", title = "Mark as unread",