A long clip used to die on a fixed 30 s timeout and the audio went with it. Now every conditioned clip is written to spool/ before upload and only removed once its text is on the clipboard; failures keep it, and a tray item retries spooled clips (copied together, never dispatched). Requests the API rejects outright (4xx other than 408/429) are not kept. Timeouts scale with the audio (30 s + 30 s/min, capped at 5 min). Clips over 5 min are cut inside pauses into ~4 min chunks uploaded three at a time and stitched in order; failed chunks are spooled individually and the partial transcript is copied with a gap marker. The tray disc fills clockwise as chunks return. mic_check.py passes the new timeout tuple. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016rLFNPygDpRkRwPQakdmYh
15 lines
187 B
Plaintext
15 lines
187 B
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
|
|
# Virtual environment
|
|
.venv/
|
|
|
|
# Blurt runtime config (per-machine)
|
|
model.txt
|
|
language.txt
|
|
device.txt
|
|
|
|
# Clips awaiting (or retrying) transcription
|
|
spool/
|