fix(tui): suppress preflight stdout output in TUI mode to prevent scrambled display
- Add silentMode field to restore Engine struct - Set silentMode=true in NewSilent() constructor for TUI mode - Skip fmt.Println output in printPreflightSummary when in silent mode - Log summary instead of printing to stdout in TUI mode - Fixes scrambled output during cluster restore preflight checks
This commit is contained in:
@@ -4,8 +4,8 @@ This directory contains pre-compiled binaries for the DB Backup Tool across mult
|
|||||||
|
|
||||||
## Build Information
|
## Build Information
|
||||||
- **Version**: 3.42.50
|
- **Version**: 3.42.50
|
||||||
- **Build Time**: 2026-01-18_11:19:47_UTC
|
- **Build Time**: 2026-01-18_11:39:42_UTC
|
||||||
- **Git Commit**: 490a12f
|
- **Git Commit**: 59a717a
|
||||||
|
|
||||||
## Recent Updates (v1.1.0)
|
## Recent Updates (v1.1.0)
|
||||||
- ✅ Fixed TUI progress display with line-by-line output
|
- ✅ Fixed TUI progress display with line-by-line output
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ type Engine struct {
|
|||||||
progress progress.Indicator
|
progress progress.Indicator
|
||||||
detailedReporter *progress.DetailedReporter
|
detailedReporter *progress.DetailedReporter
|
||||||
dryRun bool
|
dryRun bool
|
||||||
|
silentMode bool // Suppress stdout output (for TUI mode)
|
||||||
debugLogPath string // Path to save debug log on error
|
debugLogPath string // Path to save debug log on error
|
||||||
|
|
||||||
// TUI progress callback for detailed progress reporting
|
// TUI progress callback for detailed progress reporting
|
||||||
@@ -86,6 +87,7 @@ func NewSilent(cfg *config.Config, log logger.Logger, db database.Database) *Eng
|
|||||||
progress: progressIndicator,
|
progress: progressIndicator,
|
||||||
detailedReporter: detailedReporter,
|
detailedReporter: detailedReporter,
|
||||||
dryRun: false,
|
dryRun: false,
|
||||||
|
silentMode: true, // Suppress stdout for TUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -542,7 +542,20 @@ func (e *Engine) calculateRecommendedParallel(result *PreflightResult) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// printPreflightSummary prints a nice summary of all checks
|
// printPreflightSummary prints a nice summary of all checks
|
||||||
|
// In silent mode (TUI), this is skipped and results are logged instead
|
||||||
func (e *Engine) printPreflightSummary(result *PreflightResult) {
|
func (e *Engine) printPreflightSummary(result *PreflightResult) {
|
||||||
|
// In TUI/silent mode, don't print to stdout - it causes scrambled output
|
||||||
|
if e.silentMode {
|
||||||
|
// Log summary instead for debugging
|
||||||
|
e.log.Info("Preflight checks complete",
|
||||||
|
"can_proceed", result.CanProceed,
|
||||||
|
"warnings", len(result.Warnings),
|
||||||
|
"errors", len(result.Errors),
|
||||||
|
"total_blobs", result.Archive.TotalBlobCount,
|
||||||
|
"recommended_locks", result.Archive.RecommendedLockBoost)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
fmt.Println(strings.Repeat("─", 60))
|
fmt.Println(strings.Repeat("─", 60))
|
||||||
fmt.Println(" PREFLIGHT CHECKS")
|
fmt.Println(" PREFLIGHT CHECKS")
|
||||||
|
|||||||
Reference in New Issue
Block a user