From 505bf7cbe40ec884e4f0160186145b469545c24d Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 24 Mar 2026 15:28:07 +0000 Subject: [PATCH] Fix artist_play_count to remove duplicates --- lib/music_library/listening_stats.ex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/music_library/listening_stats.ex b/lib/music_library/listening_stats.ex index d0047c6f..18308900 100644 --- a/lib/music_library/listening_stats.ex +++ b/lib/music_library/listening_stats.ex @@ -29,9 +29,10 @@ defmodule MusicLibrary.ListeningStats do @spec artist_play_count(String.t()) :: non_neg_integer() def artist_play_count(artist_musicbrainz_id) do from(t in Track, - where: fragment("json_extract(?, '$.musicbrainz_id')", t.artist) == ^artist_musicbrainz_id + where: fragment("json_extract(?, '$.musicbrainz_id')", t.artist) == ^artist_musicbrainz_id, + select: count(t.scrobbled_at_uts, :distinct) ) - |> Repo.aggregate(:count) + |> Repo.one!() end @spec recent_activity(String.t(), non_neg_integer()) :: map()