Skip to content

fix: keep the keyring cast valid in preview builds - #10216

Closed
cryptodev-2s wants to merge 1 commit into
mainfrom
fix/keyring-cast-preview-build
Closed

cryptodev-2s wants to merge 1 commit into
mainfrom
fix/keyring-cast-preview-build

Conversation

@cryptodev-2s

@cryptodev-2s cryptodev-2s commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Explanation

Preview builds have been failing since #10192 with one TS error:

packages/keyring-controller/src/KeyringController.ts(644,7): error TS2578: Unused '@ts-expect-error' directive.

Keyring in that builder comes from @metamask/keyring-utils, which still depends on @metamask/utils@^11, while this package depends on the workspace copy at v12. Normally that leaves two identities for the same type, so the cast does not overlap and the directive is needed.

Preview builds resolve it differently. The workflow writes a portal: resolution for every workspace into the root manifest, and since that applies globally it also replaces the nested v11 copy @metamask/keyring-utils brings along. Both copies collapse onto the workspace one, the cast overlaps again, and the directive is flagged as unused.

So it is required in a normal build and wrong in a preview build. Casting through unknown holds either way. The comment notes it can go once the keyring packages depend on @metamask/utils@12.

References

Failing run: https://github.com/MetaMask/core/actions/runs/34633477377/job/103375769956

Related to #10192

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

