Skip to content

feat(account-tree-controller): add :accountGroup{Created,Updated,Removed}#8766

Merged
ccharly merged 5 commits into
mainfrom
cc/feat/account-tree-controller-group-events
May 12, 2026
Merged

feat(account-tree-controller): add :accountGroup{Created,Updated,Removed}#8766
ccharly merged 5 commits into
mainfrom
cc/feat/account-tree-controller-group-events

Conversation

@ccharly
Copy link
Copy Markdown
Contributor

@ccharly ccharly commented May 11, 2026

Explanation

Adding similar events than :multichainAccountGroup{Created,Updated}.

Those events will be used by the SnapAccountService.

References

N/A

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
Adds new post-init messenger events and tracking logic around account add/remove and group metadata mutations; risk is mainly around event ordering/duplication and downstream consumers relying on the new signals.

Overview
Adds three new messenger eventsAccountTreeController:accountGroupCreated, :accountGroupUpdated, and :accountGroupRemoved—to let consumers react to account-group lifecycle changes after init/reinit (no events during initialization).

Updates AccountTreeController to track which groups were created/updated/removed during AccountsController:accountsAdded and :accountsRemoved batches (avoiding double created+updated in the same batch), publishes the new events after the existing :accountTreeChange, and emits :accountGroupUpdated on setAccountGroupName/setAccountGroupPinned/setAccountGroupHidden.

Exports the new event types from types.ts/index.ts, adds a comprehensive test suite for the new event semantics, and updates the package changelog and eslint suppression counts accordingly.

Reviewed by Cursor Bugbot for commit f2ce76b. Bugbot is set up for automated code reviews on this repo. Configure here.

@ccharly ccharly requested review from a team as code owners May 11, 2026 18:32
@ccharly ccharly temporarily deployed to default-branch May 11, 2026 18:33 — with GitHub Actions Inactive
@ccharly
Copy link
Copy Markdown
Contributor Author

ccharly commented May 11, 2026

@metamaskbot publish-preview

