Slow Irssi synchronization just after reconnecting the client #741

Open
opened 2026-10-05 04:42:04 +02:00 by adam · 2 comments
Owner

When I issue /reconnect in Irssi, this is basically what I’m getting in channel buffers:

16:52 -!- michalrus [znc@michalrus.com] has joined #haskell
…
16:52 -!- Irssi: #haskell: Total of 1639 nicks [1 ops, 0 halfops, 0 voices, 1638 normal]
…
16:53 -!- Irssi: Join to #haskell was synced in 108 secs

Similarly, it takes ca. 2 minutes in other channels, as well—including those with just 3 or 4 people!

However, when I join a large channel, after everything settles down, the sync it’s instantaneous:

17:01 -!- michalrus [znc@michalrus.com] has joined #znc
…
17:01 -!- Irssi: #znc: Total of 1040 nicks [3 ops, 0 halfops, 0 voices, 1037 normal]
…
17:01 -!- Irssi: Join to #znc was synced in 0 secs

This «syncing» in Irssi, as I understand it, is just the client sending WHO #channel after JOIN #channel to get some additional information. The channel is said to be synced, after all replies to WHO are received.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39955705-slow-irssi-synchronization-just-after-reconnecting-the-client?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).
When I issue `/reconnect` in Irssi, this is basically what I’m getting in channel buffers: ``` 16:52 -!- michalrus [znc@michalrus.com] has joined #haskell … 16:52 -!- Irssi: #haskell: Total of 1639 nicks [1 ops, 0 halfops, 0 voices, 1638 normal] … 16:53 -!- Irssi: Join to #haskell was synced in 108 secs ``` Similarly, it takes ca. 2 minutes in other channels, as well—including those with just 3 or 4 people! However, when I join a large channel, after everything settles down, the sync it’s instantaneous: ``` 17:01 -!- michalrus [znc@michalrus.com] has joined #znc … 17:01 -!- Irssi: #znc: Total of 1040 nicks [3 ops, 0 halfops, 0 voices, 1037 normal] … 17:01 -!- Irssi: Join to #znc was synced in 0 secs ``` This «syncing» in Irssi, as I understand it, is just the client sending `WHO #channel` after `JOIN #channel` to get some additional information. The channel is said to be synced, after all replies to `WHO` are received. <bountysource-plugin> --- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39955705-slow-irssi-synchronization-just-after-reconnecting-the-client?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github). </bountysource-plugin> <!-- github-sync-id:194841688 -->
Author
Owner

I thought irssi was just avoiding flooding the server and was sending its WHO request slowly. Are you sure that ZNC is slowing this down?

I thought irssi was just avoiding flooding the server and was sending its WHO request slowly. Are you sure that ZNC is slowing this down? <!-- github-comment-id:266295188 -->
Author
Owner

Irssi by default will /who #channel and /mode #channel b. The /who #channel is only run on channels with 1000 users or less, while irssi will /mode #channel b everything.

