Fix cursor sync after recording pause

This commit is contained in:
webadderall
2026-05-01 16:47:42 +10:00
parent bebac5cc60
commit 667efdc02e
8 changed files with 186 additions and 13 deletions
+28 -5
View File
@@ -1094,7 +1094,6 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
}
}
const wantsAudioCapture = microphoneEnabled || systemAudioEnabled;
const browserCaptureSource = await resolveBrowserCaptureSource(selectedSource);
if (
@@ -1441,6 +1440,11 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
if (webcamRecorder.current?.state === "recording") {
webcamRecorder.current.pause();
}
try {
await window.electronAPI.pauseCursorCapture();
} catch (error) {
console.warn("Failed to pause cursor capture:", error);
}
markRecordingPaused(Date.now());
setPaused(true);
})();
@@ -1451,8 +1455,15 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
if (webcamRecorder.current?.state === "recording") {
webcamRecorder.current.pause();
}
markRecordingPaused(Date.now());
setPaused(true);
void (async () => {
try {
await window.electronAPI.pauseCursorCapture();
} catch (error) {
console.warn("Failed to pause cursor capture:", error);
}
markRecordingPaused(Date.now());
setPaused(true);
})();
}
}, [markRecordingPaused, paused, recording]);
@@ -1472,6 +1483,11 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
if (webcamRecorder.current?.state === "paused") {
webcamRecorder.current.resume();
}
try {
await window.electronAPI.resumeCursorCapture();
} catch (error) {
console.warn("Failed to resume cursor capture:", error);
}
markRecordingResumed(Date.now());
setPaused(false);
})();
@@ -1482,8 +1498,15 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
if (webcamRecorder.current?.state === "paused") {
webcamRecorder.current.resume();
}
markRecordingResumed(Date.now());
setPaused(false);
void (async () => {
try {
await window.electronAPI.resumeCursorCapture();
} catch (error) {
console.warn("Failed to resume cursor capture:", error);
}
markRecordingResumed(Date.now());
setPaused(false);
})();
}
}, [markRecordingResumed, paused, recording]);