Skip to content

refactor: Use @metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0#3969

Closed
rekmarks wants to merge 1 commit intomainfrom
rekm/permission-controller@12.3.0-preview-1e2fe74a0
Closed

refactor: Use @metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0#3969
rekmarks wants to merge 1 commit intomainfrom
rekm/permission-controller@12.3.0-preview-1e2fe74a0

Conversation

@rekmarks
Copy link
Copy Markdown
Member

No description provided.

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​metamask/​permission-controller@​12.3.0-preview-1e2fe74a0100100100100100

View full report

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.56%. Comparing base (353d009) to head (1ba4ab5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3969   +/-   ##
=======================================
  Coverage   98.56%   98.56%           
=======================================
  Files         429      429           
  Lines       12363    12363           
  Branches     1942     1942           
=======================================
  Hits        12185    12185           
  Misses        178      178           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@rekmarks rekmarks closed this Apr 24, 2026
@rekmarks rekmarks deleted the rekm/permission-controller@12.3.0-preview-1e2fe74a0 branch April 24, 2026 20:02
pull Bot pushed a commit to Reality2byte/core that referenced this pull request Apr 24, 2026
…cted method hooks (MetaMask#8551)

## Explanation

Adds a `messenger` option to permission specification builders as an
alternative to `methodHooks`, aligning spec builders with the
messenger-based method middleware introduced in MetaMask#8506. Restricted-method
specs can now declare the root-messenger actions they need via
`actionNames` and consume a minimally-scoped `Messenger`.

Incidentally, also removes the `factoryHooks` and `validatorHooks`
fields from the spec builder surface. Both of these were unused in
practice.

## References

- Related to MetaMask#8506
- Preview build PRs:
  - MetaMask/metamask-extension#42128
- Extension CI failing as of merge due to unrelated problems, but
succeeds when testing manually.
  - MetaMask/metamask-mobile#29343
  - MetaMask/snaps#3969

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [x] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Breaking type-surface changes to permission specification builders
(removing `factoryHooks`/`validatorHooks` and adding optional scoped
`messenger`) may require downstream updates; new messenger delegation
logic could impact how restricted-method specs invoke host actions.
> 
> **Overview**
> Restricted-method permission specification builders can now receive an
optional scoped `messenger` (constructed from spec-declared
`actionNames`) as an alternative to relying on `methodHooks`, enabling
specs to call only explicitly-delegated host actions.
> 
> Introduces `createRestrictedMethodMessenger` (exported from the
package) to create a child `Messenger` with a minimal delegated action
surface, and adds tests covering delegation behavior and the new builder
option. **BREAKING:** removes `factoryHooks`, `validatorHooks`, and
related export fields from the permission specification builder API
surface.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
1e2fe74. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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