Skip to content

feat: subscription-cancel-type#39625

Merged
chaitanyapotti merged 8 commits intomainfrom
feat/subscription-cancel-type
Feb 9, 2026
Merged

feat: subscription-cancel-type#39625
chaitanyapotti merged 8 commits intomainfrom
feat/subscription-cancel-type

Conversation

@tuna1207
Copy link
Copy Markdown
Member

@tuna1207 tuna1207 commented Jan 29, 2026

Description

  • Updated @metamask/subscription-controller from ^5.3.1 to ^5.4.1 to support the new cancelType property
  • Added a reusable helper function getIsSubscriptionCancelNotAllowed() in shared/modules/shield/shield.ts
  • Updated CancelMembershipModal to display appropriate content based on cancelType
  • Updated useCancelSubscription hook to:
    • Return early (do nothing) if cancellation is not allowed
    • add cancelAtPeriodEnd params based on cancelType

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Updated Shield subscription cancellation modal to display appropriate messaging based on cancellation type and prevent cancellation when not allowed.

Related issues

Fixes:

Manual testing steps

  1. Subscribe to Shield
  2. Go to Shield Settings manage subscription
  3. Click "Cancel plan" button
  4. Verify the modal displays appropriate content based on the subscription's cancelType:
    • For allowed_at_period_end: Should show the cancellation date
    • For allowed_immediate: Should show "If you cancel, your wallet and transactions will not be covered."
    • For not_allowed: Should show "Your subscription cannot be cancelled at the moment." with no cancel button
    • For not_allowed_pending_verification: Should show "Your subscription cannot be cancelled due to pending verification." with no cancel button

Screenshots/Recordings

Before

After

Screenshot 2026-01-29 at 14 30 10 Screenshot 2026-01-29 at 14 30 26 Screenshot 2026-01-29 at 14 31 00

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Changes Shield subscription cancellation behavior by conditionally blocking cancellation and passing cancelAtPeriodEnd to the background, which could impact real subscription termination timing. Risk is limited in scope to the Shield subscription UI/hooks and action wiring.

Overview
Updates the Shield subscription cancel flow to respect the new cancelType from @metamask/subscription-controller.

The cancel modal now shows cancel-type-specific messaging (immediate vs end-of-period vs not allowed) and hides the confirm button when cancellation is unavailable, using new i18n strings. The useCancelSubscription hook now no-ops when cancellation isn’t allowed and passes cancelAtPeriodEnd through cancelSubscription to align background cancellation behavior with the subscription’s cancel policy.

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

@metamaskbot metamaskbot added the team-onboarding Onboarding team label Jan 29, 2026
@tuna1207 tuna1207 added area-shield team-shield Shield team and removed team-onboarding Onboarding team labels Jan 29, 2026
@tuna1207 tuna1207 marked this pull request as ready for review January 29, 2026 07:39
@tuna1207 tuna1207 requested a review from a team as a code owner January 29, 2026 07:39
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 29, 2026

✨ Files requiring CODEOWNER review ✨

🔐 @MetaMask/web3auth (2 files, +65 -30)
  • 📁 ui/
    • 📁 hooks/
      • 📁 subscription/
        • 📄 useSubscription.ts +15 -2
    • 📁 pages/
      • 📁 settings/
        • 📁 transaction-shield-tab/
          • 📁 components/
            • 📄 cancel-membership-modal.tsx +50 -28

@lionellbriones
Copy link
Copy Markdown
Contributor

