From 1d766bea2afe3fcd7cc5083400b104c7bf3df8c7 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Wed, 21 Jan 2026 12:39:48 +0100 Subject: [PATCH] JetBrainsPluginClient: Improve error handling when retrieving service status #962 --- src/serena/tools/jetbrains_plugin_client.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/serena/tools/jetbrains_plugin_client.py b/src/serena/tools/jetbrains_plugin_client.py index d7517711..08e3289f 100644 --- a/src/serena/tools/jetbrains_plugin_client.py +++ b/src/serena/tools/jetbrains_plugin_client.py @@ -87,15 +87,16 @@ class JetBrainsPluginClient(ToStringMixin): self._session.headers.update({"Content-Type": "application/json", "Accept": "application/json"}) # connect and obtain status - self._project_root: str | None - self._plugin_version: Version | None + self._project_root: str | None = None + self._plugin_version: Version | None = None try: status_response: PluginStatusDTO = cast(jb.PluginStatusDTO, self._make_request("GET", "/status")) self._project_root = status_response["project_root"] self._plugin_version = Version(status_response["plugin_version"]) - except (ConnectionError, requests.exceptions.HTTPError): - self._project_root = None - self._plugin_version = None + except ConnectionError: # expected if no server is running at the port + pass + except Exception as e: + log.warning("Failed to obtain status from JetBrains plugin service at port %d: %s", e, port, exc_info=True) @property def _base_url(self) -> str: