Paperclip починил краш сервера при обрыве WebSocket-подключения
Разработчики Paperclip обнаружили, что в обработчике WebSocket-апгрейда для live events была потенциальная проблема: если клиент отключался во время асинхронной авторизации, сервер мог попытаться записать ответ в уже закрытый сокет. Это приводило к ошибкам EPIPE/ECONNRESET и, при отсутствии обработчика, к аварийному завершению процесса.
Патч добавляет проверку состояния сокета перед записью, использует безопасный метод end() вместо write()+destroy(), а также временный обработчик ошибок на период авторизации. После успешного upgrade или закрытия сокета обработчик удаляется.
Изменения покрыты регрессионными тестами, которые имитируют разрыв соединения и ошибки сокета. Исправление не несёт рисков, так как затрагивает только ранний этап WebSocket-подключения до передачи управления ws.