-
Notifications
You must be signed in to change notification settings - Fork 27.3k
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
[DevOverlay] Add Call Stack #74658
base: 01-08-_devoverlay_apply_turbopack_styling
Are you sure you want to change the base?
[DevOverlay] Add Call Stack #74658
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Tests Passed |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
buildDuration | 36.6s | 32.4s | N/A |
buildDurationCached | 30.2s | 27.1s | N/A |
nodeModulesSize | 417 MB | 417 MB | |
nextStartRea..uration (ms) | 942ms | 823ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
5306-HASH.js gzip | 53.3 kB | 53.3 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 | 53 kB | 53 kB | ✓ |
framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
main-app-HASH.js gzip | 240 B | 243 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 | 53 kB | 53 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | 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 01-09-_devoverlay_add_call_stack | 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 01-09-_devoverlay_add_call_stack | 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 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
index.html gzip | 522 B | 521 B | N/A |
link.html gzip | 538 B | 535 B | N/A |
withRouter.html gzip | 518 B | 518 B | ✓ |
Overall change | 518 B | 518 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
edge-ssr.js gzip | 128 kB | 128 kB | N/A |
page.js gzip | 207 kB | 207 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 671 B | 668 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 Overall increase ⚠️
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | 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 | 367 kB | 369 kB | |
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 | 355 kB | 357 kB | |
app-page.run..prod.js gzip | 126 kB | 126 kB | ✓ |
app-route-ex...dev.js gzip | 37.6 kB | 37.6 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 | 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 | 2.46 MB | 2.46 MB |
build cache
vercel/next.js canary | vercel/next.js 01-09-_devoverlay_add_call_stack | Change | |
---|---|---|---|
0.pack gzip | 2.1 MB | 2.09 MB | N/A |
index.pack gzip | 75.1 kB | 74.7 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
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
17a0c3b
to
ff7bc1d
Compare
8c450e6
to
44937e8
Compare
ff7bc1d
to
8ca28ed
Compare
44937e8
to
95a41b2
Compare
8ca28ed
to
9c0f59f
Compare
95a41b2
to
baab20c
Compare
9c0f59f
to
571776d
Compare
baab20c
to
5e65707
Compare
571776d
to
cd1026d
Compare
5e65707
to
80f0b0f
Compare
cd1026d
to
7c3592c
Compare
80f0b0f
to
6f128a6
Compare
7c3592c
to
3eed2c6
Compare
6f128a6
to
55a52d7
Compare
3eed2c6
to
1d49530
Compare
55a52d7
to
2bd7bf5
Compare
1d49530
to
676404c
Compare
2bd7bf5
to
1742596
Compare
676404c
to
9656b7f
Compare
1742596
to
c4ff1a3
Compare
9656b7f
to
f53a05b
Compare
c4ff1a3
to
38f19e5
Compare
}, [frames, isIgnoreListOpen]) | ||
|
||
return ( | ||
<div className="error-overlay-call-stack-container"> |
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.
we'd better give a nextjs prefix for our own components or use data-* attribute to separate them from user's css
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.
AFAIK Shadow DOM encapsulates css
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.
But that's good idea, will follow up!
<path | ||
fillRule="evenodd" | ||
clipRule="evenodd" | ||
d="M8.70722 2.39641C8.3167 2.00588 7.68353 2.00588 7.29301 2.39641L4.46978 5.21963L3.93945 5.74996L5.00011 6.81062L5.53044 6.28029L8.00011 3.81062L10.4698 6.28029L11.0001 6.81062L12.0608 5.74996L11.5304 5.21963L8.70722 2.39641ZM5.53044 9.71963L5.00011 9.1893L3.93945 10.25L4.46978 10.7803L7.29301 13.6035C7.68353 13.994 8.3167 13.994 8.70722 13.6035L11.5304 10.7803L12.0608 10.25L11.0001 9.1893L10.4698 9.71963L8.00011 12.1893L5.53044 9.71963Z" |
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.
not blocking but feels svg path can be optimized, can bypass some svg optimization tool before adding into code
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.
Will follow up, thanks!
display: flex; | ||
justify-content: space-between; | ||
align-items: center; | ||
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.
few unnecessary line breaks?
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.
They are somewhat grouped, but I can just put them in one. Mind if I follow up?
f53a05b
to
40ca927
Compare
38f19e5
to
f680559
Compare
40ca927
to
ad48eba
Compare
f03e22e
to
392ed35
Compare
} | ||
|
||
export const CALL_STACK_FRAME_STYLES = css` | ||
div[data-nextjs-call-stack-frame] { |
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.
why we have div and button both are applied with [data-nextjs-call-stack-frame]
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.
When there is the source to open the editor, it should be clickable, so use the button.
When the button is used, the "text-dragging" experience is not great (maybe it's my CSS skill issue).
So if it is unclickable, used div
to preserve the text-dragging experience.
CleanShot.2025-01-09.at.06.52.55.mp4
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.
Let's use div, and to not open the editor it can be controlled by classname and a early break in onClick handler. having different element to vary the behavior is tricky
669a4a0
to
10c4476
Compare
392ed35
to
739008d
Compare
10c4476
to
8eb0b85
Compare
739008d
to
7704012
Compare
This PR added style for Call Stack and applied the following:
RuntimeError
component to respecting components.Light
CleanShot.2025-01-09.at.07.18.40.mp4
Dark
CleanShot.2025-01-09.at.07.20.34.mp4
Closes NDX-610