feat: add clean command to remove temp files, logs, and cached data

Adds `unarr clean` with interactive confirmation, --dry-run, --yes,
and --all flags. Safely skips recent usenet resume files (<7 days) to
preserve download progress. Includes platform-specific PID detection
(Unix signal 0 / Windows heartbeat heuristic), CleanableBytes callback
for future heartbeat reporting, and uses shared ui.FormatBytes.
This commit is contained in:
Deivid Soto 2026-03-29 11:04:51 +02:00
parent 3d6142a62e
commit 35e5298f23
9 changed files with 578 additions and 1 deletions

View file

@ -39,7 +39,8 @@ type Daemon struct {
heartbeatFailures int
// Callbacks for state tracking (set by cmd/daemon.go)
GetActiveCount func() int
GetActiveCount func() int
GetCleanableBytes func() int64
// Exposed tickers for hot-reload
PollTicker *time.Ticker