Merged
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
willccbb
approved these changes
Feb 4, 2026
Member
|
any way to preserve the original logs in the "logs" panel without it showing as "verifiers.stderr" ? |
willccbb
approved these changes
Feb 4, 2026
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.
Description
Add fd-level stdout/stderr capture during Rich live eval to prevent stray output from corrupting the TUI; route it into the existing Logs panel and restore fds/terminal state on exit.
Cause of the error: non‑verifiers output (prints, warnings, tracebacks, subprocess stderr) was writing to the terminal while Rich Live was drawing. That moves the cursor, so the next refresh paints at the wrong location and you get overlapping panels. The fix intercepts fd 1/2 during the live display, so those writes no longer hit the terminal.
Turns a hot mess like this:
Into something nice like this (notice that the logs actually capture the outputs that previously caused the display issues):
Type of Change
Testing
uv run pytestlocally.Checklist
Note
Medium Risk
Touches low-level process I/O redirection and thread lifecycle; mistakes could hang or lose output or fail to restore terminal state on exit.
Overview
Prevents Rich
LiveTUI corruption by capturing fd-levelstdout/stderrduringBaseDisplay.start()and routing that output into the existing Logs panel instead of letting stray prints/warnings write to the terminal.Adds a background
_FDToLoggerreader thread per stream, adjustsDisplayLogHandlerformatting for these newverifiers.*.(stdout|stderr)loggers, and ensuresBaseDisplay.stop()restores original fds/streams and joins threads/cleans up the temporary console file.Written by Cursor Bugbot for commit da3f6a4. This will update automatically on new commits. Configure here.