Fix: Disable stdout progress in TUI mode to prevent display breaking
This commit is contained in:
Binary file not shown.
@ -40,6 +40,21 @@ func New(cfg *config.Config, log logger.Logger, db database.Database) *Engine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewSilent creates a new restore engine with no stdout progress (for TUI mode)
|
||||||
|
func NewSilent(cfg *config.Config, log logger.Logger, db database.Database) *Engine {
|
||||||
|
progressIndicator := progress.NewNullIndicator()
|
||||||
|
detailedReporter := progress.NewDetailedReporter(progressIndicator, &loggerAdapter{logger: log})
|
||||||
|
|
||||||
|
return &Engine{
|
||||||
|
cfg: cfg,
|
||||||
|
log: log,
|
||||||
|
db: db,
|
||||||
|
progress: progressIndicator,
|
||||||
|
detailedReporter: detailedReporter,
|
||||||
|
dryRun: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// NewWithProgress creates a restore engine with custom progress indicator
|
// NewWithProgress creates a restore engine with custom progress indicator
|
||||||
func NewWithProgress(cfg *config.Config, log logger.Logger, db database.Database, progressIndicator progress.Indicator, dryRun bool) *Engine {
|
func NewWithProgress(cfg *config.Config, log logger.Logger, db database.Database, progressIndicator progress.Indicator, dryRun bool) *Engine {
|
||||||
if progressIndicator == nil {
|
if progressIndicator == nil {
|
||||||
|
|||||||
@ -103,8 +103,8 @@ func executeRestoreWithTUIProgress(cfg *config.Config, log logger.Logger, archiv
|
|||||||
}
|
}
|
||||||
defer dbClient.Close()
|
defer dbClient.Close()
|
||||||
|
|
||||||
// Create restore engine
|
// Create restore engine with silent progress (no stdout interference with TUI)
|
||||||
engine := restore.New(cfg, log, dbClient)
|
engine := restore.NewSilent(cfg, log, dbClient)
|
||||||
|
|
||||||
// Execute restore based on type
|
// Execute restore based on type
|
||||||
var restoreErr error
|
var restoreErr error
|
||||||
|
|||||||
Reference in New Issue
Block a user