Files
music_library/backlog/completed/ml-30 - Silent-error-suppression-in-Artists.refresh_lastfm_data-1.md
2026-05-04 21:22:27 +01:00

1.5 KiB

id, title, status, assignee, created_date, labels, dependencies, references, priority
id title status assignee created_date labels dependencies references priority
ML-30 Silent error suppression in Artists.refresh_lastfm_data/1 Done
2026-04-20 08:51
https://github.com/cloud8421/music_library/issues/149
high

Description

GitHub: created 2026-04-05 · updated 2026-04-05 · closed 2026-04-05

Summary

Artists.refresh_lastfm_data/1 returns {:ok, artist_info} when the Last.fm API call fails, silently swallowing the error and masking problems.

Why This Matters

  • Line 271-272: {:error, _reason} -> {:ok, artist_info} hides all Last.fm failures
  • Called from FetchArtistInfo worker, which proceeds to the next step assuming success
  • Makes it impossible to detect persistent Last.fm API issues from job results
  • Inconsistent with the project convention that non-fatal enrichment failures should log a warning

Affected Files

  • lib/music_library/artists.ex (lines 258-273)

Suggested Fix

Follow the project's best_effort_* pattern: log a warning and return the unchanged struct, but make the suppression explicit and observable.

Acceptance Criteria

  • Last.fm API failures are logged as warnings
  • Callers can still proceed without the Last.fm data
  • Monitoring/logs reflect when Last.fm enrichment fails
  • #1 Last.fm API failures are logged as warnings
  • #2 Callers can still proceed without the Last.fm data
  • #3 Monitoring/logs reflect when Last.fm enrichment fails