-
Notifications
You must be signed in to change notification settings - Fork 27.4k
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
fix: add node internals stack frames to ignored list #73698
fix: add node internals stack frames to ignored list #73698
Conversation
Tests Passed |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
buildDuration | 21.4s | 19.3s | N/A |
buildDurationCached | 18.5s | 15.7s | N/A |
nodeModulesSize | 417 MB | 417 MB | |
nextStartRea..uration (ms) | 527ms | 537ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
1187-HASH.js gzip | 52.6 kB | 52.6 kB | N/A |
8276.HASH.js gzip | 169 B | 168 B | N/A |
8377-HASH.js gzip | 5.44 kB | 5.44 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 | 232 B | 235 B | N/A |
main-HASH.js gzip | 34.1 kB | 34.1 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 12-09-fix_node_internals_display_on_error_overlay | 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 12-09-fix_node_internals_display_on_error_overlay | 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.57 kB | 4.57 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.35 kB | 2.34 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 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
_buildManifest.js gzip | 749 B | 747 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
index.html gzip | 524 B | 523 B | N/A |
link.html gzip | 540 B | 537 B | N/A |
withRouter.html gzip | 521 B | 520 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
edge-ssr.js gzip | 128 kB | 128 kB | N/A |
page.js gzip | 206 kB | 206 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 670 B | 667 B | N/A |
middleware-r..fest.js gzip | 155 B | 156 B | N/A |
middleware.js gzip | 31.2 kB | 31.2 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 844 B | 844 B | ✓ |
Next Runtimes
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
274-experime...dev.js gzip | 322 B | 322 B | ✓ |
274.runtime.dev.js gzip | 314 B | 314 B | ✓ |
app-page-exp...dev.js gzip | 363 kB | 363 kB | N/A |
app-page-exp..prod.js gzip | 129 kB | 129 kB | ✓ |
app-page-tur..prod.js gzip | 142 kB | 142 kB | ✓ |
app-page-tur..prod.js gzip | 138 kB | 138 kB | ✓ |
app-page.run...dev.js gzip | 352 kB | 352 kB | N/A |
app-page.run..prod.js gzip | 125 kB | 125 kB | ✓ |
app-route-ex...dev.js gzip | 37.5 kB | 37.5 kB | ✓ |
app-route-ex..prod.js gzip | 25.5 kB | 25.5 kB | ✓ |
app-route-tu..prod.js gzip | 25.5 kB | 25.5 kB | ✓ |
app-route-tu..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
app-route.ru...dev.js gzip | 39.2 kB | 39.2 kB | ✓ |
app-route.ru..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
pages-api-tu..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
pages-api.ru...dev.js gzip | 11.6 kB | 11.6 kB | ✓ |
pages-api.ru..prod.js gzip | 9.68 kB | 9.68 kB | ✓ |
pages-turbo...prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
pages.runtim...dev.js gzip | 27.5 kB | 27.5 kB | ✓ |
pages.runtim..prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
server.runti..prod.js gzip | 916 kB | 916 kB | ✓ |
Overall change | 1.73 MB | 1.73 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js 12-09-fix_node_internals_display_on_error_overlay | Change | |
---|---|---|---|
0.pack gzip | 2.08 MB | 2.09 MB | |
index.pack gzip | 74.4 kB | 74.3 kB | N/A |
Overall change | 2.08 MB | 2.09 MB |
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
bb03e20
to
a7b0f4d
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.
FYI We don't have a solution for ignore-listing node:
yet. In the app router, React will automatically filter out node:
when replaying errors in the browser anyway. And we're lobbying Chrome to automatically include node:
in their default ignore-list but no signal yet.
This screenshot should be the expanded case.
I can't see a screenshot.
packages/next/src/client/components/react-dev-overlay/server/middleware-turbopack.ts
Outdated
Show resolved
Hide resolved
Yea I was aware of it, so I didn't add the tests for App Router but Pages Router. Since Pages Router error is directly displaying the server error itself rather than replying the server error in browser. The browser environment doesn't have any node runtime so kinda makes sense to filtered out for replying case atm as it's not perfect with Chrome. Thus I was thinking we should probably do it for Pages Router server error because there's no browser replying involved, and it's also a direction we're trying to head to. |
c5d356b
to
b24b95f
Compare
Updated the screenshots comparision in the PR description |
What
Previously the
node:
are implicitly filtered out on error overlay. We should drop that logic instead of movingnode:*
frames into ignore list so that users can still see it when uncollapse the full stack instead of missing the information. As nodejs internals are also kind of "externals" that users can't do anything with it, so they're "ignored"Especially in pages router where the errors are still not showing up even you expand the frame.
Expected
This `URL` should be the listed in the expanded frames.
Observed
We filtered it out on the error overlay, so it's not showing up
This PR also move the tests outside of the
test/development/acceptance/ReactRefreshLogBox.test.ts
to other two testing filesFixes NDX-555