toverainc / willow

Open source, local, and self-hosted Amazon Echo/Google Home competitive Voice Assistant alternative
https://heywillow.io/
Apache License 2.0
2.57k stars 96 forks source link

audio: increase HTTP stream timeout after send for TTS #367

Closed stintel closed 7 months ago

stintel commented 7 months ago

In commit af99de418c18 ("audio: reduce HTTP Stream timeout to 2s") we changed the HTTP Stream timeout to 2s so we can indicate early when we're not able to connect to WIS.

Unfortunately ESP HTTP Client only has a single timeout value, and we now also abort the HTTP connection to WIS if TTS takes longer than 2s. We want to keep the timeout reasonably low, as having to wait for a TTS response for too long isn't great for UX, but 2s is too short for long TTS responses.

Leave the initial timeout at 2s, but increase it to 10s on the HTTP_STREAM_POST_REQUEST event, which happens after the HTTP client sent header and body to WIS, but before fetching the response.