1.1 KiB
1.1 KiB
id, title, status, assignee, created_date, labels, dependencies, references, priority
| id | title | status | assignee | created_date | labels | dependencies | references | priority | |
|---|---|---|---|---|---|---|---|---|---|
| ML-64 | Split ScrobbleActivity into focused modules | Done | 2026-04-20 08:54 |
|
low |
Description
GitHub: created 2026-03-12 · updated 2026-03-12 · closed 2026-03-12
Problem
MusicLibrary.ScrobbleActivity bundles three distinct responsibilities: (1) scrobbling to Last.fm, (2) track CRUD and listing, (3) data quality diagnostics. The track listing query is nearly identical to ListeningStats.recent_activity/2.
Proposed solution (Option A)
- Move track CRUD + listing into
ListeningStats - Keep
ScrobbleActivityfocused on writes (scrobbling releases/mediums/tracks) - Move diagnostics to
Maintenance
Files involved
lib/music_library/scrobble_activity.exlib/music_library/listening_stats.exlib/music_library/maintenance.exlib/music_library_web/live/scrobbled_tracks_live/index.exlib/music_library_web/live/maintenance_live/index.ex- Tests for all of the above