Skip to content

feat(featureflags): launch the New UI flag - #1286

Merged
bmc08gt merged 1 commit into
code/cashfrom
feat/launch-new-ui
Aug 20, 2026
Merged

feat(featureflags): launch the New UI flag#1286
bmc08gt merged 1 commit into
code/cashfrom
feat/launch-new-ui

Conversation

@bmc08gt

Copy link
Copy Markdown
Collaborator

Marks FeatureFlag.NewUi as launched, turning the new UI on for everyone and removing the toggle from Labs. This is the first of two changes — the v1 code teardown follows separately.

Why launched rather than just leaving default = true

default was already true, but that only covered users who never touched the toggle. InternalFeatureFlagController short-circuits launched flags in get() and observe():

if (flag.launched) return@map flag.defaultEnabled

so a persisted false from a beta tester who opted out is now ignored, and the controller's init block clears the stored preference on next launch. launched also drops the flag from availableEntries, which is what removes the row from the Labs list.

minTrack was checked and only filters the Labs list — it never gates the value.

Labs empty state

With NewUi out of the list, the empty state is now reachable on tracks where no other flag is visible, so it's aligned with iOS's SettingsAdvancedBetaFeaturesScreen: emoji dropped, copy and typography matched.

BeforeAfter
Emoji😭 displayMedium
Title"Nothing Cooking in the Lab Right Now""No Beta Features"
Subtitle"Check back in the next app update." textSmall"There are no beta features available right now." textMedium

Not in this PR

The v1 code the flag gated is still in the tree and now unreachable — the v1 AppContent, the v1 NavigationBar body, ScannerNavigationBar, BalanceScreen, and the isNewUi plumbing through CodeNavigator/MainRoot/AppScreenContent. That teardown is a separate change, along with the NavBarConfig / FeatureFlag.NavBar / Labs "Navigation Bar" screen cluster that NavBarConfig's own docs mark for removal with v1.

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.
@github-actionsgithub-actionsBot added the type: feature New functionality label Aug 20, 2026
@bmc08gt
bmc08gt merged commit 9532a6c into code/cashAug 20, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/launch-new-ui branch August 20, 2026 20:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: featureNew functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@bmc08gt