From 7a7c0f2725cfdba5a0b12d29454a17ca43285398 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 06:31:03 +0000 Subject: [PATCH 1/2] Initial plan From dd199dc71a674f9d37d5d72cb23c72212ff8e570 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 06:33:31 +0000 Subject: [PATCH 2/2] fix: separate connect and recv timeouts in JsonClient Co-authored-by: chris-piekarski <411331+chris-piekarski@users.noreply.github.com> --- jsocket/jsocket_base.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jsocket/jsocket_base.py b/jsocket/jsocket_base.py index 3a79bb1..0048fa4 100644 --- a/jsocket/jsocket_base.py +++ b/jsocket/jsocket_base.py @@ -337,7 +337,7 @@ class JsonClient(JsonSocket): def __init__(self, address='127.0.0.1', port=5489, timeout=2.0, recv_timeout=None): super().__init__(address, port, timeout=timeout, recv_timeout=recv_timeout) if self.socket is not None: - self.socket.settimeout(self._recv_timeout) + self.socket.settimeout(self._timeout) def connect(self): """Attempt to connect to the server up to 10 times with backoff.""" @@ -350,11 +350,13 @@ def connect(self): # Recreate the socket to avoid retrying on a potentially bad fd. self._close_socket() self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.socket.settimeout(self._recv_timeout) + self.socket.settimeout(self._timeout) self.conn = self.socket logger.debug("recreated socket for retry %d to %s:%s", attempt, self.address, self.port) time.sleep(3) continue logger.info("...Socket Connected") + # Switch to recv_timeout after successful connection + self.socket.settimeout(self._recv_timeout) return True return False