Split from #879, point 1.
On a take whose start stalled on the permissions window (TCC), capture began about 20 s before the HUD timer left 00:00. The file duration then no longer matches the timer, which is what produced a false "pause records through the pause" during the RC pass.
What the code says. The timer already anchors to the helper's first frame: recording-started is emitted after the first video frame is appended, and the renderer sets segmentStartedAt when that IPC resolves, so the gap there is milliseconds. The likely mismatch is createdAt, which is the recording id set in useScreenRecorder.ts before the IPC; main then waits on the TCC prompts and the helper spawn, so a stall puts createdAt well before the media.
e5341634 (#886) drops showPermissionsWindow() from the Accessibility request and the renderer's early return on not-determined, which should remove the stall itself. It is on main, not yet on the v2 release branch.
To do. Re-run a take that stalls on permissions once #886 is in, and compare file duration against the timer. If they still diverge, attach the unified log.
Split from #879, point 1.
On a take whose start stalled on the permissions window (TCC), capture began about 20 s before the HUD timer left 00:00. The file duration then no longer matches the timer, which is what produced a false "pause records through the pause" during the RC pass.
What the code says. The timer already anchors to the helper's first frame:
recording-startedis emitted after the first video frame is appended, and the renderer setssegmentStartedAtwhen that IPC resolves, so the gap there is milliseconds. The likely mismatch iscreatedAt, which is the recording id set inuseScreenRecorder.tsbefore the IPC; main then waits on the TCC prompts and the helper spawn, so a stall putscreatedAtwell before the media.e5341634(#886) dropsshowPermissionsWindow()from the Accessibility request and the renderer's early return onnot-determined, which should remove the stall itself. It is onmain, not yet on the v2 release branch.To do. Re-run a take that stalls on permissions once #886 is in, and compare file duration against the timer. If they still diverge, attach the unified log.