From 9354262b1bf25d6be1877b71f99cda7b6a28eaa0 Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Wed, 2 Nov 2022 21:26:15 +0100 Subject: [PATCH] backup: fix stuck status bar The status bar got stuck once the first error was reported, the scanner completed or some file was backed up. Either case sets a flag that the scanner has started. This flag is used to hide the progress bar until the flag is set. Due to an inverted condition, the opposite happened and the status stopped refreshing once the flag was set. In addition, the scannerStarted flag was not set when the scanner just reported progress information. --- internal/ui/backup/progress.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/ui/backup/progress.go b/internal/ui/backup/progress.go index dca8a6987..10e140927 100644 --- a/internal/ui/backup/progress.go +++ b/internal/ui/backup/progress.go @@ -102,7 +102,7 @@ func (p *Progress) Run(ctx context.Context) { } p.mu.Lock() - if p.scanStarted { + if !p.scanStarted { p.mu.Unlock() continue } @@ -231,11 +231,10 @@ func (p *Progress) ReportTotal(item string, s archiver.ScanStats) { defer p.mu.Unlock() p.total = Counter{Files: uint64(s.Files), Dirs: uint64(s.Dirs), Bytes: s.Bytes} + p.scanStarted = true if item == "" { p.printer.ReportTotal(item, p.start, s) - p.scanStarted = true - return } }