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

[Error Overlay] Comprehensive refinement #75471

Merged
merged 90 commits into from
Feb 5, 2025
Merged

Conversation

raunofreiberg
Copy link
Member

@raunofreiberg raunofreiberg commented Jan 30, 2025

This PR adds a lot of polish to the experimental Error Overlay:

CleanShot.2025-01-30.at.13.12.34.mp4

Motion

  • Stacked layers transition smoothly when switching between errors
  • Height transition for the dialog panel to complement the stacked layers transition
  • Dialog contents and the backdrop fade in as per Geist Motion Guidelines (scale, opacity)

Design

  • New language icon based on file extension à la (app.tsx)
  • Shadows are clipped with translucent borders to visually be more crisp
  • Use backdrop-filter: blur() for backdrop to blend with application content
  • Use font-variant-numeric: tabular-nums for ←→ switcher to avoid layout shift
  • Misc alignment improvements

Interactions

  • Focus is now trapped in the dialog, Escape will un-trap and re-focus the last root.activeElement
  • Focus states for all interactive elements
  • Fluid reveal & collapse of ignored Call Stack items ↓
CleanShot.2025-01-30.at.21.37.30-converted.mp4

Closes NDX-711
Closes NDX-744

@ijjk ijjk added CI approved Approve running CI for fork type: next labels Jan 30, 2025
@raunofreiberg raunofreiberg marked this pull request as ready for review January 30, 2025 09:35
@ijjk
Copy link
Member

ijjk commented Jan 30, 2025

Tests Passed

@raunofreiberg raunofreiberg changed the title [Error Overlay] End-to-end refinement [Error Overlay] Comprehensive refinement Jan 30, 2025
@eps1lon eps1lon force-pushed the rf/errors-overlay-polish branch from 7c5f45d to df333ae Compare February 3, 2025 17:04
@ijjk
Copy link
Member

ijjk commented Feb 3, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js rf/errors-overlay-polish Change
buildDuration 24.5s 19.8s N/A
buildDurationCached 18.7s 16s N/A
nodeModulesSize 392 MB 392 MB ⚠️ +380 kB
nextStartRea..uration (ms) 498ms 490ms 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 241 B 242 B N/A
main-HASH.js gzip 34.5 kB 34.5 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 525 B 524 B N/A
link.html gzip 539 B 538 B N/A
withRouter.html gzip 520 B 520 B
Overall change 520 B 520 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js rf/errors-overlay-polish Change
edge-ssr.js gzip 130 kB 130 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 676 B 671 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 ⚠️ +8.19 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 ⚠️ +8.21 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.5 kB 60.5 kB
Overall change 1.65 MB 1.67 MB ⚠️ +16.4 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js rf/errors-overlay-polish Change
0.pack gzip 2.1 MB 2.11 MB ⚠️ +1.36 kB
index.pack gzip 76 kB 75.2 kB N/A
Overall change 2.1 MB 2.11 MB ⚠️ +1.36 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: e83e8e3

@ijjk ijjk added the tests label Feb 4, 2025
@raunofreiberg raunofreiberg force-pushed the rf/errors-overlay-polish branch from f1eac65 to 0bd71a1 Compare February 4, 2025 10:34
eps1lon
eps1lon previously requested changes Feb 4, 2025
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.

Until we figure out what's off with the snapshots. Removed blanklines is fine. Showing unsourcemapped stackframes is not.

@ztanner ztanner force-pushed the rf/errors-overlay-polish branch from 8da3563 to c56670a Compare February 5, 2025 03:53
@ztanner ztanner dismissed eps1lon’s stale review February 5, 2025 04:16

snapshots were reviewed & only contain whitespace changes

@ztanner ztanner merged commit d70cac3 into canary Feb 5, 2025
130 checks passed
@ztanner ztanner deleted the rf/errors-overlay-polish branch February 5, 2025 04:37
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 19, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants