unarr/internal/config
Deivid Soto 1cad73b9a7 feat(downloads): pre-flight free-disk guard before each download (hueco medio)
CheckDiskSpace (internal/engine/diskspace.go) refuses a download before
writing when its expected size wouldn't leave a configurable reserve free,
so a download never fills the filesystem to 0 mid-write (which corrupts the
partial file). Wired into all three downloaders ahead of any write — torrent
(DataDir), debrid (outputDir, resume-aware), usenet (outputDir, fresh only).
Reserve from downloads.min_free_disk_mb (default 2048 MiB) via SetMinFreeBytes.

The manager treats an InsufficientDiskError as terminal — no source fallback,
since another source would fill the same disk — and surfaces the clear message.
Best-effort: unknown size or a stat failure doesn't block (ENOSPC stays the
backstop). Also hardens formatBytes against an exabyte-scale out-of-bounds panic.
2026-05-31 21:48:34 +02:00
..
config.go feat(downloads): pre-flight free-disk guard before each download (hueco medio) 2026-05-31 21:48:34 +02:00
config_test.go fix(transcode): make preset libx264-only + restore quality opt-in 2026-05-27 10:46:03 +02:00
config_validate_test.go feat: initial commit — unarr CLI 2026-03-28 11:29:42 +01:00
paths.go feat: initial commit — unarr CLI 2026-03-28 11:29:42 +01:00
paths_test.go fix(lint): exclude common fire-and-forget patterns from errcheck 2026-03-30 23:34:36 +02:00