fix: hide unmapped runtime frames by default in error overlay#6841
fix: hide unmapped runtime frames by default in error overlay#6841chenjiahan merged 1 commit intomainfrom
Conversation
✅ Deploy Preview for rsbuild ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR improves the error overlay experience by hiding unmapped runtime frames by default, only showing them in verbose mode. This reduces noise in stack traces where frames cannot be resolved via source maps and typically point to raw bundle offsets that are not actionable for developers.
Key Changes
- Modified stack trace formatting to track whether a frame was successfully parsed via source maps
- Unmapped frames are now conditionally displayed based on verbose logging mode
- Updated test expectations to reflect the cleaner default output
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/core/src/server/browserLogs.ts | Adds parsed flag to track source map resolution success; wraps unmapped frame display in isVerbose() check to hide low-signal frames by default |
| e2e/cases/browser-logs/stack-trace-full/index.test.ts | Updates expected output to exclude unmapped frame locations (e.g., http://localhost URLs) while preserving method names |
Comments suppressed due to low confidence (1)
e2e/cases/browser-logs/stack-trace-full/index.test.ts:12
- The new behavior hides unmapped frames by default, but the test suite doesn't verify that these frames ARE shown when verbose mode is enabled. Consider adding a test case that enables verbose logging and verifies unmapped frames appear in the output.
rspackTest('should display formatted full stack trace', async ({ dev }) => {
const rsbuild = await dev();
await rsbuild.expectLog(EXPECTED_LOG, { posix: true });
});
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Summary
When a stack frame cannot be resolved via source maps, it often points to raw bundle offsets, which are usually low-signal and not actionable for end users. Showing these frames by default can add unnecessary noise.
With this change, unmapped frames only show in verbose mode, this keeps the overlay clean by default.
Before
After
Checklist