Problem
LLMAPITransport pins timeoutIntervalForResource = 30 on its URLSessionConfiguration, which is a session-level hard cap with no per-request override, so the README-documented transcription_timeout_seconds / post_processing_timeout_seconds / context_request_timeout_seconds defaults are silently ignored for any transfer >30s.
Read cite
Sources/LLMAPITransport.swift:13 — configuration.timeoutIntervalForResource = 30
Steps
- Configure a slow local model per README "Configure longer timeouts for local models":
defaults write com.zachlatta.freeflow transcription_timeout_seconds -float 120
- Point transcription at a slow local Whisper endpoint whose upload+transcribe exceeds 30s.
- Dictate a long clip.
Expected
Request allowed to run up to 120s per README + TranscriptionService.transcriptionTimeoutSeconds (TranscriptionService.swift:12-15).
Actual
URLSession aborts the resource at 30s regardless of the user override; per-request request.timeoutInterval = 120 does not override timeoutIntervalForResource (Apple: this property has no per-request equivalent).
Environment
FreeFlow 1.1.0 (CHANGELOG), macOS 13.0+ target (Makefile -target arm64-apple-macosx13.0).
Fix: derive the session's timeoutIntervalForResource from the same UserDefaults keys, or expose a per-call session factory.
Thanks for maintaining zachlatta/freeflow!
Problem
LLMAPITransportpinstimeoutIntervalForResource = 30on itsURLSessionConfiguration, which is a session-level hard cap with no per-request override, so the README-documentedtranscription_timeout_seconds/post_processing_timeout_seconds/context_request_timeout_secondsdefaults are silently ignored for any transfer >30s.Read cite
Sources/LLMAPITransport.swift:13—configuration.timeoutIntervalForResource = 30Steps
Expected
Request allowed to run up to 120s per README +
TranscriptionService.transcriptionTimeoutSeconds(TranscriptionService.swift:12-15).Actual
URLSession aborts the resource at 30s regardless of the user override; per-request
request.timeoutInterval = 120does not overridetimeoutIntervalForResource(Apple: this property has no per-request equivalent).Environment
FreeFlow 1.1.0 (CHANGELOG), macOS 13.0+ target (Makefile
-target arm64-apple-macosx13.0).Fix: derive the session's
timeoutIntervalForResourcefrom the same UserDefaults keys, or expose a per-call session factory.Thanks for maintaining zachlatta/freeflow!