You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Annotate: audio after 20 minutes is silently dropped, with no warning while recording #1795
3.3.0, installed from the signed DMG (the limit is unchanged on main at 73e08ba)
Platform
macOS
System details
macOS 26.3.1, Apple M4, 16 GB
What happened?
We recorded an Annotate capture that ran past 20 minutes. Everything said after minute 20 is gone. The capsule gave no warning during recording, and nothing in the finished capture says audio was dropped. We only noticed afterwards, so the content is lost.
This wasn't a problem with Scrawl, where we regularly recorded hour-long sessions, so it's a regression for anyone who moved from Scrawl to Annotate.
The cause is a fixed limit in the capture host:
src/capture_host.rs:150: const MAX_CAPTURE: Duration = Duration::from_secs(20 * 60);, documented as "A capture keeps at most this much audio; the rest is recorded as a gap."
src/capture_host/timeline.rs, Timeline::append: once the limit is reached, it logs capture reached its length limit; dropping the rest of its audio and drops later samples. finish records the remainder as one GapSpan.
recording.mp4 has no audio track, so after the cutoff the speech is not stored anywhere. The limit has been there since the capture host was added (b93964d) and is also in 3.3.0 and 3.4.0.
Expected: a long capture keeps all of its audio. If a limit is needed, it should be shown clearly while recording, not discovered afterwards.
Ideas for a fix
A countdown or warning in the capsule well before the limit (e.g. at 15 and 19 minutes).
Stopping and finishing the capture at the limit (or starting a follow-on capture), rather than letting it run on while the audio is thrown away.
Writing audio to disk as it is recorded instead of keeping it all in memory, so a long capture doesn't need a limit and a crash doesn't lose everything.
At minimum, a finished capture that hit the limit should say so in the capsule or history.
Start a capture and keep talking for more than 20 minutes.
Stop the capture.
Check ~/Library/Application Support/scrawl/captures/<id>.scrawl/audio.wav and the transcript: speech after minute 20 is missing, and no warning appeared while recording.
Additional context
Related but different: #1769 (the ~17.5-minute limit on hex transcribe, fixed in #1771) doesn't affect this Annotate limit.
Activity