From 07384d793f7320f1db59cc5ee7217891617c2455 Mon Sep 17 00:00:00 2001 From: deepend-tildeclub Date: Wed, 2 Sep 2026 14:38:20 -0600 Subject: [PATCH] Treat inbound IRC traffic as connection activity --- src/common/proto-irc.c | 4 ---- src/common/server.c | 8 ++++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c index 0ddaee5b..f9814ab6 100644 --- a/src/common/proto-irc.c +++ b/src/common/proto-irc.c @@ -1169,8 +1169,6 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[], return; case WORDL('P', 'I', 'N', 'G'): - serv->ping_recv = time (0); - serv->lag_sent = 0; tcp_sendf (sess->server, "PONG %s\r\n", word_eol[3]); return; @@ -1491,8 +1489,6 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol if (!strncmp (buf, "PING ", 5)) { - sess->server->ping_recv = time (0); - sess->server->lag_sent = 0; tcp_sendf (sess->server, "PONG %s\r\n", buf + 5); return; } diff --git a/src/common/server.c b/src/common/server.c index ec6097fd..80bafcee 100644 --- a/src/common/server.c +++ b/src/common/server.c @@ -374,6 +374,14 @@ server_inline (server *serv, char *line, gssize len) else line = text_convert_invalid (line, len, serv->read_converter, unicode_fallback_string, &len_utf8); + /* Any complete IRC line proves that the connection is alive. */ + serv->ping_recv = time (0); + if (serv->lag_sent) + { + serv->lag_sent = 0; + fe_set_lag (serv, serv->lag); + } + fe_add_rawlog (serv, line, len_utf8, FALSE); /* let proto-irc.c handle it */