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 <noreply@anthropic.com>
This commit is contained in:
Nuwan 2026-01-16 12:05:23 +05:30
parent d19754bf54
commit c487679fc8
2 changed files with 15 additions and 1 deletions

View File

@ -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');

View File

@ -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));