From c38b07073b4e702f0e6b48b42c76f9f1b8e776e5 Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Mon, 20 Apr 2026 21:52:39 +1000 Subject: [PATCH] fix: address CodeRabbit review feedback (round 2) - Reorder recorder.stop() before cleanupCapturedMedia to avoid dropping final chunk (recordingStopHelpers) - Guard speed region divisor against 0/NaN/Infinity (audioEncoder shared) --- src/hooks/useScreenRecorder/recordingStopHelpers.ts | 2 +- src/lib/exporter/audioEncoder/shared.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hooks/useScreenRecorder/recordingStopHelpers.ts b/src/hooks/useScreenRecorder/recordingStopHelpers.ts index 5c75a7a1..8285fbb5 100644 --- a/src/hooks/useScreenRecorder/recordingStopHelpers.ts +++ b/src/hooks/useScreenRecorder/recordingStopHelpers.ts @@ -88,8 +88,8 @@ export async function stopBrowserRecordingSession(options: StopRecordingOptions) } options.refs.pendingWebcamPathPromise.current = stopWebcamRecorder(options.refs); - await options.cleanupCapturedMedia(); recorder.stop(); + await options.cleanupCapturedMedia(); options.setRecording(false); window.electronAPI?.setRecordingState(false); return true; diff --git a/src/lib/exporter/audioEncoder/shared.ts b/src/lib/exporter/audioEncoder/shared.ts index 48d3dd78..aaca1d97 100644 --- a/src/lib/exporter/audioEncoder/shared.ts +++ b/src/lib/exporter/audioEncoder/shared.ts @@ -123,10 +123,12 @@ export function buildTimelineSlices( (s) => midpoint >= s.startMs && midpoint < s.endMs, ); + const rawSpeed = speedRegion?.speed ?? 1; + const speed = Number.isFinite(rawSpeed) && rawSpeed > 0 ? rawSpeed : 1; slices.push({ sourceStartMs: start, sourceEndMs: end, - speed: speedRegion?.speed ?? 1, + speed, }); }