Screenshot 2026-01-29 at 3 50 06 PM i think we need a different modal header if cancel is not allowed.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [256d082]
UI Startup Metrics (1299 ± 104 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12991067160510413651449
load--110389114249811581252
domContentLoaded--109688414149811511245
domInteractive--261596192281
firstPaint--147641109115191282
backgroundConnect--23321427211236262
firstReactRender--18114372033
initialActions--108114
loadScripts--8786711194989331029
setupStore--1564571830
numNetworkReqs--211577161571
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--22001441617386822534924
load--1063899180715811241416
domContentLoaded--1045890179715511081400
domInteractive--3117122193385
firstPaint--217721430204229401
backgroundConnect--45727126294243691642
firstReactRender--25164982942
initialActions--104113
loadScripts--82167915261468681167
setupStore--1575081736
numNetworkReqs--1264825551146243
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--824659109294871993
load--686581100580733816
domContentLoaded--68157799780729809
domInteractive--241690162173
firstPaint--1056031553123228
backgroundConnect--39181152545100
firstReactRender--1594251624
initialActions--104112
loadScripts--67857599579727807
setupStore--1153151226
numNetworkReqs--211576161571
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1253846170420014301585
load--719607103698751983
domContentLoaded--709603102899737978
domInteractive--3419160253198
firstPaint--1286340259157247
backgroundConnect--1775860496162469
firstReactRender--22173542429
initialActions--104112
loadScripts--706601102097735969
setupStore--1151931417
numNetworkReqs--954525148134174
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14351133202119315401898
load--1154970172914612201418
domContentLoaded--1153970172914612201417
domInteractive--69332394488149
firstPaint--------
backgroundConnect--66232244487166
firstReactRender--1495071327
initialActions--105122
loadScripts--1119957170513511811331
setupStore--155206251239
numNetworkReqs--241290201884
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27891891640569429314559
load--13181065280034113302271
domContentLoaded--13181065279934113292270
domInteractive--148361341158138330
firstPaint--------
backgroundConnect--40211516883495401181
firstReactRender--221491102330
initialActions--205123
loadScripts--12581043262828812641902
setupStore--15910811193187657
numNetworkReqs--80382304593193
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16391361214017017421994
load--13751179162510414401582
domContentLoaded--13741178162510414401582
domInteractive--933123250133185
firstPaint--------
backgroundConnect--702724742100148
firstReactRender--15115151525
initialActions--103122
loadScripts--1339114615888914041487
setupStore--2152243912131
numNetworkReqs--241285191982
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30572221797175632424433
load--17101302646163317612802
domContentLoaded--17101302646163317602802
domInteractive--183321431211198667
firstPaint--------
backgroundConnect--3641071352289484985
firstReactRender--21153342429
initialActions--213123
loadScripts--16681280642862117372684
setupStore--117796917698569
numNetworkReqs--85402894998194
19--------
📊 Page Load Benchmark Results

Current Commit: 256d082 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±66ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±53ms) 🟢 | historical mean value: 722ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 66ms 1.01s 1.51s 1.07s 1.51s
domContentLoaded 727ms 53ms 701ms 1.03s 751ms 1.03s
firstPaint 76ms 10ms 56ms 152ms 88ms 152ms
firstContentfulPaint 76ms 10ms 56ms 152ms 88ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 85 Bytes (0%)
  • ui: 759 Bytes (0.01%)
  • common: 976 Bytes (0.01%)

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [74723af]
UI Startup Metrics (1312 ± 143 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1312996183614313781559
load--1119852154413011841383
domContentLoaded--1111849153912911771341
domInteractive--251683172273
firstPaint--162621117137193247
backgroundConnect--22819830520239264
firstReactRender--17104361930
initialActions--1011114
loadScripts--89965813131289721155
setupStore--1366271725
numNetworkReqs--221580181576
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--284916009132147230315351
load--1166954169414212661428
domContentLoaded--1147947168813712361414
domInteractive--36192152933103
firstPaint--212841431152262398
backgroundConnect--82228244209387393149
firstReactRender--24165162640
initialActions--103112
loadScripts--905721144213110011184
setupStore--1564061730
numNetworkReqs--1294729551156253
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--825655101986882984
load--68359090576743798
domContentLoaded--67858590075737794
domInteractive--251684172276
firstPaint--1096061167136210
backgroundConnect--40181792644101
firstReactRender--1593351528
initialActions--104112
loadScripts--67558389775735792
setupStore--1152851122
numNetworkReqs--221587181573
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1349945225226315331891
load--73962113371137471022
domContentLoaded--72861313301137291017
domInteractive--38181412538107
firstPaint--161671016123183332
backgroundConnect--17413359282163342
firstReactRender--23183832529
initialActions--103111
loadScripts--72561113201127271009
setupStore--1363341520
numNetworkReqs--1555332857172274
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14541161222219615151938
load--1163973186415112361383
domContentLoaded--1163973186415112361383
domInteractive--77333105198178
firstPaint--------
backgroundConnect--70263366270196
firstReactRender--13104141317
initialActions--103122
loadScripts--1130958183714111911305
setupStore--1155981033
numNetworkReqs--241186191877
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--26951965604653728733528
load--12831033229923913421785
domContentLoaded--12821032229823913421784
domInteractive--14438630103160377
firstPaint--------
backgroundConnect--427871275307640988
firstReactRender--20145752226
initialActions--213122
loadScripts--12211009224919912671575
setupStore--170201573226211623
numNetworkReqs--90392384597208
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16671428236618317552077
load--14311250189912614991652
domContentLoaded--14301250189912714991652
domInteractive--903041754126152
firstPaint--------
backgroundConnect--73263155689210
firstReactRender--14112321417
initialActions--103112
loadScripts--13911212176211114641586
setupStore--154254301132
numNetworkReqs--231293181868
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30622070805175932344325
load--16311281477648516412564
domContentLoaded--16311281477648516412564
domInteractive--171361288195189500
firstPaint--------
backgroundConnect--48011550555426181060
firstReactRender--21155252331
initialActions--207123
loadScripts--15901256473748116082532
setupStore--161111012200159624
numNetworkReqs--87372795191214
19--------
📊 Page Load Benchmark Results

Current Commit: 74723af | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±65ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 748ms (±62ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±9ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 65ms 1.03s 1.36s 1.28s 1.36s
domContentLoaded 748ms 62ms 715ms 1.04s 953ms 1.04s
firstPaint 78ms 9ms 64ms 156ms 88ms 156ms
firstContentfulPaint 78ms 9ms 64ms 156ms 88ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1021 Bytes (0.02%)
  • ui: 761 Bytes (0.01%)
  • common: 1.64 KiB (0.02%)

const { cancelType } = subscription;

// Do nothing if cancellation is not allowed
if (getIsSubscriptionCancelNotAllowed(cancelType)) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to show any info to user that cancellation is not allowed?

Copy link
Copy Markdown
Member Author

@tuna1207 tuna1207 Jan 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lwin-kyaw
lwin-kyaw previously approved these changes Jan 30, 2026
@tuna1207 tuna1207 added needs-qa Label will automate into QA workspace and removed needs-qa Label will automate into QA workspace labels Jan 30, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 3, 2026

Builds ready [b5d9a38]
UI Startup Metrics (1376 ± 97 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1376114916349714461533
load--118096713868812501326
domContentLoaded--117396313828712381321
domInteractive--261692172377
firstPaint--185661322223203334
backgroundConnect--23421127615240269
firstReactRender--18125572032
initialActions--106114
loadScripts--95576011668710151099
setupStore--1363961622
numNetworkReqs--221584171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--296316428437153940915823
load--12441040187916213311553
domContentLoaded--12241029186715813101544
domInteractive--3718153263899
firstPaint--225851421152262444
backgroundConnect--9252796359113512983255
firstReactRender--25175262637
initialActions--107112
loadScripts--982812154514310641272
setupStore--1567281626
numNetworkReqs--1275527553162248
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--82465410921028831040
load--691586100889737903
domContentLoaded--68658299988732897
domInteractive--241576152171
firstPaint--1046224643131192
backgroundConnect--37191402939123
firstReactRender--15103451627
initialActions--103112
loadScripts--68357999788730895
setupStore--1164651120
numNetworkReqs--221582171571
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1322934252828915061752
load--73362212851227331042
domContentLoaded--72261212801227231034
domInteractive--39192243435111
firstPaint--1546557696188344
backgroundConnect--16713461672156349
firstReactRender--22163932229
initialActions--101011
loadScripts--72061112721217211026
setupStore--1243951520
numNetworkReqs--1215228749136246
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16921356249121417952106
load--14141172208416214911721
domContentLoaded--14121172207816214911721
domInteractive--783420142101147
firstPaint--------
backgroundConnect--79282545187185
firstReactRender--1291921316
initialActions--103122
loadScripts--13691145205614414541620
setupStore--184177291471
numNetworkReqs--231285181878
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30532233831870532454106
load--15501280687757115621975
domContentLoaded--15491280687757115611975
domInteractive--156511365154170377
firstPaint--------
backgroundConnect--39511714433025601025
firstReactRender--211471132062
initialActions--213122
loadScripts--15141240680656715331934
setupStore--13114919174140543
numNetworkReqs--95392945295231
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15991370213315616691924
load--13821190166911114351624
domContentLoaded--13821190166911114351624
domInteractive--932824943131151
firstPaint--------
backgroundConnect--63252044572177
firstReactRender--13112321419
initialActions--102022
loadScripts--1349116916159714001548
setupStore--144222271131
numNetworkReqs--221285171878
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30192217723163631113789
load--15991285501751516402056
domContentLoaded--15981285501651516402055
domInteractive--16950595128223512
firstPaint--------
backgroundConnect--43011014203216011174
firstReactRender--20155052228
initialActions--206122
loadScripts--15611245494251016031968
setupStore--1529749187175593
numNetworkReqs--94392975690244
19--------
📊 Page Load Benchmark Results

Current Commit: b5d9a38 | Date: 2/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.02s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 715ms (±36ms) 🟢 | historical mean value: 711ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.00s 1.31s 1.05s 1.31s
domContentLoaded 715ms 36ms 695ms 987ms 735ms 987ms
firstPaint 75ms 11ms 56ms 164ms 84ms 164ms
firstContentfulPaint 75ms 11ms 56ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 759 Bytes (0.01%)
  • common: 481 Bytes (0.01%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 4, 2026

Builds ready [3b3f228]
UI Startup Metrics (1367 ± 95 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1367114917859514221523
load--118196614278712401311
domContentLoaded--117596114078712341305
domInteractive--2815103192478
firstPaint--164641019113204303
backgroundConnect--23221627913233268
firstReactRender--17103241926
initialActions--108113
loadScripts--95875311838710181087
setupStore--1262551522
numNetworkReqs--221583171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--21621461552473321904055
load--11601014191215811751527
domContentLoaded--11431007188015711561509
domInteractive--36172003032114
firstPaint--223801610223242436
backgroundConnect--44828133574223951418
firstReactRender--23174662538
initialActions--103111
loadScripts--90777515211439161254
setupStore--1564671830
numNetworkReqs--1294825350158235
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--86069011301079181072
load--720616104494791911
domContentLoaded--714606103393785895
domInteractive--261697182378
firstPaint--1116231054153224
backgroundConnect--3719126233892
firstReactRender--16103761729
initialActions--104112
loadScripts--711604103192783892
setupStore--1263241222
numNetworkReqs--221584181575
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1283819202525414441788
load--7036181154113691990
domContentLoaded--6936121147113680986
domInteractive--37172023432117
firstPaint--1466659897175396
backgroundConnect--16612939260160340
firstReactRender--22173742330
initialActions--102111
loadScripts--6906101138111678978
setupStore--1255451320
numNetworkReqs--1325026252168243
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15991291221817517211926
load--13471132183015114381647
domContentLoaded--13451132182315114381647
domInteractive--743221240102147
firstPaint--------
backgroundConnect--71282224481157
firstReactRender--12102421213
initialActions--102112
loadScripts--13091121180313613711614
setupStore--1265991232
numNetworkReqs--231285181879
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30532208985981132043967
load--16481359697958616282231
domContentLoaded--16471351697858616282230
domInteractive--14536868115152354
firstPaint--------
backgroundConnect--34711513682933991035
firstReactRender--19156252024
initialActions--2051523
loadScripts--16001286691157815992169
setupStore--1608789205151675
numNetworkReqs--823921337109157
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15611281203514316591822
load--13451162161310014171524
domContentLoaded--13441162161310114171524
domInteractive--70312194099139
firstPaint--------
backgroundConnect--60241963771136
firstReactRender--14114651421
initialActions--102022
loadScripts--1311114815909213781480
setupStore--165207251256
numNetworkReqs--241287191882
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30522212625256732034146
load--16431265258228918112281
domContentLoaded--16431265258228918112281
domInteractive--17232882173176649
firstPaint--------
backgroundConnect--3861111430274585966
firstReactRender--22156262429
initialActions--213123
loadScripts--15791235244625217452106
setupStore--18971169235305658
numNetworkReqs--833622642102183
19--------
📊 Page Load Benchmark Results

Current Commit: 3b3f228 | Date: 2/4/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±37ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 732ms (±35ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 37ms 1.03s 1.32s 1.09s 1.32s
domContentLoaded 732ms 35ms 713ms 994ms 753ms 994ms
firstPaint 78ms 11ms 60ms 168ms 88ms 168ms
firstContentfulPaint 78ms 11ms 60ms 168ms 88ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.55 KiB (0.03%)
  • ui: 52.04 KiB (0.63%)
  • common: 3.03 KiB (0.03%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 4, 2026

Builds ready [a681cd2]
UI Startup Metrics (1457 ± 121 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14571229182712115321730
load--12411019163512313121486
domContentLoaded--12341011162612313051482
domInteractive--271794182578
firstPaint--161691256127201282
backgroundConnect--24121834517245269
firstReactRender--17113341926
initialActions--106113
loadScripts--1010785139612310821252
setupStore--1364261622
numNetworkReqs--211576161572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--20421623251317721502402
load--11831050207817411681649
domContentLoaded--11661042196516611541575
domInteractive--39191762939107
firstPaint--219761754221250417
backgroundConnect--33028549537337411
firstReactRender--251659102648
initialActions--106112
loadScripts--92179916211519071299
setupStore--1564261724
numNetworkReqs--1255226054153247
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--85868810981019231043
load--7296041014102799958
domContentLoaded--7236001008101790948
domInteractive--251691162273
firstPaint--1096333451130224
backgroundConnect--3519183234373
firstReactRender--15103451729
initialActions--104112
loadScripts--7205971006101782946
setupStore--1266161219
numNetworkReqs--211581171571
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1264888182823314231755
load--72262811561167181071
domContentLoaded--71262111421147041057
domInteractive--35171462538101
firstPaint--15065547101199347
backgroundConnect--15513134230159201
firstReactRender--23183332428
initialActions--103111
loadScripts--70961911331127021047
setupStore--1356171420
numNetworkReqs--1314926560161255
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17031398223519318282064
load--14341206191614515451733
domContentLoaded--14331206190914515421733
domInteractive--963423950138191
firstPaint--------
backgroundConnect--793022346121177
firstReactRender--13102121316
initialActions--103122
loadScripts--13901183180612514521620
setupStore--186136241585
numNetworkReqs--241190201883
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29722156516560730344433
load--16041267254835216822361
domContentLoaded--16031267254235116822361
domInteractive--11935597100121322
firstPaint--------
backgroundConnect--3081141481292284905
firstReactRender--18146051822
initialActions--106122
loadScripts--15481251252532116232341
setupStore--1298807191110652
numNetworkReqs--71391904092177
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15811305204116416831857
load--13611157167711314511543
domContentLoaded--13601157167711314511543
domInteractive--752719440105143
firstPaint--------
backgroundConnect--71232605283185
firstReactRender--13102321418
initialActions--102012
loadScripts--1317114016509513761494
setupStore--184265371274
numNetworkReqs--221285161969
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30422131725183233724396
load--16871256548653618712644
domContentLoaded--16861250548653618712643
domInteractive--13331771143124561
firstPaint--------
backgroundConnect--3781193184408377935
firstReactRender--23157192432
initialActions--207123
loadScripts--16271235544652118072489
setupStore--1408779183155565
numNetworkReqs--69382124488183
19--------
📊 Page Load Benchmark Results

Current Commit: a681cd2 | Date: 2/4/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 723ms (±35ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.01s 1.32s 1.06s 1.32s
domContentLoaded 723ms 35ms 703ms 988ms 738ms 988ms
firstPaint 78ms 12ms 64ms 184ms 88ms 184ms
firstContentfulPaint 78ms 12ms 64ms 184ms 88ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.55 KiB (0.03%)
  • ui: 52.04 KiB (0.63%)
  • common: 3.05 KiB (0.03%)

@chaitanyapotti chaitanyapotti added this pull request to the merge queue Feb 9, 2026
Merged via the queue into main with commit e6501cf Feb 9, 2026
179 checks passed
@chaitanyapotti chaitanyapotti deleted the feat/subscription-cancel-type branch February 9, 2026 14:15
@github-actions github-actions bot locked and limited conversation to collaborators Feb 9, 2026
@metamaskbot metamaskbot added the release-13.19.0 Issue or pull request that will be included in release 13.19.0 label Feb 9, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-shield release-13.19.0 Issue or pull request that will be included in release 13.19.0 size-M team-shield Shield team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants