Skip to content

Conversation

@Prithpal-Sooriya
Copy link
Contributor

@Prithpal-Sooriya Prithpal-Sooriya commented Sep 24, 2025

Description

This reuses the BIP-44 designs for the notification account settings.
I also took this as an opportunity to improve the style and spacing for the notification settings view.

NOTE - once we support multi-SRP notifications, we will probably clean up this settings page. Potentially remove the per account notification settings (notifications will be on all accounts or no accounts)

Changelog

CHANGELOG entry: refactor: cleanup notification account settings to use BIP-44 designs.

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-1260

Manual testing steps

  1. Open notification settings (settings > notifications)
  2. See account notification styles.

Screenshots/Recordings

Before

After

Screenshot 2025-11-07 at 14 04 54

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

Refactors Notifications settings to use multichain account groups (BIP-44) with AccountCell UI, updates hooks to operate on account IDs/EVM addresses, and adjusts styles and tests/e2e.

  • Notifications Settings UI (BIP-44)
    • Replace per-address UI with multichain account group UI using AccountCell and section header AccountListHeader.
    • New endContainer support in AccountCell with BalanceEndContainer for balance/menu; used to render per-account switches.
    • Updated styles (NotificationsSettings.styles) to add separators, spacing tweaks, and header layout.
  • Hooks/Logic
    • useNotificationAccountListProps now derives addresses from account IDs, normalizes EVM addresses, and exposes getEvmAddress plus ID-based isAccountLoading/isAccountEnabled.
    • Add useFirstHDWalletAccounts and update useAccountProps to return firstHDWalletGroups + avatar type.
  • Components
    • AccountsList now lists firstHDWalletGroups.data, renders NotificationOptionToggle with group item and computed EVM address, and shows a section header.
    • NotificationOptionToggle composes AccountCell and renders loading/switch via endContainer.
    • AccountListHeader accepts optional containerStyle.
  • Tests/E2E
    • Update unit tests to new account-group model and ID-based APIs; refresh snapshots.
    • E2E: add separator test ID and swipe interactions; update selectors and flow.

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

we still need to update tests and styles, which I'll get to later
@github-actions
Copy link
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.

@github-actions github-actions bot added size-L and removed size-M labels Sep 24, 2025
@Prithpal-Sooriya Prithpal-Sooriya added the run-ios-e2e-smoke Trigger iOS E2E tests on BitRise label Sep 25, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Sep 25, 2025

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 957a2c3
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/541790f6-d0f1-4279-b4ca-5f55038c7b9d

Note

  • You can rerun any failed steps by opening the Bitrise build, tapping Rebuild on the upper right then Rebuild unsuccessful Workflows
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the run-ios-e2e-smoke label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

@ngalee8311

This comment was marked as spam.

@Prithpal-Sooriya Prithpal-Sooriya added run-ios-e2e-smoke Trigger iOS E2E tests on BitRise and removed run-ios-e2e-smoke Trigger iOS E2E tests on BitRise labels Sep 29, 2025
@Prithpal-Sooriya Prithpal-Sooriya marked this pull request as ready for review September 29, 2025 09:20
@Prithpal-Sooriya Prithpal-Sooriya requested review from a team as code owners September 29, 2025 09:20
@github-actions
Copy link
Contributor

github-actions bot commented Sep 29, 2025

https://bitrise.io/ Bitrise

✅✅✅ pr_smoke_e2e_pipeline passed on Bitrise! ✅✅✅

Commit hash: 5511395
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/99085f57-76b5-407f-9ed4-c0d739d03b74

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the run-ios-e2e-smoke label on the pull request

@sonarqubecloud
Copy link

bergarces
bergarces previously approved these changes Sep 30, 2025
cortisiko
cortisiko previously approved these changes Oct 21, 2025
@Prithpal-Sooriya Prithpal-Sooriya dismissed stale reviews from cortisiko and bergarces via fbf39c0 November 7, 2025 11:40
@Prithpal-Sooriya Prithpal-Sooriya force-pushed the ASSETS-1260/notification-account-settings-bip-44-components branch from 5511395 to fbf39c0 Compare November 7, 2025 11:40
@Prithpal-Sooriya
Copy link
Contributor Author

Had to force-push since this branch was pretty out of date (and the pre-commit to merge hooks were failing).

after merging main, some places use other selectors, might as well just provide mock state to our tests
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 7, 2025

color={TextColor.Alternative}
/>
</TouchableOpacity>
{endContainer || (
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Modified so we can pass in either a custom component or rely on the existing component. Provides more flexibility.

Copy link
Contributor

@ccharly ccharly left a comment

Choose a reason for hiding this comment

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

LGTM for accounts owned files (not tested)

color={TextColor.Alternative}
/>
</TouchableOpacity>
{endContainer || (
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: I guess ?? would have been a bit more appropriate, but I'm ok with the || too 😁

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Haha good callout. Emm might visit this later since I have approvals 🤪

I've tested this feature with the team 👍🏾

Copy link
Contributor

@vinnyhoward vinnyhoward left a comment

Choose a reason for hiding this comment

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

LGTM

@Prithpal-Sooriya Prithpal-Sooriya added this pull request to the merge queue Nov 10, 2025
Merged via the queue into main with commit 1623d46 Nov 10, 2025
87 checks passed
@Prithpal-Sooriya Prithpal-Sooriya deleted the ASSETS-1260/notification-account-settings-bip-44-components branch November 10, 2025 16:32
@github-actions github-actions bot locked and limited conversation to collaborators Nov 10, 2025
@metamaskbot metamaskbot added the release-7.60.0 Issue or pull request that will be included in release 7.60.0 label Nov 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.60.0 Issue or pull request that will be included in release 7.60.0 run-ios-e2e-smoke Trigger iOS E2E tests on BitRise size-L team-assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants