From eb0ae2a324be22ad9e8a77695bd165271beeab88 Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:55:05 +1100 Subject: [PATCH] fix: await setRecordingState before muxNativeWindowsRecording MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cursor telemetry snapshot (setRecordingState(false)) was not awaited, creating a race with muxNativeWindowsRecording which calls finalizeStoredVideo. If the mux IPC arrived first, pendingCursorSamples was still empty and no .cursor.json was written — causing the cursor overlay to not render. --- src/hooks/useScreenRecorder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useScreenRecorder.ts b/src/hooks/useScreenRecorder.ts index 3af7bf2d..f5db2efa 100644 --- a/src/hooks/useScreenRecorder.ts +++ b/src/hooks/useScreenRecorder.ts @@ -479,7 +479,7 @@ export function useScreenRecorder(): UseScreenRecorderReturn { nativeWindowsRecording.current = false; const result = await window.electronAPI.stopNativeScreenRecording(); - window.electronAPI?.setRecordingState(false); + await window.electronAPI?.setRecordingState(false); if (!result.success || !result.path) { console.error("Failed to stop native screen recording:", result.error ?? result.message);