Files
Your Name 2b1ca33ed7 feat: skip MusicBrainz when Lidarr disabled, import cancellation, codebase cleanup
Skip all MusicBrainz API calls during playlist import preview and
acquisition when Lidarr is not configured. Soulseek searches by
artist+album+track text and never uses MBIDs, so MB resolution was
pure waste for Soulseek-only users (~15 min bottleneck on 170 songs).

Import cancellation: thread AbortSignal through Soulseek search
strategies and rate limiter so cancel propagates immediately.

Codebase sweep: remove 15 brittle backend tests (string-matching via
fs.readFileSync, live-infrastructure tests, manual scripts), 3 hollow
frontend E2E tests, 16 unused frontend assets/scripts, and dead code
across both stacks.

Backend dead code removed:
- podcastindex.ts: 7 unused exported functions
- artistCountsService.ts: 4 unused exports, unexport internal helper
- imageBackfill.ts: unexport 2 internal functions
- async.ts: remove unused processBatched

Frontend dead code removed:
- useImageColor.ts: 7 dead functions (createGradient, createHeroGradient,
  getPlayButtonStyles, getIconColor, getLuminance, getContrastRatio, hexToRgb)
- enrichmentApi.ts: remove dead retryVibeEmbeddings method
2026-03-04 13:05:56 -06:00
..
2025-12-25 18:58:06 -06:00
2025-12-25 18:58:06 -06:00