@cryptodev-2s

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@cryptodev-2s cryptodev-2s self-assigned this Sep 11, 2026
@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@10.0.1-preview-98c551e
@metamask-previews/accounts-controller@40.0.0-preview-98c551e
@metamask-previews/address-book-controller@8.0.0-preview-98c551e
@metamask-previews/ai-controllers@2.0.0-preview-98c551e
@metamask-previews/analytics-controller@3.0.0-preview-98c551e
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-98c551e
@metamask-previews/announcement-controller@9.0.0-preview-98c551e
@metamask-previews/app-metadata-controller@3.0.0-preview-98c551e
@metamask-previews/approval-controller@10.0.0-preview-98c551e
@metamask-previews/assets-controller@16.0.0-preview-98c551e
@metamask-previews/assets-controllers@112.0.1-preview-98c551e
@metamask-previews/authenticated-user-storage@4.0.0-preview-98c551e
@metamask-previews/base-controller@10.0.0-preview-98c551e
@metamask-previews/base-data-service@2.0.0-preview-98c551e
@metamask-previews/bitcoin-regtest-up@2.0.0-preview-98c551e
@metamask-previews/bridge-controller@81.1.0-preview-98c551e
@metamask-previews/bridge-status-controller@76.2.0-preview-98c551e
@metamask-previews/build-utils@4.0.0-preview-98c551e
@metamask-previews/chain-agnostic-permission@2.0.0-preview-98c551e
@metamask-previews/chomp-api-service@5.0.0-preview-98c551e
@metamask-previews/claims-controller@1.0.1-preview-98c551e
@metamask-previews/client-controller@2.0.0-preview-98c551e
@metamask-previews/client-utils@3.0.0-preview-98c551e
@metamask-previews/compliance-controller@3.0.0-preview-98c551e
@metamask-previews/composable-controller@13.0.0-preview-98c551e
@metamask-previews/config-registry-controller@4.0.0-preview-98c551e
@metamask-previews/connectivity-controller@1.0.0-preview-98c551e
@metamask-previews/controller-utils@13.0.0-preview-98c551e
@metamask-previews/core-backend@10.0.1-preview-98c551e
@metamask-previews/cryptography@0.0.0-preview-98c551e
@metamask-previews/delegation-controller@4.0.0-preview-98c551e
@metamask-previews/earn-controller@13.0.0-preview-98c551e
@metamask-previews/eip-5792-middleware@4.0.0-preview-98c551e
@metamask-previews/eip-7702-internal-rpc-middleware@1.0.0-preview-98c551e
@metamask-previews/eip1193-permission-middleware@3.0.0-preview-98c551e
@metamask-previews/eth-block-tracker@16.0.0-preview-98c551e
@metamask-previews/eth-json-rpc-middleware@25.0.0-preview-98c551e
@metamask-previews/eth-json-rpc-provider@7.0.0-preview-98c551e
@metamask-previews/foundryup@2.0.0-preview-98c551e
@metamask-previews/gas-fee-controller@27.0.0-preview-98c551e
@metamask-previews/gator-permissions-controller@6.0.0-preview-98c551e
@metamask-previews/geolocation-controller@2.0.0-preview-98c551e
@metamask-previews/java-tron-up@2.0.0-preview-98c551e
@metamask-previews/json-rpc-engine@11.0.0-preview-98c551e
@metamask-previews/json-rpc-middleware-stream@9.0.0-preview-98c551e
@metamask-previews/keyring-controller@28.0.0-preview-98c551e
@metamask-previews/kyc-controller@0.3.0-preview-98c551e
@metamask-previews/local-node-utils@2.0.0-preview-98c551e
@metamask-previews/logging-controller@10.0.0-preview-98c551e
@metamask-previews/message-manager@15.0.0-preview-98c551e
@metamask-previews/messenger@3.0.0-preview-98c551e
@metamask-previews/messenger-cli@1.0.0-preview-98c551e
@metamask-previews/money-account-api-data-service@1.0.0-preview-98c551e
@metamask-previews/money-account-balance-service@3.0.0-preview-98c551e
@metamask-previews/money-account-controller@2.0.0-preview-98c551e
@metamask-previews/money-account-upgrade-controller@5.0.0-preview-98c551e
@metamask-previews/money-account-utils@2.0.0-preview-98c551e
@metamask-previews/multichain-account-service@14.0.0-preview-98c551e
@metamask-previews/multichain-api-middleware@5.0.0-preview-98c551e
@metamask-previews/multichain-network-controller@4.0.0-preview-98c551e
@metamask-previews/multichain-transactions-controller@8.0.0-preview-98c551e
@metamask-previews/name-controller@10.0.0-preview-98c551e
@metamask-previews/network-connection-banner-controller@1.0.0-preview-98c551e
@metamask-previews/network-controller@37.0.0-preview-98c551e
@metamask-previews/network-enablement-controller@7.0.0-preview-98c551e
@metamask-previews/notification-services-controller@28.0.1-preview-98c551e
@metamask-previews/passkey-controller@4.0.0-preview-98c551e
@metamask-previews/permission-controller@14.0.0-preview-98c551e
@metamask-previews/permission-log-controller@6.0.0-preview-98c551e
@metamask-previews/perps-controller@17.1.0-preview-98c551e
@metamask-previews/phishing-controller@18.0.0-preview-98c551e
@metamask-previews/platform-api-docs@0.2.0-preview-98c551e
@metamask-previews/polling-controller@17.0.0-preview-98c551e
@metamask-previews/preferences-controller@24.0.0-preview-98c551e
@metamask-previews/profile-metrics-controller@5.1.0-preview-98c551e
@metamask-previews/profile-sync-controller@32.1.0-preview-98c551e
@metamask-previews/ramps-controller@22.0.0-preview-98c551e
@metamask-previews/rate-limit-controller@8.0.0-preview-98c551e
@metamask-previews/react-data-query@2.0.0-preview-98c551e
@metamask-previews/remote-feature-flag-controller@7.0.0-preview-98c551e
@metamask-previews/sample-controllers@6.0.0-preview-98c551e
@metamask-previews/seedless-onboarding-controller@11.0.0-preview-98c551e
@metamask-previews/selected-network-controller@27.0.0-preview-98c551e
@metamask-previews/sentinel-api-service@2.0.0-preview-98c551e
@metamask-previews/shield-controller@7.0.1-preview-98c551e
@metamask-previews/signature-controller@40.0.0-preview-98c551e
@metamask-previews/smart-transactions-controller@27.0.1-preview-98c551e
@metamask-previews/snap-account-service@3.0.0-preview-98c551e
@metamask-previews/social-controllers@3.0.1-preview-98c551e
@metamask-previews/solana-test-validator-up@2.0.0-preview-98c551e
@metamask-previews/stellar-quickstart-up@0.0.0-preview-98c551e
@metamask-previews/storage-service@2.0.0-preview-98c551e
@metamask-previews/subscription-controller@9.0.1-preview-98c551e
@metamask-previews/transaction-controller@70.0.0-preview-98c551e
@metamask-previews/transaction-pay-controller@28.0.2-preview-98c551e
@metamask-previews/user-operation-controller@42.0.0-preview-98c551e
@metamask-previews/utils@12.0.0-preview-98c551e
@metamask-previews/wallet@13.0.0-preview-98c551e
@metamask-previews/wallet-cli@0.0.0-preview-98c551e

@cryptodev-2s
cryptodev-2s requested a review from mcmire September 11, 2026 21:21
@cryptodev-2s
cryptodev-2s deleted the fix/keyring-cast-preview-build branch September 11, 2026 21:33

This branch was successfully deployed

1 active deployment
default-branch — 98c551e3 Deployed Sep 11, 2026 by cryptodev-2s via Determine whether this PR is a release PR #4047
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant