Improve Jellyfin playlist loading and modification performance times (#2184)

* Remove unneeded Fields from getPlaylistSongList

* Add optimized controller function for playlist addition duplication checks

* Remove Jellyfin People data handling

* move artist map inline

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
This commit is contained in:
BlackHoleFox
2026-06-29 00:21:04 -05:00
committed by GitHub
parent da445b815d
commit 94aa34f6b2
9 changed files with 82 additions and 96 deletions
@@ -211,11 +211,11 @@ export const AddToPlaylistAction = ({ items, itemType }: AddToPlaylistActionProp
let songsToAdd: string[] = allSongIds;
if (skipDuplicates) {
const queryKey = queryKeys.playlists.songList(serverId, playlistId);
const queryKey = queryKeys.playlists.songListIds(serverId, playlistId);
const playlistSongsRes = await queryClient.fetchQuery({
queryFn: ({ signal }) => {
return api.controller.getPlaylistSongList({
return api.controller.getPlaylistSongIds({
apiClientProps: {
serverId,
signal,
@@ -228,7 +228,7 @@ export const AddToPlaylistAction = ({ items, itemType }: AddToPlaylistActionProp
queryKey,
});
const playlistSongIds = playlistSongsRes?.items?.map((song) => song.id);
const playlistSongIds = playlistSongsRes?.items;
const uniqueSongIds: string[] = [];
for (const songId of allSongIds) {