-
Notifications
You must be signed in to change notification settings - Fork 27.6k
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
[Error Overlay] Comprehensive refinement #75471
base: canary
Are you sure you want to change the base?
Conversation
Failing test suitesCommit: 8f833ec
Expand output● app dir - dynamic error trace › should show the error trace
● app dir - dynamic error trace › should show the error trace
Read more about building and testing Next.js in contributing.md.
Expand output● hook-function-names › should show readable hook names in stacks
● hook-function-names › should show readable hook names in stacks for default-exported components
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir - owner-stack-invalid-element-type › should catch invalid element from a browser only component
● app-dir - owner-stack-invalid-element-type › should catch invalid element from a browser only component
● app-dir - owner-stack-invalid-element-type › should catch invalid element from a rsc component
● app-dir - owner-stack-invalid-element-type › should catch invalid element from a rsc component
● app-dir - owner-stack-invalid-element-type › should catch invalid element from on ssr client component
● app-dir - owner-stack-invalid-element-type › should catch invalid element from on ssr client component
Read more about building and testing Next.js in contributing.md.
Expand output● ssr-only-error › should show ssr only error in error overlay
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on rsc component
● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on rsc component
● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on ssr client component
● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on ssr client component
Read more about building and testing Next.js in contributing.md.
Expand output● eslint plugin deps › should work
● Test suite failed to run
Read more about building and testing Next.js in contributing.md. |
…ental/internal/components/errors/call-stack/call-stack.tsx Co-authored-by: Jiwon Choi <[email protected]>
7c5f45d
to
df333ae
Compare
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
buildDuration | 18.6s | 15.5s | N/A |
buildDurationCached | 14.7s | 12.8s | N/A |
nodeModulesSize | 391 MB | 392 MB | |
nextStartRea..uration (ms) | 416ms | 417ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
5306-HASH.js gzip | 54 kB | 54 kB | N/A |
8276.HASH.js gzip | 169 B | 168 B | N/A |
8377-HASH.js gzip | 5.46 kB | 5.46 kB | N/A |
bccd1874-HASH.js gzip | 52.9 kB | 52.9 kB | N/A |
framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
main-app-HASH.js gzip | 240 B | 241 B | N/A |
main-HASH.js gzip | 34.5 kB | 34.4 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
_app-HASH.js gzip | 193 B | 193 B | ✓ |
_error-HASH.js gzip | 193 B | 193 B | ✓ |
amp-HASH.js gzip | 512 B | 510 B | N/A |
css-HASH.js gzip | 343 B | 342 B | N/A |
dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
edge-ssr-HASH.js gzip | 265 B | 265 B | ✓ |
head-HASH.js gzip | 363 B | 362 B | N/A |
hooks-HASH.js gzip | 393 B | 392 B | N/A |
image-HASH.js gzip | 4.59 kB | 4.58 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.35 kB | 2.35 kB | N/A |
routerDirect..HASH.js gzip | 328 B | 328 B | ✓ |
script-HASH.js gzip | 397 B | 397 B | ✓ |
withRouter-HASH.js gzip | 323 B | 326 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 3.59 kB | 3.59 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
_buildManifest.js gzip | 748 B | 747 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
index.html gzip | 524 B | 524 B | ✓ |
link.html gzip | 539 B | 538 B | N/A |
withRouter.html gzip | 520 B | 520 B | ✓ |
Overall change | 1.04 kB | 1.04 kB | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
edge-ssr.js gzip | 129 kB | 129 kB | N/A |
page.js gzip | 210 kB | 210 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 670 B | 665 B | N/A |
middleware-r..fest.js gzip | 155 B | 156 B | N/A |
middleware.js gzip | 31.3 kB | 31.3 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 844 B | 844 B | ✓ |
Next Runtimes Overall increase ⚠️
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 385 kB | 393 kB | |
app-page-exp..prod.js gzip | 132 kB | 132 kB | ✓ |
app-page-tur..prod.js gzip | 145 kB | 145 kB | ✓ |
app-page-tur..prod.js gzip | 141 kB | 141 kB | ✓ |
app-page.run...dev.js gzip | 372 kB | 380 kB | |
app-page.run..prod.js gzip | 128 kB | 128 kB | ✓ |
app-route-ex...dev.js gzip | 39.3 kB | 39.3 kB | ✓ |
app-route-ex..prod.js gzip | 25.6 kB | 25.6 kB | ✓ |
app-route-tu..prod.js gzip | 25.6 kB | 25.6 kB | ✓ |
app-route-tu..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
app-route.ru...dev.js gzip | 40.8 kB | 40.8 kB | ✓ |
app-route.ru..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
dist_client_...dev.js gzip | 356 B | 356 B | ✓ |
dist_client_...dev.js gzip | 349 B | 349 B | ✓ |
pages-api-tu..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
pages-api.ru...dev.js gzip | 11.8 kB | 11.8 kB | ✓ |
pages-api.ru..prod.js gzip | 9.68 kB | 9.68 kB | ✓ |
pages-turbo...prod.js gzip | 21.9 kB | 21.9 kB | ✓ |
pages.runtim...dev.js gzip | 31.5 kB | 31.5 kB | ✓ |
pages.runtim..prod.js gzip | 21.9 kB | 21.9 kB | ✓ |
server.runti..prod.js gzip | 60.2 kB | 60.2 kB | ✓ |
Overall change | 1.65 MB | 1.67 MB |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js rf/errors-overlay-polish | Change | |
---|---|---|---|
0.pack gzip | 2.11 MB | 2.1 MB | N/A |
index.pack gzip | 75.4 kB | 75.5 kB | |
Overall change | 75.4 kB | 75.5 kB |
Diff details
Diff for main-HASH.js
Diff too large to display
Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page.runtime.dev.js
failed to diff
…into rf/errors-overlay-polish
f1eac65
to
0bd71a1
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.
Until we figure out what's off with the snapshots. Removed blanklines is fine. Showing unsourcemapped stackframes is not.
This PR adds a lot of polish to the experimental Error Overlay:
CleanShot.2025-01-30.at.13.12.34.mp4
Motion
scale
,opacity
)Design
app.tsx
)backdrop-filter: blur()
for backdrop to blend with application contentfont-variant-numeric: tabular-nums
for ←→ switcher to avoid layout shiftInteractions
root.activeElement
CleanShot.2025-01-30.at.21.37.30-converted.mp4
Closes NDX-711
Closes NDX-744