diff --git a/bin/README.md b/bin/README.md index d52074d..8060a76 100644 --- a/bin/README.md +++ b/bin/README.md @@ -4,8 +4,8 @@ This directory contains pre-compiled binaries for the DB Backup Tool across mult ## Build Information - **Version**: 3.42.50 -- **Build Time**: 2026-01-18_11:19:47_UTC -- **Git Commit**: 490a12f +- **Build Time**: 2026-01-18_11:39:42_UTC +- **Git Commit**: 59a717a ## Recent Updates (v1.1.0) - ✅ Fixed TUI progress display with line-by-line output diff --git a/internal/restore/engine.go b/internal/restore/engine.go index af977a7..611c0b8 100755 --- a/internal/restore/engine.go +++ b/internal/restore/engine.go @@ -50,6 +50,7 @@ type Engine struct { progress progress.Indicator detailedReporter *progress.DetailedReporter dryRun bool + silentMode bool // Suppress stdout output (for TUI mode) debugLogPath string // Path to save debug log on error // 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, detailedReporter: detailedReporter, dryRun: false, + silentMode: true, // Suppress stdout for TUI } } diff --git a/internal/restore/preflight.go b/internal/restore/preflight.go index cb0528c..27b3442 100644 --- a/internal/restore/preflight.go +++ b/internal/restore/preflight.go @@ -542,7 +542,20 @@ func (e *Engine) calculateRecommendedParallel(result *PreflightResult) int { } // 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) { + // 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(strings.Repeat("─", 60)) fmt.Println(" PREFLIGHT CHECKS")