unarr/internal
Deivid Soto 6e07e82d51 fix: harden usenet/debrid downloaders from critico review
- Consolidate 3 maps (active, taskDirs, taskTrackers) into single
  activeDownload struct — eliminates out-of-sync state on mid-function panic
- Cancel() runs os.RemoveAll in background goroutine (non-blocking)
- Flush(): clear dirty before unlock to prevent concurrent flush race on
  same tmp file; remove fragile re-mark-on-error pattern
- Revert RWMutex → Mutex in ProgressTracker (negligible benefit under
  write-heavy workload, higher overhead)
- Remove file.Sync() from debrid and usenet downloaders (Close flushes
  kernel buffers; fsync blocks for seconds on large files)
- Pin golangci-lint to v2.1.6 in CI (was floating with `latest`)
- Fix CI matrix: Go 1.25+1.26 (was 1.24+1.25, but go.mod requires 1.25)
2026-03-28 22:11:04 +01:00
..
agent chore(deps): update all dependencies and GitHub Actions to latest 2026-03-28 21:56:22 +01:00
cmd docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
config feat(agent): add WebSocket transport with HTTP fallback 2026-03-28 18:55:29 +01:00
engine fix: harden usenet/debrid downloaders from critico review 2026-03-28 22:11:04 +01:00
parser feat: initial commit — unarr CLI 2026-03-28 11:29:42 +01:00
ui chore(deps): update all dependencies and GitHub Actions to latest 2026-03-28 21:56:22 +01:00
upgrade feat: improve daemon resilience, streaming, and usenet downloads 2026-03-28 21:36:12 +01:00
usenet fix: harden usenet/debrid downloaders from critico review 2026-03-28 22:11:04 +01:00