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

[dev-overlay] add error env name label #76003

Merged
merged 13 commits into from
Feb 17, 2025

Conversation

devjiwonchoi
Copy link
Member

@devjiwonchoi devjiwonchoi commented Feb 13, 2025

This PR moved the [ {envName} ] to a separate label chip at the header for better indication and visibility. Also, slightly changed the label colors.

-------- Before After
Light CleanShot 2025-02-14 at 04 15 11 CleanShot 2025-02-14 at 04 12 39
Dark CleanShot 2025-02-14 at 04 15 18 CleanShot 2025-02-14 at 04 12 34

Closes NDX-754

Copy link
Member Author

devjiwonchoi commented Feb 13, 2025

@ijjk
Copy link
Member

ijjk commented Feb 13, 2025

Tests Passed

@ijjk
Copy link
Member

ijjk commented Feb 13, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label Change
buildDuration 18.1s 16.9s N/A
buildDurationCached 15.8s 13.6s N/A
nodeModulesSize 393 MB 393 MB ⚠️ +57.5 kB
nextStartRea..uration (ms) 438ms 441ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label Change
5306-HASH.js gzip 55.2 kB 55.3 kB ⚠️ +123 B
7048.HASH.js gzip 168 B 168 B
8377-HASH.js gzip 5.46 kB 5.46 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 245 B 245 B
main-HASH.js gzip 34.9 kB 34.9 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB
Overall change 110 kB 110 kB ⚠️ +123 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label 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 02-13-_dev-overlay_add_error_env_name_label Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 193 B 192 B N/A
amp-HASH.js gzip 513 B 511 B N/A
css-HASH.js gzip 342 B 342 B
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 264 B N/A
head-HASH.js gzip 363 B 360 B N/A
hooks-HASH.js gzip 393 B 390 B N/A
image-HASH.js gzip 4.59 kB 4.59 kB N/A
index-HASH.js gzip 268 B 266 B N/A
link-HASH.js gzip 2.35 kB 2.35 kB
routerDirect..HASH.js gzip 327 B 326 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 325 B 325 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.72 kB 3.72 kB
Client Build Manifests
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label 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 02-13-_dev-overlay_add_error_env_name_label Change
index.html gzip 523 B 521 B N/A
link.html gzip 539 B 535 B N/A
withRouter.html gzip 520 B 517 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label Change
edge-ssr.js gzip 130 kB 130 kB N/A
page.js gzip 211 kB 211 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label Change
middleware-b..fest.js gzip 675 B 672 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.4 kB 31.4 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 02-13-_dev-overlay_add_error_env_name_label Change
app-page-exp...dev.js gzip 395 kB 395 kB ⚠️ +285 B
app-page-exp..prod.js gzip 133 kB 133 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 384 kB 384 kB ⚠️ +288 B
app-page.run..prod.js gzip 129 kB 129 kB
app-route-ex...dev.js gzip 39.4 kB 39.4 kB
app-route-ex..prod.js gzip 25.7 kB 25.7 kB
app-route-tu..prod.js gzip 25.7 kB 25.7 kB
app-route-tu..prod.js gzip 25.5 kB 25.5 kB
app-route.ru...dev.js gzip 39.1 kB 39.1 kB
app-route.ru..prod.js gzip 25.5 kB 25.5 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.72 kB 9.72 kB
pages-api.ru...dev.js gzip 11.8 kB 11.8 kB
pages-api.ru..prod.js gzip 9.72 kB 9.72 kB
pages-turbo...prod.js gzip 22 kB 22 kB
pages.runtim...dev.js gzip 31.6 kB 31.6 kB
pages.runtim..prod.js gzip 22 kB 22 kB
server.runti..prod.js gzip 61.2 kB 61.2 kB
Overall change 1.68 MB 1.68 MB ⚠️ +573 B
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js 02-13-_dev-overlay_add_error_env_name_label Change
0.pack gzip 2.12 MB 2.12 MB ⚠️ +2.85 kB
index.pack gzip 76.8 kB 75.7 kB N/A
Overall change 2.12 MB 2.12 MB ⚠️ +2.85 kB
Diff details
Diff for 5306-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js

