diff --git a/jam-ui/src/components/client/JKSessionAudioInputs.js b/jam-ui/src/components/client/JKSessionAudioInputs.js index 3e8071e9b..709a379d9 100644 --- a/jam-ui/src/components/client/JKSessionAudioInputs.js +++ b/jam-ui/src/components/client/JKSessionAudioInputs.js @@ -11,11 +11,13 @@ const JKSessionAudioInputs = ({ myTracks, chat, mixerHelper, isRemote = false }) ) : ( <> {myTracks.map((track, index) => { - // Convert client instrument_id to server format for icon lookup - // instrument_id is numeric (e.g., 61 for Piano), but icon map uses server strings ("piano") - const serverInstrument = track.track?.instrument_id - ? convertClientInstrumentToServer(track.track.instrument_id) - : track.track?.instrument; + // Determine the server instrument string for icon lookup + // - On page load: instrument_id may be a string from server ("piano") + // - After selection: instrument_id is numeric client_id (61) that needs conversion + const instrumentId = track.track?.instrument_id; + const serverInstrument = typeof instrumentId === 'number' + ? convertClientInstrumentToServer(instrumentId) + : (instrumentId || track.track?.instrument); const instrumentIcon = getInstrumentIcon45_inverted(serverInstrument); return (