From e1065430e5ffb168b357e548ef45853b19f85bb5 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Thu, 19 Feb 2026 21:10:13 +0530 Subject: [PATCH] fix(24-01): revert to original StartMediaRecording method The original research was incorrect - jam-ui uses StartMediaRecording (enum 428) not StartRecording (enum 377). These are different methods in the C++ client. Reverted to original method signatures: - StartMediaRecording(id, groupedTracks, recordSettings) - FrontStopRecording(id, groupedTracks) The JSON parsing fix in rest.js (previous commit) is the actual fix that resolves recording.id being undefined. Co-Authored-By: Claude Opus 4.5 --- jam-ui/src/components/client/JKSessionScreen.js | 6 +----- jam-ui/src/hooks/useRecordingHelpers.js | 10 +++------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/jam-ui/src/components/client/JKSessionScreen.js b/jam-ui/src/components/client/JKSessionScreen.js index 643e044b4..1ad846c16 100644 --- a/jam-ui/src/components/client/JKSessionScreen.js +++ b/jam-ui/src/components/client/JKSessionScreen.js @@ -876,12 +876,8 @@ const JKSessionScreen = () => { const currentRecordingId = recording.id; // console.debug("Recording started with ID: ", currentRecordingId); const groupedTracks = groupTracksToClient(recording); - // Unpack params for C++ client (matches legacy recordingModel.js signature) - const recordVideo = params.videoType || 0; - const recordChat = params.recordChat ? 1 : 0; - const recordFramerate = 0; try { - await jamClient.StartRecording(currentRecordingId, groupedTracks, recordVideo, recordChat, recordFramerate); + await jamClient.StartMediaRecording(currentRecordingId, groupedTracks, params); } catch (error) { // console.error("Error starting media recording:", error); } diff --git a/jam-ui/src/hooks/useRecordingHelpers.js b/jam-ui/src/hooks/useRecordingHelpers.js index 420f8fe86..9a7d8890d 100644 --- a/jam-ui/src/hooks/useRecordingHelpers.js +++ b/jam-ui/src/hooks/useRecordingHelpers.js @@ -97,12 +97,8 @@ const useRecordingHelpers = (jamClient) => { setCurrentOrLastRecordingId(recording.id); const groupedTracks = groupTracksToClient(recording); - // Unpack settings for C++ client (matches legacy recordingModel.js signature) - const recordVideoType = recordSettings.videoType || 0; - const recordChat = recordSettings.recordChat ? 1 : 0; - const recordFramerate = 0; - console.log("jamClient#StartRecording", recording.id, groupedTracks, recordVideoType, recordChat, recordFramerate); - await jamClient.StartRecording(recording.id, groupedTracks, recordVideoType, recordChat, recordFramerate); + console.log("jamClient#StartMediaRecording", recording.id, groupedTracks, recordSettings); + await jamClient.StartMediaRecording(recording.id, groupedTracks, recordSettings); } catch (jqXHR) { console.warn("failed to startRecording due to server issue:", jqXHR.responseJSON); const details = { clientId: app.clientId, reason: 'rest', detail: jqXHR.responseJSON, isRecording: false }; @@ -167,7 +163,7 @@ const useRecordingHelpers = (jamClient) => { const recording = await currentRecording; const groupedTracks = groupTracksToClient(recording); - await jamClient.StopRecording(recording.id, groupedTracks); + await jamClient.FrontStopRecording(recording.id, groupedTracks); if (thisClientStartedRecording) { try {