Draft
Conversation
|
Cursor Agent can help with this pull request. Just |
packages/next/src/next-devtools/dev-overlay/container/runtime-error/index.tsx
Outdated
Show resolved
Hide resolved
packages/next/src/next-devtools/dev-overlay/components/call-stack/call-stack.tsx
Outdated
Show resolved
Hide resolved
packages/next/src/next-devtools/dev-overlay/components/call-stack/call-stack.tsx
Outdated
Show resolved
Hide resolved
Collaborator
|
Allow CI Workflow Run
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer |
eps1lon
commented
Jan 22, 2026
packages/next/src/next-devtools/dev-overlay/components/call-stack-frame/call-stack-frame.tsx
Outdated
Show resolved
Hide resolved
Collaborator
Stats from current PR🔴 1 regression
📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles: **399 kB** → **399 kB** ✅ -3 B80 files with content-based hashes (individual files not comparable between builds) Server Middleware
Build DetailsBuild Manifests
📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
📎 Tarball URL |
packages/next/src/next-devtools/dev-overlay/container/runtime-error/index.tsx
Outdated
Show resolved
Hide resolved
eps1lon
commented
Jan 22, 2026
test/development/app-dir/error-overlay/error-ignored-frames/error-ignored-frames.test.ts
Outdated
Show resolved
Hide resolved
packages/next/src/next-devtools/dev-overlay/components/call-stack-frame/call-stack-frame.tsx
Show resolved
Hide resolved
5b640ce to
666978f
Compare
da8e0dd to
81c79a2
Compare
81c79a2 to
6e9f45c
Compare
- Add click/keyboard support to select stack frames in the call stack - Show codeframe for any selectable stack frame (not just the first one) - Codeframe visibility based on ignore list state: only show codeframe for visible frames (hidden when ignore list is collapsed) - Improve ignore list detection for monorepo workspace paths - Ignore frames with no useful source location (likely internal framework code) - Use accessible faux nested interactive controls pattern - Add tests for frame selection behavior
6e9f45c to
c85772c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cursor task needed too much hand-holding. Used Cursor for scaffolding and then fixed manually.
Next.js will ignore-list 3rd party modules by default and show the codeframe of the top stackframe. While this is sufficient for most cases, it's not always suitable. Ignore-listing is just a binary flag while modules are really spread across different "levels of interest" (e.g. product code vs repo library code vs framework code).
Sometimes you do want to look at frames below or above or maybe even in ignore-lists. Interactive terminals like the one browser devtools provide already have affordances to freely navigate between stackframes.
This PR also adds these affordances to the Redbox. Codeframes can be switched either by clicking a different stackframe or via keyboard navigation. Only stackframes that have a codeframe are selectable.
Complexity mostly comes from having to reconcile selection when the ignore-listing is toggled and considering what is selectable during navigation.
Test plan