Skip to content

refactor(wallet): remove account menu feature flag#27796

Merged
PatrykLucka merged 7 commits into
mainfrom
TMCU-456-get-rid-of-hamburger-menu-feature-flag
Mar 30, 2026
Merged

refactor(wallet): remove account menu feature flag#27796
PatrykLucka merged 7 commits into
mainfrom
TMCU-456-get-rid-of-hamburger-menu-feature-flag

Conversation

@PatrykLucka
Copy link
Copy Markdown
Contributor

@PatrykLucka PatrykLucka commented Mar 23, 2026

Description

Removes the mobileUxAccountMenu remote feature flag and makes the account menu permanently enabled in mobile. This eliminates runtime gating for the hamburger/account-menu experience and prevents future remote flag toggles from changing behavior.

Changelog

CHANGELOG entry: Removed the hamburger menu feature flag and permanently enabled the account menu.

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/TMCU-456

Manual testing steps

Feature: Account menu is always enabled

  Scenario: Open account menu from settings navigation
    Given the wallet is unlocked on the main home view
    When I tap the Settings tab in bottom navigation
    Then the Accounts Menu view is displayed

  Scenario: Open account menu from wallet header
    Given the wallet is unlocked on the main home view
    When I tap the hamburger menu button in the wallet header
    Then the Accounts Menu view is displayed

Screenshots/Recordings

Before

N/A

After

N/A

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Changes navigation and UI entry points around Settings/Accounts Menu, which can break deep links, back stacks, and tests if any flows still expect the legacy Settings root or removed buttons.

Overview
Makes the Accounts Menu permanently enabled by removing the mobileUxAccountMenu remote feature flag (including its selectors/tests and registry entry) and deleting related flag-constant wiring.

Updates navigation so the bottom Settings tab and SettingsFlow always start at Routes.ACCOUNTS_MENU_VIEW, and trims the legacy Settings and SecuritySettings screens by removing entries/sections now considered part of the Accounts Menu (e.g., SDK connections, contacts/permissions/about/support/request feature/lock).

Adjusts wallet header behavior and extensive E2E/test coverage to use the Accounts Menu as the new entry point for actions like notifications, contacts, and locking the app.

Written by Cursor Bugbot for commit 8077076. This will update automatically on new commits. Configure here.

@PatrykLucka PatrykLucka self-assigned this Mar 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-mobile-ux Mobile UX team label Mar 23, 2026
@PatrykLucka PatrykLucka marked this pull request as ready for review March 23, 2026 11:47
@PatrykLucka PatrykLucka requested review from a team as code owners March 23, 2026 11:47
@PatrykLucka PatrykLucka changed the title Tmcu 456 get rid of hamburger menu feature flag refactor(wallet): remove account menu feature flag Mar 23, 2026
Comment thread app/components/Views/Wallet/Wallet.view.test.tsx Outdated
@github-actions github-actions Bot added the risk-high Extensive testing required · High bug introduction risk label Mar 23, 2026
@PatrykLucka PatrykLucka force-pushed the TMCU-456-get-rid-of-hamburger-menu-feature-flag branch from c8fd3ff to 6c07a85 Compare March 23, 2026 12:59
@github-actions github-actions Bot added risk-high Extensive testing required · High bug introduction risk and removed risk-high Extensive testing required · High bug introduction risk labels Mar 23, 2026
Copy link
Copy Markdown
Contributor

@georgewrmarshall georgewrmarshall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Approving changes on behalf of @MetaMask/design-system-engineers

Copy link
Copy Markdown
Contributor

@baptiste-marchand baptiste-marchand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM on notifications files

gantunesr
gantunesr previously approved these changes Mar 23, 2026
Copy link
Copy Markdown
Member

@gantunesr gantunesr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved for accounts

wachunei
wachunei previously approved these changes Mar 24, 2026
@PatrykLucka PatrykLucka enabled auto-merge March 24, 2026 14:32
cortisiko
cortisiko previously approved these changes Mar 24, 2026
@PatrykLucka PatrykLucka force-pushed the TMCU-456-get-rid-of-hamburger-menu-feature-flag branch from 6c07a85 to c027ff6 Compare March 25, 2026 12:11
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Comment thread app/components/Views/Wallet/index.tsx
@github-actions github-actions Bot added risk-high Extensive testing required · High bug introduction risk and removed risk-high Extensive testing required · High bug introduction risk labels Mar 25, 2026
@github-actions github-actions Bot added risk-high Extensive testing required · High bug introduction risk and removed risk-high Extensive testing required · High bug introduction risk labels Mar 25, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeIdentity, SmokeWalletPlatform, FlaskBuildTests, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeMultiChainAPI, SmokeConfirmations, SmokeTrade
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: high
  • AI Confidence: 90%
click to see 🤖 AI reasoning details

E2E Test Selection:
This PR removes the mobileUxAccountMenu feature flag and makes the Account Menu (hamburger menu) the permanent, always-on navigation path for Settings. This is a significant navigation infrastructure change affecting virtually every test that:

  1. Navigates to Settings
  2. Locks the wallet
  3. Accesses contacts, notifications, or other settings items

Core changes:

  • useAccountMenuEnabled hook and selectAccountMenuEnabled selector deleted
  • TabBar.tsx now always navigates to Routes.ACCOUNTS_MENU_VIEW (no conditional)
  • MainNavigator.js SettingsFlow now always starts at Routes.ACCOUNTS_MENU_VIEW
  • TabBarComponent.tapSettings() now goes through tapAccountsMenu() first, then AccountMenu.tapSettings()
  • Settings view items (contacts, permissions, about, lock, support) removed from old conditional paths
  • Wallet view QR scanner and notification bell removed from old conditional paths
  • AccountMenu page object gains notificationsButton and tapNotifications()

Directly modified test files:

  • tests/regression/accounts/change-account-name*.spec.ts → SmokeAccounts
  • tests/regression/accounts/change-password.spec.ts → SmokeAccounts
  • tests/smoke/identity/account-syncing/account-syncing-settings-toggle.spec.ts → SmokeIdentity
  • tests/smoke/identity/contact-syncing/contact-sync-toggle.spec.ts → SmokeIdentity
  • tests/smoke/identity/contact-syncing/sync-users-contacts.spec.ts → SmokeIdentity
  • tests/smoke/notifications/enable-notifications-after-onboarding.spec.ts → SmokeNetworkAbstractions
  • tests/smoke/snaps/test-snap-management.spec.ts → FlaskBuildTests
  • tests/smoke/wallet/settings/delete-wallet.spec.ts → SmokeWalletPlatform
  • tests/smoke/wallet/settings/addressbook-*.spec.ts → SmokeWalletPlatform
  • tests/smoke/account-activity/web-socket-connection.spec.ts → SmokeWalletPlatform
  • tests/smoke/seedless/utils.ts → affects seedless flows
  • tests/regression/multichain/permissions/accounts/permission-system-delete-wallet.failing.ts → SmokeNetworkExpansion/SmokeMultiChainAPI

Broad impact via TabBarComponent.tapSettings() change:

  • tapSettings() now routes through AccountMenu first — any test using this method is affected
  • This includes: SmokeAccounts (reveal SRP, auto-lock, AES tests), SmokeTrade (swap prep), SmokeConfirmations (via swap prep), SmokeNetworkAbstractions (notification settings), SmokeNetworkExpansion (multichain permissions)

Tag dependencies per descriptions:

  • SmokeIdentity → also select SmokeAccounts and SmokeWalletPlatform
  • SmokeNetworkExpansion → also select SmokeConfirmations
  • SmokeMultiChainAPI → also select SmokeNetworkAbstractions and SmokeNetworkExpansion
  • SmokeTrade → also select SmokeConfirmations

The navigation change is fundamental and cross-cutting — the hamburger menu is now the permanent entry point to all settings flows, affecting nearly every test suite that touches settings, locking, or account management.

Performance Test Selection:
The changes are primarily navigation/routing refactoring (removing a feature flag and making AccountMenu the permanent navigation path). While TabBar.tsx is modified, the changes are structural/conditional logic removal rather than performance-impacting rendering changes. No new components are added, no list rendering changes, no data loading changes, and no state management changes that would affect performance metrics.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
16 value mismatches detected (expected — fixture represents an existing user).
View details

Copy link
Copy Markdown
Member

@gantunesr gantunesr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved for accounts CO files

Copy link
Copy Markdown
Contributor

@christopherferreira9 christopherferreira9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good for qa

@PatrykLucka PatrykLucka added this pull request to the merge queue Mar 30, 2026
Merged via the queue into main with commit 98b1414 Mar 30, 2026
196 of 199 checks passed
@PatrykLucka PatrykLucka deleted the TMCU-456-get-rid-of-hamburger-menu-feature-flag branch March 30, 2026 10:18
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 30, 2026
@metamaskbot metamaskbot added the release-7.73.0 Issue or pull request that will be included in release 7.73.0 label Mar 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.73.0 Issue or pull request that will be included in release 7.73.0 risk-high Extensive testing required · High bug introduction risk size-XL team-mobile-ux Mobile UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.