-
Notifications
You must be signed in to change notification settings - Fork 5.5k
fix: Fix silently dropped errors in UI #34383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
✨ Files requiring CODEOWNER review ✨✅ @MetaMask/confirmations (1 files, +1 -1)
🔄 @MetaMask/swaps-engineers (2 files, +2 -2)
|
Builds ready [bc9a470]
UI Startup Metrics (1267 ± 70 ms)
Benchmark value 1089 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1081 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 211 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 878 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1398 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 227 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 15 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 962 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2347 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1854 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1847 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 1840 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2509 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2123 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2115 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 61 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 18 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2106 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1492 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1284 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1284 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 32 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 28 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 15 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1258 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1827 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 1496 exceeds gate value 1495 for firefox browserify home p95 load Benchmark value 1496 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded Benchmark value 318 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 54 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 14 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 28 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1744 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1492 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1492 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1467 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2129 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1832 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1832 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 288 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 72 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 61 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 20 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1772 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 1611ms | Sum of p95 exceeds: 1885.8ms Sum of all benchmark exceeds: 3496.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
3f81af0 to
f771e78
Compare
Builds ready [f771e78]
UI Startup Metrics (1298 ± 67 ms)
Benchmark value 1298 exceeds gate value 1234 for chrome browserify home mean uiStartup Benchmark value 1112 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1104 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 217 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 894 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1416 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1228 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1221 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 1210 exceeds gate value 1180 for chrome browserify home p95 firstPaint Benchmark value 240 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 1012 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2484 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1987 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1975 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 12 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1968 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2791 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2344 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2340 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 72 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 357 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 43 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2336 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1488 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1284 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1284 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 116 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 28 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1262 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1816 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 304 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 48 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 17 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 29 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1756 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1489 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1489 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 107 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 53 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1461 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 17 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2254 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1920 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1919 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 355 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 73 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 25 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1883 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 46 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 2255ms | Sum of p95 exceeds: 3564.8ms Sum of all benchmark exceeds: 5819.8ms Bundle size diffs [🚀 Bundle size reduced!]
|
f771e78 to
ea27102
Compare
ea27102 to
5b837e9
Compare
Builds ready [5b837e9]
UI Startup Metrics (1253 ± 47 ms)
Benchmark value 1073 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1066 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 208 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 865 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 222 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 15 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 942 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2389 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1895 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1881 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 24 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 52 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1876 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2811 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2287 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2229 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 66 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 356 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 292 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 12 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2212 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1591 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1354 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1354 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 121 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 33 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 19 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1327 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 16 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1845 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 1564 exceeds gate value 1495 for firefox browserify home p95 load Benchmark value 1564 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded Benchmark value 334 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 72 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 64 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 158 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 17 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 1496 exceeds gate value 1475 for firefox browserify home p95 loadScripts Benchmark value 98 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1742 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1465 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1465 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 7 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1442 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 19 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2034 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1742 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1742 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 274 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 68 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 62 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 23 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1716 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 76 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 1980ms | Sum of p95 exceeds: 2818.8ms Sum of all benchmark exceeds: 4798.8ms |
5b837e9 to
0a35730
Compare
Builds ready [0a35730]
UI Startup Metrics (1278 ± 49 ms)
Benchmark value 1098 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1091 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 213 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 884 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 227 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 967 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2457 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1938 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1926 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 26 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 57 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 1921 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2943 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2373 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2312 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 70 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 409 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 284 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 200 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 23 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2299 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1483 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1283 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1283 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1261 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1731 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 306 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 62 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 42 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 11 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 56 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1730 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1453 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1453 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 57 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 51 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1430 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2014 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1742 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1742 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 265 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 61 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 15 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1709 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 1904ms | Sum of p95 exceeds: 2718.8ms Sum of all benchmark exceeds: 4622.8ms |
0a35730 to
79d5e14
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Inconsistent Sentry Integration Causes Silent Failures
The ui/pages/error-page/error-page.component.tsx file uses an inconsistent Sentry integration pattern, directly accessing globalThis?.sentry?.lastEventId?.() and globalThis?.sentry?.captureFeedback?.() with optional chaining. This contrasts with other files in the commit and the codebase, which import Sentry functions from shared/lib/sentry. This inconsistency can lead to silent failures (e.g., eventId being undefined, feedback submission failing unreported) if Sentry is uninitialized, directly contradicting the PR's goal of fixing silently dropped errors.
ui/pages/error-page/error-page.component.tsx#L69-L75
metamask-extension/ui/pages/error-page/error-page.component.tsx
Lines 69 to 75 in 79d5e14
| e.preventDefault(); | |
| const eventId = globalThis?.sentry?.lastEventId?.(); | |
| globalThis?.sentry?.captureFeedback?.({ | |
| message: feedbackMessage, | |
| associatedEventId: eventId, | |
| }); |
ui/index.js#L305-L306
metamask-extension/ui/index.js
Lines 305 to 306 in 79d5e14
| error.name = 'TestError'; | |
| captureException(error); |
Was this report helpful? Give feedback by reacting with 👍 or 👎
Builds ready [79d5e14]
UI Startup Metrics (1307 ± 56 ms)
Benchmark value 1130 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1123 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 254 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 875 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1434 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1230 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1224 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 45 exceeds gate value 41 for chrome browserify home p95 domInteractive Benchmark value 1208 exceeds gate value 1180 for chrome browserify home p95 firstPaint Benchmark value 269 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 20 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 974 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2447 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1936 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1923 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 22 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 59 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 12 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1916 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2818 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2369 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2249 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 80 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 281 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 247 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 17 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2247 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1493 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1290 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1290 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 111 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 32 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 15 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 8 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1269 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1831 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 295 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 61 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 54 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 15 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 32 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1726 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1471 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1470 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 105 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 29 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 7 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1448 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2048 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1761 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1761 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 336 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 50 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 61 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 13 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1736 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 2083ms | Sum of p95 exceeds: 2937.8ms Sum of all benchmark exceeds: 5020.8ms Bundle size diffs [🚀 Bundle size reduced!]
|
|
LGTM ! |
Update all UI Sentry calls to use `global.Sentry` instead of imported library functions. The imported functions do not work in production builds because they refer to a copy of that code run in a Compartment (by LavaMoat), which is never initialized. The Sentry client we initialize is not in a compartment.
79d5e14 to
44469bf
Compare
| const eventId = globalThis?.sentry?.lastEventId?.(); | ||
|
|
||
| Sentry.captureFeedback({ | ||
| globalThis?.sentry?.captureFeedback?.({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Sentry Calls Fail Due to Optional Chaining
The error-page.component.tsx file inconsistently uses globalThis?.sentry?.method?.() with optional chaining for Sentry calls (e.g., lastEventId, captureFeedback), deviating from the direct Sentry import and usage pattern in other files. This change causes Sentry calls to silently fail if Sentry is not properly initialized, masking potential issues and potentially leading to an undefined eventId that can disrupt feedback submission.
Locations (1)
Builds ready [44469bf]
UI Startup Metrics (1280 ± 62 ms)
Benchmark value 1100 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1093 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 213 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 887 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1373 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 231 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 973 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2442 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1939 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1925 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 22 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 59 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 12 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1917 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2828 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2416 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2245 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 66 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 287 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 26 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2230 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1510 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1300 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1300 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 114 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 27 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 8 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1277 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1795 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 330 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 59 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 39 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 27 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 44 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1750 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1491 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1490 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 113 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 29 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1468 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 14 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2154 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1750 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1750 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 375 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 62 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 19 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1722 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 2101ms | Sum of p95 exceeds: 2823.8ms Sum of all benchmark exceeds: 4924.8ms Bundle size diffs [🚀 Bundle size reduced!]
|
Description
Update all UI Sentry calls to use
global.Sentryinstead of imported library functions.The imported functions do not work in production builds because they refer to a copy of that code run in a Compartment (by LavaMoat), which is never initialized. The Sentry client we initialize is not in a compartment.
Changelog
CHANGELOG entry: null
Related issues
Relates to #34371
Manual testing steps
I don't know the manual steps needed to trigger each of these errors. The manual testing steps for
global.sentryare in this PR though: #34386And in this branch I added additional buttons to confirm that
captureExceptionwasn't working as-is: https://github.com/MetaMask/metamask-extension/compare/test-sentry-error-capture-methods?expand=1Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist