From 57c1047357d513328a723802060225fffcc983b2 Mon Sep 17 00:00:00 2001 From: Geert Rademakes Date: Wed, 6 Aug 2025 10:49:31 +0200 Subject: [PATCH] debug: Add console logs to investigate playlist switching delay - Add logging to track playlist selection and change detection - Remove isInitialLoad condition that might block playlist changes - Optimize initial load to prevent conflicts with playlist switching - Temporary debugging to identify timing issues --- packages/frontend/src/App.tsx | 1 + packages/frontend/src/hooks/usePaginatedSongs.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/frontend/src/App.tsx b/packages/frontend/src/App.tsx index 80d6dd8..0343604 100644 --- a/packages/frontend/src/App.tsx +++ b/packages/frontend/src/App.tsx @@ -154,6 +154,7 @@ export default function RekordboxReader() { }, [currentPlaylist, playlists, navigate, xmlLoading]); const handlePlaylistSelect = (name: string) => { + console.log('Playlist selected:', name); setSelectedSong(null); // Clear selected song when changing playlists if (name === "All Songs") { navigate("/"); diff --git a/packages/frontend/src/hooks/usePaginatedSongs.ts b/packages/frontend/src/hooks/usePaginatedSongs.ts index 6fdcee6..bcc3e75 100644 --- a/packages/frontend/src/hooks/usePaginatedSongs.ts +++ b/packages/frontend/src/hooks/usePaginatedSongs.ts @@ -125,9 +125,12 @@ export const usePaginatedSongs = (options: UsePaginatedSongsOptions = {}) => { setIsInitialLoad(true); }, [initialSearch, cleanup]); - // Initial load + // Initial load - only run once when the hook is first created useEffect(() => { - loadPage(1); + // Only load if we haven't loaded anything yet + if (songs.length === 0 && !loading) { + loadPage(1); + } // Cleanup on unmount return () => { @@ -137,7 +140,9 @@ export const usePaginatedSongs = (options: UsePaginatedSongsOptions = {}) => { // Handle playlist changes useEffect(() => { - if (!isInitialLoad && previousPlaylistRef.current !== playlistName) { + if (previousPlaylistRef.current !== playlistName) { + console.log('Playlist change detected:', previousPlaylistRef.current, '->', playlistName); + // Update refs currentPlaylistRef.current = playlistName; currentSearchQueryRef.current = searchQuery; @@ -152,7 +157,7 @@ export const usePaginatedSongs = (options: UsePaginatedSongsOptions = {}) => { // Load immediately without setTimeout loadPage(1, initialSearch, playlistName); } - }, [playlistName, isInitialLoad, initialSearch, loadPage]); + }, [playlistName, initialSearch, loadPage]); return { songs,