Skip to content

Conversation

@n3ps
Copy link
Contributor

@n3ps n3ps commented Jan 30, 2026

Description

Wrap each home screen tab in their own error boundaries

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

Screenshots/Recordings

Before

Before After
image image

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

Low Risk
Low risk UI resilience change: it mainly adds error isolation and Sentry reporting around tab content. Main concern is masking underlying UI errors behind a generic fallback message in individual tabs.

Overview
Adds a new ErrorBoundary component that catches render errors, reports them via captureException, and displays a localized somethingWentWrong fallback.

Wraps each Account Overview tab’s content (tokens, perps, defi, nfts, activity) in its own ErrorBoundary so a crash in one tab doesn’t take down the entire home screen.

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

@n3ps n3ps requested review from a team as code owners January 30, 2026 22:18
@n3ps n3ps added the team-core-extension-ux Core Extension UX team label Jan 30, 2026
@github-actions
Copy link
Contributor

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.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 30, 2026

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (1 files, +18 -12)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 account-overview/
          • 📄 account-overview-tabs.tsx +18 -12

👨‍🔧 @MetaMask/core-extension-ux (1 files, +18 -12)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 account-overview/
          • 📄 account-overview-tabs.tsx +18 -12

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 30, 2026

Builds ready [6cf1fd2]
UI Startup Metrics (1316 ± 110 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--13161064170111013721475
load--112089614219811751267
domContentLoaded--111489214149711701263
domInteractive--2616104192276
firstPaint--171641426190199318
backgroundConnect--23421728210238252
firstReactRender--18113852028
initialActions--106114
loadScripts--8946861182979501045
setupStore--1362651624
numNetworkReqs--221594171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18951517279418019752202
load--1065951177313910681465
domContentLoaded--1051947175613610561456
domInteractive--36181462436108
firstPaint--183681479153222394
backgroundConnect--32228343429336380
firstReactRender--24145982645
initialActions--108112
loadScripts--81171614371228151182
setupStore--1553561826
numNetworkReqs--1255125352145241
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--84466612291189541039
load--7025951093106762937
domContentLoaded--6965921087105754929
domInteractive--251692182278
firstPaint--1056167275114213
backgroundConnect--43171372845112
firstReactRender--15103451625
initialActions--102111
loadScripts--6945891085104747927
setupStore--1162641120
numNetworkReqs--221579171674
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1269858191625214991752
load--70361111151157001040
domContentLoaded--69360711081166841035
domInteractive--35172253332105
firstPaint--1466551981183272
backgroundConnect--15212935240152187
firstReactRender--22163532428
initialActions--103112
loadScripts--69060511011146821026
setupStore--1255751316
numNetworkReqs--1254627259160255
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14171098189416115051733
load--1150947152111212081389
domContentLoaded--1150947152011212081389
domInteractive--78353274899159
firstPaint--------
backgroundConnect--70222225094187
firstReactRender--1394661320
initialActions--102122
loadScripts--1115926150310511641345
setupStore--1155491134
numNetworkReqs--241285191882
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--26151883451149127473899
load--12721044230824312441860
domContentLoaded--12711039230824312431859
domInteractive--12440743110129339
firstPaint--------
backgroundConnect--3181121501283310969
firstReactRender--21155952327
initialActions--2046423
loadScripts--12061028192819611931806
setupStore--1808793228229700
numNetworkReqs--71372344981211
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16601372230217517722002
load--14121182182612614891653
domContentLoaded--14121182182612714881652
domInteractive--993136652133194
firstPaint--------
backgroundConnect--732519346109175
firstReactRender--15105251521
initialActions--103112
loadScripts--13671163173810714061578
setupStore--155118201167
numNetworkReqs--241289201885
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30082197438553632404230
load--16601236275939818922584
domContentLoaded--16591235275939818912584
domInteractive--11632705125110416
firstPaint--------
backgroundConnect--3161071359238342932
firstReactRender--23155762531
initialActions--213123
loadScripts--15941216273935617912452
setupStore--1727872229261674
numNetworkReqs--70362384494172
19--------
📊 Page Load Benchmark Results

Current Commit: 6cf1fd2 | Date: 1/30/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±45ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 721ms (±43ms) 🟢 | historical mean value: 717ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±13ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 45ms 1.01s 1.39s 1.07s 1.39s
domContentLoaded 721ms 43ms 694ms 1.07s 751ms 1.07s
firstPaint 77ms 13ms 60ms 192ms 84ms 192ms
firstContentfulPaint 77ms 13ms 60ms 192ms 84ms 192ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.56 KiB (0.02%)
  • common: 22 Bytes (0%)

Copy link
Member

@gantunesr gantunesr left a comment

Choose a reason for hiding this comment

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

Approved for Accounts CO

Copy link
Contributor

@vinnyhoward vinnyhoward left a comment

Choose a reason for hiding this comment

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

Nice addition. LGTM

Copy link

@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
Contributor

metamaskbotv2 bot commented Jan 31, 2026

Builds ready [7aaddba]
UI Startup Metrics (1308 ± 103 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--13081078175810313601456
load--1114914147710211741280
domContentLoaded--1108912147210211681276
domInteractive--261687162473
firstPaint--1526640366192294
backgroundConnect--2312152638235246
firstReactRender--17104051924
initialActions--106114
loadScripts--89068612441039571053
setupStore--1273041521
numNetworkReqs--211585161568
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--275615679359129227365429
load--1260977184518813581671
domContentLoaded--1236973182918313171643
domInteractive--46192503648138
firstPaint--238791593202276479
backgroundConnect--76430135128725252986
firstReactRender--27174373241
initialActions--108113
loadScripts--964732150116210501308
setupStore--1885492236
numNetworkReqs--1245125449142241
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--790641110197855966
load--65156589683715818
domContentLoaded--64656188982708813
domInteractive--2314102182074
firstPaint--1115660570142204
backgroundConnect--44151653362112
firstReactRender--1483651520
initialActions--104112
loadScripts--64355988781702812
setupStore--1153951123
numNetworkReqs--221588191578
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1258848214524714081707
load--70660310651097021010
domContentLoaded--69559710551096881004
domInteractive--35191612633101
firstPaint--150661001115185296
backgroundConnect--15512935741158260
firstReactRender--22163532427
initialActions--103111
loadScripts--6935951047107686995
setupStore--1244051519
numNetworkReqs--1445231362172256
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15271219216218816291980
load--12361034180512913001457
domContentLoaded--12361034180412913001456
domInteractive--853519240117146
firstPaint--------
backgroundConnect--762623350101192
firstReactRender--14104461418
initialActions--103122
loadScripts--11911017177711412491392
setupStore--185279341160
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--26801899763365928083644
load--12521011217224213461802
domContentLoaded--12521011217124213451802
domInteractive--1313649587139311
firstPaint--------
backgroundConnect--40011515723245461167
firstReactRender--20143442228
initialActions--203123
loadScripts--1185991207418112881536
setupStore--130121274204110675
numNetworkReqs--83322384994212
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16831402227417718052053
load--14321203177311915141659
domContentLoaded--14311203177311915141659
domInteractive--913025344131154
firstPaint--------
backgroundConnect--68261994490163
firstReactRender--14114741518
initialActions--103122
loadScripts--13921177166810014531562
setupStore--2532745012151
numNetworkReqs--231288191877
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30222120917395731174248
load--15721260275830017212288
domContentLoaded--15721260275830017212286
domInteractive--14733669140139539
firstPaint--------
backgroundConnect--46412656096255991156
firstReactRender--21153752430
initialActions--208123
loadScripts--15121232273627516702098
setupStore--1679780203215650
numNetworkReqs--83372164595194
19--------
📊 Page Load Benchmark Results

Current Commit: 7aaddba | Date: 1/31/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±55ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 722ms (±52ms) 🟢 | historical mean value: 721ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 55ms 1.00s 1.33s 1.21s 1.33s
domContentLoaded 722ms 52ms 692ms 1.02s 873ms 1.02s
firstPaint 75ms 12ms 56ms 180ms 84ms 180ms
firstContentfulPaint 75ms 12ms 56ms 180ms 84ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.57 KiB (0.02%)
  • common: 18 Bytes (0%)

@n3ps n3ps added this pull request to the merge queue Jan 31, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 31, 2026
@n3ps n3ps added this pull request to the merge queue Jan 31, 2026
Merged via the queue into main with commit 4d0c1a4 Jan 31, 2026
332 of 339 checks passed
@n3ps n3ps deleted the n3ps/error-boundary branch January 31, 2026 03:00
@github-actions github-actions bot locked and limited conversation to collaborators Jan 31, 2026
@metamaskbot metamaskbot added the release-13.18.0 Issue or pull request that will be included in release 13.18.0 label Jan 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.18.0 Issue or pull request that will be included in release 13.18.0 size-S team-core-extension-ux Core Extension UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants