From: Christian Heller Date: Sun, 5 Oct 2025 12:32:37 +0000 (+0200) Subject: Attempt reconnecting on all handled IrcConnAbortExceptions. X-Git-Url: https://plomlompom.com/repos/%7B%7Bdb.prefix%7D%7D/%7B%7Bpath_up_incl%7D%7D%7B%7B%20booking.id_%20%20%201%20%7D%7D?a=commitdiff_plain;p=ircplom Attempt reconnecting on all handled IrcConnAbortExceptions. --- diff --git a/src/ircplom/client.py b/src/ircplom/client.py index e01c350..fd05bf9 100644 --- a/src/ircplom/client.py +++ b/src/ircplom/client.py @@ -904,11 +904,11 @@ class Client(ABC, ClientQueueMixin): def on_handled_loop_exception(self, e: IrcConnException) -> None: 'On …AbortException, call .close(), on …Timeout… first (!) try PING.' if isinstance(e, IrcConnAbortException): + self._retry_connect_in_s = 1 self.db.connection_state = f'broken: {e}' self.close() elif isinstance(e, IrcConnTimeoutException): if self._expected_pong: - self._retry_connect_in_s = 1 self.on_handled_loop_exception( IrcConnAbortException('no timely PONG from server')) else: diff --git a/src/tests/test.test b/src/tests/test.test index c5b371b..d7bc4ad 100644 --- a/src/tests/test.test +++ b/src/tests/test.test @@ -399,7 +399,9 @@ repeat isupport-clear-in isupport-clear-out 9 # check that (save TUI tests assuming start on window 0, and no 4 yet) on reconnect, all the same effects can be expected > /reconnect -repeat conn0 conn1 +9 .!$ will retry connecting in 1 seconds +1 ..$ connection_state set to: [connecting] +1 ..$ connection_state set to: [connected] 2,3,4,5,6,7 ..$ CONNECTED repeat conn2 conn3 1 ..> JOIN :#testtest