diff --git a/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js b/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js index e312b96a0..44535edcc 100644 --- a/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js +++ b/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js @@ -102,9 +102,13 @@ const JKSessionBackingTrackPlayer = ({ }); useEffect(() => { - console.log('[EFFECT] Duration useEffect triggered', { isOpen, hasBackingTrack: !!backingTrack, hasJamClient: !!jamClient }); + console.log('[EFFECT] Duration useEffect triggered', { isOpen, isPopup, hasBackingTrack: !!backingTrack, hasJamClient: !!jamClient }); - if (isOpen && backingTrack && jamClient) { + // For popup mode, treat as always "open" since the popup window itself indicates open state + const shouldInitialize = (isOpen || isPopup) && backingTrack && jamClient; + console.log('[EFFECT] Should initialize?', shouldInitialize); + + if (shouldInitialize) { console.log('[EFFECT] Condition passed, initializing...'); // Initialize player state when opened setIsPlaying(false); @@ -162,7 +166,7 @@ const JKSessionBackingTrackPlayer = ({ fetchDuration(); } - }, [isOpen, backingTrack, jamClient, handleError, formatTime, clearError]); + }, [isOpen, isPopup, backingTrack, jamClient, handleError, formatTime, clearError]); // Playback monitoring with visibility-aware polling useEffect(() => {