Skip to content

claims-controller: Move {keyring,profile-sync}-controller to deps#8236

Open
mcmire wants to merge 4 commits intomainfrom
add-missing-deps-for-claims-controller
Open

claims-controller: Move {keyring,profile-sync}-controller to deps#8236
mcmire wants to merge 4 commits intomainfrom
add-missing-deps-for-claims-controller

Conversation

@mcmire
Copy link
Contributor

@mcmire mcmire commented Mar 18, 2026

Explanation

claims-controller lists keyring-controller and profile-sync-controller as dev dependencies, but they need to be listed as dependencies, even if they are only being used for types. Without this fix, the types from these packages will resolve to any, which then propagates through the messenger type upward (e.g. MessengerActions<ClaimsControllerMessenger> also resolves to any). This ultimately impacts type-safety in clients and other projects.

References

(Noticed this problem when working on some changes in the extension involving messengers)

Manual testing steps

Unfortunately there is no way to test this in an automated fashion. You have to test this within the context of a client.

For instance you can open the extension repo, install a preview build for claims-controller, and then follow these steps:

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

Low Risk
Low risk dependency metadata change; it affects package installation/typing but not runtime logic, though it could alter downstream dependency resolution.

Overview
Updates @metamask/claims-controller package metadata so @metamask/keyring-controller and @metamask/profile-sync-controller are runtime dependencies (moved from devDependencies).

This ensures exported messenger/action types (e.g., ClaimsControllerMessenger/ClaimsServiceMessenger) no longer degrade to any in downstream consumers, and records the change in the CHANGELOG under Changed/Fixed.

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

mcmire added 3 commits March 18, 2026 11:16
`claims-controller` lists `keyring-controller` and
`profile-sync-controller` as dev dependencies, but they need to be
listed as dependencies, even if they are only being used for types.
Without this fix, the types from these packages will resolve to `any`,
which then propagates upward (e.g.
`MessengerActions<ClaimsControllerMessenger>` also resolves to `any`).
@mcmire
Copy link
Contributor Author

mcmire commented Mar 18, 2026

@metamaskbot publish-preview