@github-actions
Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.3.0-preview-b08a6f43f
@metamask-previews/accounts-controller@38.1.0-preview-b08a6f43f
@metamask-previews/address-book-controller@7.1.2-preview-b08a6f43f
@metamask-previews/ai-controllers@0.6.3-preview-b08a6f43f
@metamask-previews/analytics-controller@1.0.1-preview-b08a6f43f
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-b08a6f43f
@metamask-previews/announcement-controller@8.1.0-preview-b08a6f43f
@metamask-previews/app-metadata-controller@2.0.1-preview-b08a6f43f
@metamask-previews/approval-controller@9.0.1-preview-b08a6f43f
@metamask-previews/assets-controller@7.0.1-preview-b08a6f43f
@metamask-previews/assets-controllers@106.0.1-preview-b08a6f43f
@metamask-previews/authenticated-user-storage@1.0.1-preview-b08a6f43f
@metamask-previews/base-controller@9.1.0-preview-b08a6f43f
@metamask-previews/base-data-service@0.1.2-preview-b08a6f43f
@metamask-previews/bridge-controller@72.0.2-preview-b08a6f43f
@metamask-previews/bridge-status-controller@71.1.2-preview-b08a6f43f
@metamask-previews/build-utils@3.0.4-preview-b08a6f43f
@metamask-previews/chain-agnostic-permission@1.6.1-preview-b08a6f43f
@metamask-previews/chomp-api-service@3.0.1-preview-b08a6f43f
@metamask-previews/claims-controller@0.5.1-preview-b08a6f43f
@metamask-previews/client-controller@1.0.1-preview-b08a6f43f
@metamask-previews/compliance-controller@2.0.1-preview-b08a6f43f
@metamask-previews/composable-controller@12.0.1-preview-b08a6f43f
@metamask-previews/config-registry-controller@0.3.1-preview-b08a6f43f
@metamask-previews/connectivity-controller@0.2.0-preview-b08a6f43f
@metamask-previews/controller-utils@12.0.0-preview-b08a6f43f
@metamask-previews/core-backend@6.2.2-preview-b08a6f43f
@metamask-previews/delegation-controller@3.0.0-preview-b08a6f43f
@metamask-previews/earn-controller@12.1.1-preview-b08a6f43f
@metamask-previews/eip-5792-middleware@3.0.3-preview-b08a6f43f
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.1-preview-b08a6f43f
@metamask-previews/eip1193-permission-middleware@2.0.1-preview-b08a6f43f
@metamask-previews/ens-controller@19.1.2-preview-b08a6f43f
@metamask-previews/eth-block-tracker@15.0.1-preview-b08a6f43f
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-b08a6f43f
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-b08a6f43f
@metamask-previews/foundryup@1.0.1-preview-b08a6f43f
@metamask-previews/gas-fee-controller@26.2.1-preview-b08a6f43f
@metamask-previews/gator-permissions-controller@4.1.1-preview-b08a6f43f
@metamask-previews/geolocation-controller@0.1.3-preview-b08a6f43f
@metamask-previews/json-rpc-engine@10.5.0-preview-b08a6f43f
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-b08a6f43f
@metamask-previews/keyring-controller@25.5.0-preview-b08a6f43f
@metamask-previews/logging-controller@8.0.2-preview-b08a6f43f
@metamask-previews/message-manager@14.1.2-preview-b08a6f43f
@metamask-previews/messenger@1.2.0-preview-b08a6f43f
@metamask-previews/messenger-cli@0.2.0-preview-b08a6f43f
@metamask-previews/money-account-balance-service@1.0.1-preview-b08a6f43f
@metamask-previews/money-account-controller@0.3.0-preview-b08a6f43f
@metamask-previews/money-account-upgrade-controller@1.3.2-preview-b08a6f43f
@metamask-previews/multichain-account-service@9.0.0-preview-b08a6f43f
@metamask-previews/multichain-api-middleware@3.1.1-preview-b08a6f43f
@metamask-previews/multichain-network-controller@3.1.1-preview-b08a6f43f
@metamask-previews/multichain-transactions-controller@7.1.0-preview-b08a6f43f
@metamask-previews/name-controller@9.1.2-preview-b08a6f43f
@metamask-previews/network-controller@31.0.0-preview-b08a6f43f
@metamask-previews/network-enablement-controller@5.1.1-preview-b08a6f43f
@metamask-previews/notification-services-controller@23.1.1-preview-b08a6f43f
@metamask-previews/passkey-controller@2.0.1-preview-b08a6f43f
@metamask-previews/permission-controller@13.1.1-preview-b08a6f43f
@metamask-previews/permission-log-controller@5.1.0-preview-b08a6f43f
@metamask-previews/perps-controller@6.0.1-preview-b08a6f43f
@metamask-previews/phishing-controller@17.1.2-preview-b08a6f43f
@metamask-previews/polling-controller@16.0.5-preview-b08a6f43f
@metamask-previews/preferences-controller@23.1.0-preview-b08a6f43f
@metamask-previews/profile-metrics-controller@3.1.4-preview-b08a6f43f
@metamask-previews/profile-sync-controller@28.0.2-preview-b08a6f43f
@metamask-previews/ramps-controller@13.3.1-preview-b08a6f43f
@metamask-previews/rate-limit-controller@7.0.1-preview-b08a6f43f
@metamask-previews/react-data-query@0.2.0-preview-b08a6f43f
@metamask-previews/remote-feature-flag-controller@4.2.1-preview-b08a6f43f
@metamask-previews/sample-controllers@5.0.0-preview-b08a6f43f
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-b08a6f43f
@metamask-previews/selected-network-controller@26.1.2-preview-b08a6f43f
@metamask-previews/shield-controller@5.1.2-preview-b08a6f43f
@metamask-previews/signature-controller@39.2.1-preview-b08a6f43f
@metamask-previews/snap-account-service@0.0.0-preview-b08a6f43f
@metamask-previews/social-controllers@2.2.1-preview-b08a6f43f
@metamask-previews/storage-service@1.0.1-preview-b08a6f43f
@metamask-previews/subscription-controller@6.1.3-preview-b08a6f43f
@metamask-previews/transaction-controller@65.3.0-preview-b08a6f43f
@metamask-previews/transaction-pay-controller@22.2.0-preview-b08a6f43f
@metamask-previews/user-operation-controller@41.2.1-preview-b08a6f43f

@ccharly ccharly force-pushed the cc/feat/account-tree-controller-group-events branch from b08a6f4 to ef5577c Compare May 12, 2026 07:54
@ccharly ccharly changed the title feat(account-tree-controller): add :accountGroup{Created,Updated} feat(account-tree-controller): add :accountGroup{Created,Updated,Removed} May 12, 2026
@ccharly ccharly enabled auto-merge May 12, 2026 08:41
@ccharly ccharly added this pull request to the merge queue May 12, 2026
Merged via the queue into main with commit e413134 May 12, 2026
366 checks passed
@ccharly ccharly deleted the cc/feat/account-tree-controller-group-events branch May 12, 2026 08:55
@ccharly ccharly restored the cc/feat/account-tree-controller-group-events branch May 12, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants