From c315cc0d9a89984ea43a6f7f59f0e5cd9560e7c9 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 25 May 2026 21:22:36 +0300 Subject: fix(client): explicitly rescue Net::ReadTimeout alongside Net::OpenTimeout Net::ReadTimeout inherits from Timeout::Error and was already caught indirectly, but listing it explicitly matches the pattern used in Config and InferenceTester and guards against future Ruby changes. Also makes the retry intent obvious for anyone auditing the rescue clause. --- lib/hyperstack/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/hyperstack/client.rb b/lib/hyperstack/client.rb index b7b4a6b..bb67318 100644 --- a/lib/hyperstack/client.rb +++ b/lib/hyperstack/client.rb @@ -112,7 +112,7 @@ module HyperstackVM parse_response(response) rescue Timeout::Error, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EHOSTUNREACH, Errno::ENETUNREACH, - SocketError, OpenSSL::SSL::SSLError, Net::OpenTimeout => e + SocketError, OpenSSL::SSL::SSLError, Net::OpenTimeout, Net::ReadTimeout => e raise Error, "Hyperstack API request failed for #{path}: #{e.message}" if retries_left <= 0 retries_left -= 1 -- cgit v1.2.3