Raw znc log (after I snipped out a few 1000 lines of /who, /names, /mode #channel b ...)

https://gist.github.com/RealKindOne/4624e83412edc3fe4c6da1a1b791e40b

16:31:56 [flood]
16:31:56 flood_max_msgs = 4
16:31:56 flood_timecheck = 8
16:32:01 [misc]
16:32:01 channel_max_who_sync = 1000
16:32:01 channel_sync = ON
16:33:20 <EvilOne> getnetwork floodrate KindOne freenode 
16:33:20 <*controlpanel> FloodRate = 1.00
16:33:26 <EvilOne> getnetwork floodburst KindOne freenode 
16:33:26 <*controlpanel> FloodBurst = 4

Irssi + znc

16:22:47 -!- Irssi: Join to #freenode was synced in 19 secs
16:22:48 -!- Irssi: Join to #ubuntu was synced in 20 secs
16:22:49 -!- Irssi: Join to #archlinux was synced in 21 secs
16:22:50 -!- Irssi: Join to #gentoo was synced in 22 secs
16:22:51 -!- Irssi: Join to #znc was synced in 23 secs
16:22:52 -!- Irssi: Join to ##linux was synced in 24 secs
16:22:53 -!- Irssi: Join to #python was synced in 25 secs
16:22:54 -!- Irssi: Join to #systemd was synced in 26 secs
16:22:56 -!- Irssi: Join to #perl was synced in 28 secs
16:22:56 -!- Irssi: Join to ##java was synced in 28 secs
16:22:57 -!- Irssi: Join to ##c++ was synced in 29 secs
16:22:58 -!- Irssi: Join to ##c was synced in 30 secs
16:23:00 -!- Irssi: Join to ##csharp was synced in 32 secs
16:23:32 -!- Irssi: Join to #debian was synced in 64 secs

Just irssi.

17:55:05 -!- Irssi: Join to #freenode was synced in 9 secs
17:55:06 -!- Irssi: Join to #ubuntu was synced in 10 secs
17:55:06 -!- Irssi: Join to #archlinux was synced in 10 secs
17:55:06 -!- Irssi: Join to #gentoo was synced in 10 secs
17:55:07 -!- Irssi: Join to #znc was synced in 11 secs
17:55:07 -!- Irssi: Join to ##linux was synced in 11 secs
17:55:08 -!- Irssi: Join to #python was synced in 12 secs
17:55:08 -!- Irssi: Join to #systemd was synced in 12 secs
17:55:09 -!- Irssi: Join to #perl was synced in 13 secs
17:55:09 -!- Irssi: Join to ##java was synced in 13 secs
17:55:10 -!- Irssi: Join to ##c++ was synced in 14 secs
17:55:10 -!- Irssi: Join to ##c was synced in 14 secs
17:55:11 -!- Irssi: Join to ##csharp was synced in 15 secs
17:55:11 -!- Irssi: Join to #debian was synced in 15 secs
Irssi by default will ```/who #channel``` and ```/mode #channel b```. The ```/who #channel``` is only run on channels with 1000 users or less, while irssi will ```/mode #channel b``` everything. Raw znc log (after I snipped out a few 1000 lines of /who, /names, /mode #channel b ...) https://gist.github.com/RealKindOne/4624e83412edc3fe4c6da1a1b791e40b ``` 16:31:56 [flood] 16:31:56 flood_max_msgs = 4 16:31:56 flood_timecheck = 8 16:32:01 [misc] 16:32:01 channel_max_who_sync = 1000 16:32:01 channel_sync = ON ``` ``` 16:33:20 <EvilOne> getnetwork floodrate KindOne freenode 16:33:20 <*controlpanel> FloodRate = 1.00 16:33:26 <EvilOne> getnetwork floodburst KindOne freenode 16:33:26 <*controlpanel> FloodBurst = 4 ``` Irssi + znc ``` 16:22:47 -!- Irssi: Join to #freenode was synced in 19 secs 16:22:48 -!- Irssi: Join to #ubuntu was synced in 20 secs 16:22:49 -!- Irssi: Join to #archlinux was synced in 21 secs 16:22:50 -!- Irssi: Join to #gentoo was synced in 22 secs 16:22:51 -!- Irssi: Join to #znc was synced in 23 secs 16:22:52 -!- Irssi: Join to ##linux was synced in 24 secs 16:22:53 -!- Irssi: Join to #python was synced in 25 secs 16:22:54 -!- Irssi: Join to #systemd was synced in 26 secs 16:22:56 -!- Irssi: Join to #perl was synced in 28 secs 16:22:56 -!- Irssi: Join to ##java was synced in 28 secs 16:22:57 -!- Irssi: Join to ##c++ was synced in 29 secs 16:22:58 -!- Irssi: Join to ##c was synced in 30 secs 16:23:00 -!- Irssi: Join to ##csharp was synced in 32 secs 16:23:32 -!- Irssi: Join to #debian was synced in 64 secs ``` Just irssi. ``` 17:55:05 -!- Irssi: Join to #freenode was synced in 9 secs 17:55:06 -!- Irssi: Join to #ubuntu was synced in 10 secs 17:55:06 -!- Irssi: Join to #archlinux was synced in 10 secs 17:55:06 -!- Irssi: Join to #gentoo was synced in 10 secs 17:55:07 -!- Irssi: Join to #znc was synced in 11 secs 17:55:07 -!- Irssi: Join to ##linux was synced in 11 secs 17:55:08 -!- Irssi: Join to #python was synced in 12 secs 17:55:08 -!- Irssi: Join to #systemd was synced in 12 secs 17:55:09 -!- Irssi: Join to #perl was synced in 13 secs 17:55:09 -!- Irssi: Join to ##java was synced in 13 secs 17:55:10 -!- Irssi: Join to ##c++ was synced in 14 secs 17:55:10 -!- Irssi: Join to ##c was synced in 14 secs 17:55:11 -!- Irssi: Join to ##csharp was synced in 15 secs 17:55:11 -!- Irssi: Join to #debian was synced in 15 secs ``` <!-- github-comment-id:266318011 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#741