Diff too large to display

Diff for app-page.runtime.dev.js

Diff too large to display

Commit: 6c7d14a

@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch from 678a902 to 73b87b0 Compare February 13, 2025 16:37
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_update_nodejs_inspector_icon branch from 73cdf9d to 4037c59 Compare February 13, 2025 16:37
@ijjk ijjk added the tests label Feb 13, 2025
@devjiwonchoi devjiwonchoi changed the base branch from 02-13-_dev-overlay_update_nodejs_inspector_icon to graphite-base/76003 February 13, 2025 17:23
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch from 250a4b1 to da7eb60 Compare February 13, 2025 17:40
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch from da7eb60 to 0ee93c0 Compare February 13, 2025 17:43
@devjiwonchoi devjiwonchoi changed the base branch from graphite-base/76003 to canary February 13, 2025 17:43
@devjiwonchoi devjiwonchoi marked this pull request as ready for review February 13, 2025 19:19
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch 5 times, most recently from 35dd753 to 472ccef Compare February 13, 2025 21:39
@@ -109,3 +111,44 @@ export function formatConsoleArgs(args: unknown[]): string {

return result
}

// TODO: Infer type for `environmentName` if available.
export function parseConsoleArgs(args: unknown[]): {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's call it parseReplayedError.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically it's not only for replayed error isn't it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We call it with any console args in the current factoring as far as I can tell. So parseReplayedError is misleading since it still needs to handle non-replayed console.error.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea fair, but parseConsoleArgs is also too general that we're trying to parse the replayed error format here. still open to rename it later

4 | }
5 |",
"title": "Console Error
Server",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This badge need to be a snapshot in the redbox result, we can't mix it into the title property, it's misleading that "Server" is part of the title. We need to create a new util to locate the badge and read the text

Suggested change
Server",
Server",

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title became the badges in the new overlay. I agree that we need to change related attributes and naming.
Can we do that in a follow-up?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can stay for now until I finish the toDisplayRedbox matcher.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will be a different field in the new Redbox snapshot matchers: #73621

`)
} else {
expect(result).toMatchInlineSnapshot(`
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the two snapshots are identical, they can be merged

Copy link
Member Author

@devjiwonchoi devjiwonchoi Feb 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just forked current testing instead of merging to prevent adding back if-else due to possible divergence between webpack and turbopack snapshots.

IMO the merging should be done separately.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's the same, it shouldn't fork. We want to get rid of any divergence between bundlers so any fork stands out and isn't easy to scan for if it really does fork.

if (isNewDevOverlay) {
expect({ count, title, description }).toEqual({
count: 1,
title: 'Unhandled Runtime Error\nCache',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, the badge should be a new property, otherwise it looks like the error.message is 'Unhandled Runtime Error\nCache'

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@devjiwonchoi devjiwonchoi requested a review from huozhi February 14, 2025 15:45
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch 3 times, most recently from 36f2756 to 7ba46ad Compare February 14, 2025 22:11
@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. examples Issue was opened via the examples template. labels Feb 14, 2025
Copy link

vercel bot commented Feb 14, 2025

Notifying the following users due to files changed in this PR based on this repo's notify modifiers:

@timneutkens, @ijjk, @shuding, @huozhi:

packages/next/src/server/config.ts

@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch from 7ba46ad to e5da966 Compare February 14, 2025 22:12
@devjiwonchoi devjiwonchoi removed examples Issue was opened via the examples template. create-next-app Related to our CLI tool for quickly starting a new Next.js application. labels Feb 14, 2025
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch from e5da966 to ff89614 Compare February 14, 2025 22:14
@devjiwonchoi devjiwonchoi force-pushed the 02-13-_dev-overlay_add_error_env_name_label branch 2 times, most recently from a2d23d2 to bf1c999 Compare February 14, 2025 23:49
@devjiwonchoi devjiwonchoi merged commit 0a4cc0a into canary Feb 17, 2025
133 checks passed
@devjiwonchoi devjiwonchoi deleted the 02-13-_dev-overlay_add_error_env_name_label branch February 17, 2025 07:05
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.

4 participants