Changelog

v1.0.2

The watchdog from v1.0.1 backfired — emergency fix.

The watchdog added in 1.0.1 backfired.

The idea was: kill any connection that goes 30 seconds without receiving a message. But keepalive messages from all three STT providers are one-way — the server was never going to send anything back, and URLSessionWebSocketTask.receive() can't catch a protocol-level pong either. The result: after sitting idle for a bit, you'd press the hotkey only to find Voilà had already killed the connection itself, and recording would just cut off.

This release shuts that dead end down for good: the receive deadline is now 24 hours (effectively disabled), and URLSession's timeoutIntervalForRequest went from 10 seconds to 300 seconds to match ForResource. Dead-connection detection still happens, just handed back to the two paths that were already doing the job: an active probe (5 to 15 seconds) when keepalive task.send fails, and the system-level TCP-close notification via WSDelegate didCloseWith.