Skip to content

cli: output polish batch from the friction walk #161

Description

@mbertschler

Problem (friction log F7, F8, F11, F18, F19, F24 — S3/S4)

Checklist of small output fixes from the reference-setup walk; none needs design work:

  • F7 — transferred=0 is ambiguous: sync summaries never report the already-correct count, so a no-op-because-in-sync is indistinguishable from a no-op-because-empty. Add already_correct=N (CLI summary + peer-sync report line).
  • F8 — indexing an empty/mistyped volume path is silent: added=0 … errors=0 on an empty directory looks identical to a wrong mount. Warn when an index run finds a volume path empty ("new volume or wrong mount?"), at minimum on first index.
  • F11a — index/sync summary lines don't name the volume/pair (running several back-to-back yields anonymous lines).
  • F11b — rclone.conf updated prints even for kopia-only syncs.
  • F11c — kopia's ANSI color codes leak escape sequences into the structured agent log.
  • F11d — refused syncs print status= … run=0 (empty status, zero id) — superseded by runs: every failure and refusal becomes a run row or a standing state #157's refused run rows, but the line rendering should cope either way.
  • F18 — inbound and outbound peer runs are indistinguishable in runs/TUI (destination column holds a peer name in both directions). Label direction (e.g. → htpc vs ← laptop).
  • F19 — steady-state no-op rows drown signal: runs --failed / --changes filters; TUI folding of consecutive no-op rows. (Also: runs --help still says "List index runs"; it lists all kinds.)
  • F24 — catch-up moments deserve a summary: after a burst run (many files after quiet), the summary could say so ("404 new files after 21 days") instead of blending into the noise. Cheap heuristic, big trust payoff.
  • Restore summary prints the sync-shaped arrow (docs → cloudbox) even though bytes flowed destination→local; flip the arrow for restores.

Each item is independently landable; fine to split across small PRs referencing this issue.

See design/friction-log.md for the walk context per finding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions