Skip to content
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

Merged
merged 6 commits into from
Jan 6, 2025

Conversation

huozhi
Copy link
Member

@huozhi huozhi commented Dec 9, 2024

What

Previously the node: are implicitly filtered out on error overlay. We should drop that logic instead of moving node:* 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 files

Fixes NDX-555

Copy link
Member Author

huozhi commented Dec 9, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

@huozhi huozhi changed the title Move node: to ignore list fix: move node: prefix to ignored list Dec 9, 2024
@ijjk
Copy link
Member

ijjk commented Dec 9, 2024

Tests Passed

@ijjk
Copy link
Member

ijjk commented Dec 9, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
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 ⚠️ +7.27 kB
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 ⚠️ +4.02 kB
index.pack gzip 74.4 kB 74.3 kB N/A
Overall change 2.08 MB 2.09 MB ⚠️ +4.02 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
Commit: b24b95f

@huozhi huozhi force-pushed the 12-09-fix_node_internals_display_on_error_overlay branch 4 times, most recently from bb03e20 to a7b0f4d Compare December 27, 2024 14:55
@huozhi huozhi marked this pull request as ready for review January 5, 2025 09:52
@huozhi huozhi requested a review from eps1lon January 5, 2025 09:52
Copy link
Member

@eps1lon eps1lon left a 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.

@huozhi
Copy link
Member Author

huozhi commented Jan 6, 2025

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.

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.

@huozhi huozhi force-pushed the 12-09-fix_node_internals_display_on_error_overlay branch from c5d356b to b24b95f Compare January 6, 2025 11:40
@huozhi huozhi changed the title fix: move node: prefix to ignored list fix: move node internals stack frames to ignored list Jan 6, 2025
@huozhi huozhi changed the title fix: move node internals stack frames to ignored list fix: add node internals stack frames to ignored list Jan 6, 2025
@huozhi
Copy link
Member Author

huozhi commented Jan 6, 2025

Updated the screenshots comparision in the PR description

@huozhi huozhi merged commit 286c14d into canary Jan 6, 2025
134 checks passed
@huozhi huozhi deleted the 12-09-fix_node_internals_display_on_error_overlay branch January 6, 2025 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants