c406e31a1e
Real `rclone sync --progress --stats 1s` output piped (non-TTY) contains two traps that made the mirror gauge show no progress: - after the byte-weighted `Transferred: 8 MiB / 80 MiB, 10%, …` line, rclone prints a unit-less file-count summary `Transferred: 0 / 6, 0%` on every tick; the parser accepted it and reset done/total/pct to 0 immediately after each real update - rclone does not newline-terminate the last `Transferring:` entry, so the next stats line arrives glued to a per-file line (` * file: 51% / 8 MiB, … -Transferred: 32 MiB / 80 MiB, 40%, …`), which parsed as garbage with pct 0 (after the first tick the only byte lines arrive this way) parse_rclone_stats now takes the text after the last `Transferred:` marker and requires byte units, so the count summary and glued variants are handled. Per-file lines are parsed into the mirror's "current file" display, and progress-block noise (Checks/Elapsed/Transferring/count summary) is consumed instead of spamming the log every second. Tests: replay of captured multi-tick rclone blocks (keeps 40%, never 0%), glued-line and summary rejection cases, plus a TestBackend render test asserting the mirror gauge, bytes and current file appear on the Sync tab.