From 141e5a12ebc7808ac0796837fce1d7558fe93c92 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Thu, 20 Aug 2026 16:06:34 -0400 Subject: [PATCH] feat(featureflags): launch the New UI flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mark FeatureFlag.NewUi as launched. The controller short-circuits launched flags to their default, so the new UI is now on for everyone: a user who toggled it off during the beta is moved onto it (the stored `false` is ignored, and cleared on next launch), and the flag drops out of availableEntries so the toggle no longer renders in Labs. The v1 code the flag gated is still in the tree; tearing it out is a separate change. Also align the Labs empty state with iOS — drop the emoji and match the copy and typography of SettingsAdvancedBetaFeaturesScreen. With NewUi gone from the list, that empty state is now reachable on tracks where no other flag is visible. --- apps/flipcash/core/src/main/res/values/strings.xml | 4 ++-- .../com/flipcash/app/lab/internal/LabsScreenContent.kt | 6 +----- .../kotlin/com/flipcash/app/featureflags/FeatureFlag.kt | 7 ++++++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/flipcash/core/src/main/res/values/strings.xml b/apps/flipcash/core/src/main/res/values/strings.xml index e53cd366a..fe0c8af93 100644 --- a/apps/flipcash/core/src/main/res/values/strings.xml +++ b/apps/flipcash/core/src/main/res/values/strings.xml @@ -142,8 +142,8 @@ Version %1$s • Build %2$s%3$s - Nothing Cooking in the Lab Right Now - Check back in the next app update. + No Beta Features + There are no beta features available right now. Beta Overrides All flags are visible. Toggle off to reset flags to defaults. diff --git a/apps/flipcash/features/lab/src/main/kotlin/com/flipcash/app/lab/internal/LabsScreenContent.kt b/apps/flipcash/features/lab/src/main/kotlin/com/flipcash/app/lab/internal/LabsScreenContent.kt index a4b6e2a33..84701bb11 100644 --- a/apps/flipcash/features/lab/src/main/kotlin/com/flipcash/app/lab/internal/LabsScreenContent.kt +++ b/apps/flipcash/features/lab/src/main/kotlin/com/flipcash/app/lab/internal/LabsScreenContent.kt @@ -163,10 +163,6 @@ internal fun LabsScreenContent(viewModel: LabsScreenViewModel, onboarding: Boole modifier = Modifier.align(Alignment.Center), horizontalAlignment = Alignment.CenterHorizontally ) { - Text( - text = "\uD83D\uDE2D", - style = CodeTheme.typography.displayMedium - ) Text( text = stringResource(R.string.title_labsAreEmpty), style = CodeTheme.typography.textLarge, @@ -175,7 +171,7 @@ internal fun LabsScreenContent(viewModel: LabsScreenViewModel, onboarding: Boole Text( text = stringResource(R.string.subtitle_labsAreEmpty), - style = CodeTheme.typography.textSmall, + style = CodeTheme.typography.textMedium, color = CodeTheme.colors.textSecondary, ) } diff --git a/apps/flipcash/shared/featureflags/src/main/kotlin/com/flipcash/app/featureflags/FeatureFlag.kt b/apps/flipcash/shared/featureflags/src/main/kotlin/com/flipcash/app/featureflags/FeatureFlag.kt index 2ec50bfcb..89872b8c8 100644 --- a/apps/flipcash/shared/featureflags/src/main/kotlin/com/flipcash/app/featureflags/FeatureFlag.kt +++ b/apps/flipcash/shared/featureflags/src/main/kotlin/com/flipcash/app/featureflags/FeatureFlag.kt @@ -132,7 +132,12 @@ sealed interface FeatureFlag { data object NewUi: FeatureFlag { override val key: String = "new_ui_enabled" override val default: Boolean = true - override val launched: Boolean = false + // Launched: the new UI is now the only shell. `launched` makes the controller short-circuit + // to `default` — so a user who had toggled this OFF during the beta is moved onto it (their + // stored `false` is ignored and cleared on next launch) — and drops it from + // `availableEntries`, removing the toggle from Labs. The v1 code it gated is torn out + // separately. + override val launched: Boolean = true override val visible: Boolean = true override val persistLogOut: Boolean = true }