fix: stop status line before dry-run output corruption#273
Merged
Conversation
DryRun() wrote directly to stdout via the logger while the bubbletea status line was still rendering inline spinner frames to the same fd. This caused output interleaving where the status line animation concatenated with dry-run messages (e.g. the image name appearing joined with a scanner path fragment). Stop the global status line in DryRun() before writing, matching the pattern already used by reviewFindings() in the scanner flow.
Contributor
There was a problem hiding this comment.
Pull request overview
Stops the global Bubble Tea status line before emitting dry-run output to stdout, preventing spinner frames from interleaving with [dry-run] log lines in default TTY mode.
Changes:
- Call
stopStatusLine()insideoutput.DryRun()before logging to stdout. - Add a regression test that simulates the scanner/status-line flow and asserts the status line is stopped after
DryRun().
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| internal/output/output.go | Ensures the global status line is stopped before DryRun() writes to stdout. |
| internal/output/statusline_test.go | Adds a regression test covering the status-line + dry-run interaction. |
… line test - Remove unnecessary time.Sleep calls in TestDryRunStopsStatusLine since both startStatusLine() and stopStatusLine() are synchronous - Add stopStatusLine() to test cleanup to prevent goroutine leaks if an assertion fails before DryRun() runs
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.
Summary
output.DryRun()writes to stdout to prevent spinner frame interleaving with dry-run logs.Testing