fix: clear setTimeout on successful recording stop to prevent process hang

This commit is contained in:
Tommy D. Rossi
2026-01-23 17:26:32 +01:00
parent b159d6fbc7
commit 608afc8d54
+7 -2
View File
@@ -1303,10 +1303,15 @@ export async function startPlayWriterCDPRelayServer({
}
// Set up promise to wait for final chunk
let timeoutId: ReturnType<typeof setTimeout>
const finalPromise = new Promise<StopRecordingResult>((resolve) => {
recording.resolveStop = resolve
const wrappedResolve = (result: StopRecordingResult) => {
clearTimeout(timeoutId)
resolve(result)
}
recording.resolveStop = wrappedResolve
// Timeout after 30 seconds
setTimeout(() => {
timeoutId = setTimeout(() => {
if (recording.resolveStop) {
recording.resolveStop = undefined
resolve({ success: false, error: 'Timeout waiting for recording data' })