@github-actions
Copy link
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@5.0.1-preview-fd202d734
@metamask-previews/accounts-controller@37.0.0-preview-fd202d734
@metamask-previews/address-book-controller@7.1.0-preview-fd202d734
@metamask-previews/ai-controllers@0.4.0-preview-fd202d734
@metamask-previews/analytics-controller@1.0.0-preview-fd202d734
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-fd202d734
@metamask-previews/announcement-controller@8.0.0-preview-fd202d734
@metamask-previews/app-metadata-controller@2.0.0-preview-fd202d734
@metamask-previews/approval-controller@9.0.0-preview-fd202d734
@metamask-previews/assets-controller@3.0.0-preview-fd202d734
@metamask-previews/assets-controllers@101.0.1-preview-fd202d734
@metamask-previews/base-controller@9.0.0-preview-fd202d734
@metamask-previews/base-data-service@0.0.0-preview-fd202d734
@metamask-previews/bridge-controller@69.1.1-preview-fd202d734
@metamask-previews/bridge-status-controller@69.0.0-preview-fd202d734
@metamask-previews/build-utils@3.0.4-preview-fd202d734
@metamask-previews/chain-agnostic-permission@1.4.0-preview-fd202d734
@metamask-previews/claims-controller@0.4.3-preview-fd202d734
@metamask-previews/client-controller@1.0.0-preview-fd202d734
@metamask-previews/compliance-controller@1.0.1-preview-fd202d734
@metamask-previews/composable-controller@12.0.0-preview-fd202d734
@metamask-previews/config-registry-controller@0.1.1-preview-fd202d734
@metamask-previews/connectivity-controller@0.1.0-preview-fd202d734
@metamask-previews/controller-utils@11.19.0-preview-fd202d734
@metamask-previews/core-backend@6.2.0-preview-fd202d734
@metamask-previews/delegation-controller@2.0.2-preview-fd202d734
@metamask-previews/earn-controller@11.1.2-preview-fd202d734
@metamask-previews/eip-5792-middleware@3.0.1-preview-fd202d734
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.0-preview-fd202d734
@metamask-previews/eip1193-permission-middleware@1.0.3-preview-fd202d734
@metamask-previews/ens-controller@19.1.0-preview-fd202d734
@metamask-previews/error-reporting-service@3.0.1-preview-fd202d734
@metamask-previews/eth-block-tracker@15.0.1-preview-fd202d734
@metamask-previews/eth-json-rpc-middleware@23.1.0-preview-fd202d734
@metamask-previews/eth-json-rpc-provider@6.0.0-preview-fd202d734
@metamask-previews/foundryup@1.0.1-preview-fd202d734
@metamask-previews/gas-fee-controller@26.1.0-preview-fd202d734
@metamask-previews/gator-permissions-controller@2.1.1-preview-fd202d734
@metamask-previews/geolocation-controller@0.1.1-preview-fd202d734
@metamask-previews/json-rpc-engine@10.2.3-preview-fd202d734
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-fd202d734
@metamask-previews/keyring-controller@25.1.0-preview-fd202d734
@metamask-previews/logging-controller@8.0.0-preview-fd202d734
@metamask-previews/message-manager@14.1.0-preview-fd202d734
@metamask-previews/messenger@0.3.0-preview-fd202d734
@metamask-previews/multichain-account-service@7.1.0-preview-fd202d734
@metamask-previews/multichain-api-middleware@1.2.7-preview-fd202d734
@metamask-previews/multichain-network-controller@3.0.5-preview-fd202d734
@metamask-previews/multichain-transactions-controller@7.0.2-preview-fd202d734
@metamask-previews/name-controller@9.1.0-preview-fd202d734
@metamask-previews/network-controller@30.0.0-preview-fd202d734
@metamask-previews/network-enablement-controller@5.0.0-preview-fd202d734
@metamask-previews/notification-services-controller@23.0.0-preview-fd202d734
@metamask-previews/permission-controller@12.2.1-preview-fd202d734
@metamask-previews/permission-log-controller@5.0.0-preview-fd202d734
@metamask-previews/perps-controller@1.2.0-preview-fd202d734
@metamask-previews/phishing-controller@17.0.0-preview-fd202d734
@metamask-previews/polling-controller@16.0.3-preview-fd202d734
@metamask-previews/preferences-controller@23.0.0-preview-fd202d734
@metamask-previews/profile-metrics-controller@3.1.1-preview-fd202d734
@metamask-previews/profile-sync-controller@28.0.0-preview-fd202d734
@metamask-previews/ramps-controller@12.0.0-preview-fd202d734
@metamask-previews/rate-limit-controller@7.0.0-preview-fd202d734
@metamask-previews/remote-feature-flag-controller@4.1.0-preview-fd202d734
@metamask-previews/sample-controllers@4.0.3-preview-fd202d734
@metamask-previews/seedless-onboarding-controller@8.1.0-preview-fd202d734
@metamask-previews/selected-network-controller@26.0.3-preview-fd202d734
@metamask-previews/shield-controller@5.0.2-preview-fd202d734
@metamask-previews/signature-controller@39.1.0-preview-fd202d734
@metamask-previews/storage-service@1.0.0-preview-fd202d734
@metamask-previews/subscription-controller@6.0.2-preview-fd202d734
@metamask-previews/transaction-controller@63.0.0-preview-fd202d734
@metamask-previews/transaction-pay-controller@17.1.0-preview-fd202d734
@metamask-previews/user-operation-controller@41.1.0-preview-fd202d734

@mcmire
Copy link
Contributor Author

mcmire commented Mar 18, 2026

I have tested this within the extension and the preview build posted above:

@mcmire mcmire marked this pull request as ready for review March 18, 2026 18:34
@mcmire mcmire requested review from a team as code owners March 18, 2026 18:34
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.

3 participants