-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Description
The startPerioidicPing() method is invoked whenever the server sends a 'registered' event irrespective of the socket's connection state.
client.js line 133:
client.on('registered', function(event) {
// PING is not a valid command until after registration
client.startPeriodicPing();
});When using znc, the client remains connected even when the IRC server's connection drops. When znc reconnects to the target server, a new 'registered' event is sent. This creates multiple ping timers which eventually floods the user off of the target network if enough server disconnections have occurred.
client.js line 340:
startPeriodicPing() {
const client = this;
let ping_timer = null;
if (client.options.ping_interval <= 0) {
return;
}I believe we need to check if the current ping_timer value is defined, and if so, either do nothing or dispose of it first, before attaching the new timer.
znc logs after a few server disconnects:
[2025-10-23 18:27:04.258404] (user1/network1) CLI -> ZNC [PING 1761244024258]
[2025-10-23 18:27:04.258497] (user1/network1) ZNC -> IRC [PING 1761244024258]
[2025-10-23 18:27:04.258566] (user1/network1) CLI -> ZNC [PING 1761244024258]
[2025-10-23 18:27:04.258598] (user1/network1) ZNC -> IRC [PING 1761244024258]
[2025-10-23 18:27:04.258607] (user1/network1) CLI -> ZNC [PING 1761244024258]
[2025-10-23 18:27:04.258634] (user1/network1) ZNC -> IRC [PING 1761244024258]
[2025-10-23 18:27:04.258642] (user1/network1) CLI -> ZNC [PING 1761244024258]
[2025-10-23 18:27:04.258670] (user1/network1) ZNC -> IRC [PING 1761244024258]
[2025-10-23 18:27:04.258678] (user1/network1) CLI -> ZNC [PING 1761244024258]
[2025-10-23 18:27:04.258703] (user1/network1) ZNC -> IRC [PING 1761244024258]
[2025-10-23 18:27:04.362136] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362209] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.362338] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362431] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.362440] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362465] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.362472] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362493] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.362501] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362527] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.362535] (user2/network2) CLI -> ZNC [PING 1761244024361]
[2025-10-23 18:27:04.362562] (user2/network2) ZNC -> IRC [PING 1761244024361]
[2025-10-23 18:27:04.554049] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554109] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554150] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554174] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554180] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554197] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554202] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554219] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554224] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554242] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554247] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554263] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554268] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554285] (user3/network3) ZNC -> IRC [PING 1761244024553]
[2025-10-23 18:27:04.554290] (user3/network3) CLI -> ZNC [PING 1761244024553]
[2025-10-23 18:27:04.554306] (user3/network3) ZNC -> IRC [PING 1761244024553]
Metadata
Metadata
Assignees
Labels
No labels