From c487679fc8830f44215eb41a89b740164ce26f79 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Fri, 16 Jan 2026 12:05:23 +0530 Subject: [PATCH] debug(05-03): add comprehensive logging for backing track display Adds detailed console logging to trace backing track data flow: 1. MIXER_CHANGES handler logs: - Full sessionMixers payload - mixers.backingTracks array - mixers.jamTracks array - mixers.recordedTracks array 2. JKSessionScreen logs: - showBackingTrackPlayer state - backingTrackData from Redux - mixerHelper.backingTracks value - mixerHelper.backingTracks length This will help identify where the data flow breaks: - If MIXER_CHANGES shows data but SESSION_SCREEN doesn't: dispatch issue - If MIXER_CHANGES shows empty arrays: WebSocket/server issue - If SESSION_SCREEN shows data but no render: conditional logic issue Co-Authored-By: Claude Sonnet 4.5 --- jam-ui/src/components/client/JKSessionScreen.js | 10 ++++++++++ jam-ui/src/hooks/useSessionWebSocket.js | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/jam-ui/src/components/client/JKSessionScreen.js b/jam-ui/src/components/client/JKSessionScreen.js index a1d53294a..8db00b0cd 100644 --- a/jam-ui/src/components/client/JKSessionScreen.js +++ b/jam-ui/src/components/client/JKSessionScreen.js @@ -190,6 +190,16 @@ const JKSessionScreen = () => { const backingTrackData = useSelector(selectBackingTrackData); const showBackingTrackPlayer = Boolean(backingTrackData); + // Debug backing track display + useEffect(() => { + console.log('[SESSION_SCREEN] Backing track display check:', { + showBackingTrackPlayer, + backingTrackData, + 'mixerHelper.backingTracks': mixerHelper.backingTracks, + 'mixerHelper.backingTracks?.length': mixerHelper.backingTracks?.length + }); + }, [showBackingTrackPlayer, backingTrackData, mixerHelper.backingTracks]); + // Stable callback for backing track popup close const handleBackingTrackClose = useCallback(() => { console.log('JKSessionScreen: Backing Track Popup closing'); diff --git a/jam-ui/src/hooks/useSessionWebSocket.js b/jam-ui/src/hooks/useSessionWebSocket.js index 49bce1d8a..34fe9daf8 100644 --- a/jam-ui/src/hooks/useSessionWebSocket.js +++ b/jam-ui/src/hooks/useSessionWebSocket.js @@ -120,10 +120,14 @@ export const useSessionWebSocket = (sessionId) => { // Phase 5: Mixer and Media events MIXER_CHANGES: (sessionMixers) => { - console.log('Mixer changes received:', sessionMixers); + console.log('[MIXER_CHANGES] Received:', sessionMixers); const session = sessionMixers.session; const mixers = sessionMixers.mixers; + console.log('[MIXER_CHANGES] Backing tracks in payload:', mixers.backingTracks); + console.log('[MIXER_CHANGES] Jam tracks in payload:', mixers.jamTracks); + console.log('[MIXER_CHANGES] Recorded tracks in payload:', mixers.recordedTracks); + // Update media summary if (mixers.mediaSummary) { dispatch(updateMediaSummary(mixers.mediaSummary));