diff --git a/src/renderer/features/home/routes/home-route.tsx b/src/renderer/features/home/routes/home-route.tsx index d4b25eb20..d87ac370d 100644 --- a/src/renderer/features/home/routes/home-route.tsx +++ b/src/renderer/features/home/routes/home-route.tsx @@ -133,6 +133,7 @@ const HomeRoute = () => { containerQuery={containerQuery} enableRefresh={carousel.enableRefresh} key={`carousel-${carousel.uniqueId}`} + queryKey={['home', carousel.uniqueId] as const} rowCount={1} sortBy={carousel.sortBy as AlbumListSort} sortOrder={carousel.sortOrder} @@ -147,6 +148,7 @@ const HomeRoute = () => { containerQuery={containerQuery} enableRefresh={carousel.enableRefresh} key={`carousel-${carousel.uniqueId}`} + queryKey={['home', carousel.uniqueId] as const} rowCount={1} sortBy={carousel.sortBy as SongListSort} sortOrder={carousel.sortOrder} diff --git a/src/renderer/features/player/mutations/scrobble-mutation.ts b/src/renderer/features/player/mutations/scrobble-mutation.ts index 6381be4d8..ef9aa21ad 100644 --- a/src/renderer/features/player/mutations/scrobble-mutation.ts +++ b/src/renderer/features/player/mutations/scrobble-mutation.ts @@ -20,16 +20,27 @@ export const useSendScrobble = (options?: MutationOptions) => { onSuccess: (_data, variables) => { // Manually increment the play count for the song in the queue if scrobble was submitted if (variables.query.submission) { + const serverId = variables.apiClientProps.serverId; incrementQueuePlayCount([variables.query.id]); // Invalidate the album detail query for the song's album - if (variables.query.albumId && variables.apiClientProps.serverId) { + if (variables.query.albumId) { queryClient.invalidateQueries({ - queryKey: queryKeys.albums.detail(variables.apiClientProps.serverId, { + queryKey: queryKeys.albums.detail(serverId, { id: variables.query.albumId, }), }); } + + // Invalidate recently played carousel on home route + queryClient.invalidateQueries({ + queryKey: ['home', 'recentlyPlayed'], + }); + + // Invalidate most played carousel on home route + queryClient.invalidateQueries({ + queryKey: ['home', 'mostPlayed'], + }); } }, ...options,