Conversation
✨ Files requiring CODEOWNER review ✨👨🔧 @MetaMask/core-extension-ux (3 files, +255 -4)
🕵️ @MetaMask/extension-privacy-reviewers (1 files, +1 -0)
🧪 @MetaMask/qa (1 files, +1 -0)
🔐 @MetaMask/web3auth (1 files, +23 -2)
|
Builds ready [0b612dd]
UI Startup Metrics (1402 ± 98 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Builds ready [8a17e97]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [ad1004b]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Builds ready [2f11bca]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [bc78c9c]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
|
Looks good! Looks like CI is still failing though, this needs a branch update then a fixture update |
|
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. |
|
@metamaskbot update-e2e-fixture |
|
E2E fixtures update failed. You can review the logs or retry the fixture update here |
Builds ready [d78e606]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
|
E2E fixtures updated. |
Builds ready [3d36328]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [a39609e]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
|
Builds ready [a8090fd]
⚡ Performance Benchmarks
🌐 Dapp Page Load BenchmarksCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|



Description
When a user initiates a card payment flow for the Shield subscription, MetaMask opens an external Stripe checkout tab. If the user is in the popup, the popup closes. Previously, there was no mechanism to return the user to the Shield plan page when they reopened the extension after abandoning checkout.
This PR introduces a generic pendingRedirectRoute field in AppStateController that persists across popup closes and extension restarts. Any feature can set this field so the user is redirected back to the appropriate page on next open.
Details:
Changelog
CHANGELOG entry: Fixed an issue where abandoning the Shield card payment checkout would not return users to the Shield plan page on next extension open
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Screen.Recording.2026-02-11.at.12.30.30.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Introduces a new cross-session redirect mechanism wired through background state, Redux, and
Homenavigation, which could affect startup routing if mis-set or not cleared. Scope is contained by environment-type gating and immediate clearing, but touches core home-page navigation flow.Overview
Adds a new
pendingRedirectRoutefield onAppStateController(non-persisted across extension restarts) and exposessetPendingRedirectRoutethrough background/UI messaging so features can request a one-time redirect on next open.Homenow hydrates the existing history-duck redirect (redirectAfterDefaultPage) frompendingRedirectRouteon mount (and only once when it transitions from null), optionally gated byenvironmentType, then clears it to prevent stale/looping redirects.Updates the Shield card checkout flow to set
pendingRedirectRouteto/shield-planbefore opening the Stripe tab and clear it after successful completion; the Shield plan back navigation also clears the pending redirect when the user intentionally leaves. Includes selectors/actions/tests and fixture/snapshot updates to cover the new state.Written by Cursor Bugbot for commit a8090fd. This will update automatically on new commits. Configure here.