Reported by Emilian Bold:
The Martyr AutoJoin class did not quite do the job right. When the
client connects, it goes immediatelly to REGISTERED state and thus
AutoJoin sends a JOIN command. But on some servers, there is also
a long motd that must be shown and on some dial-up or slow
internet links, the JOIN command is actually send too soon (i.e.
before the motd has ended). This results in the fact that the JOIN
command is ignored.
A quick workaround to this is that we use PING as some sort of
timer. When receiving a PING, AutoJoin checkes is we are on the
channel. If not, it rejoins it.
The whole bug is that AutoJoin sends a JOIN command and doesn't
actually check if it works. Maybe a simple timer thread should be
used. My current implementation works correctly but depends on
the PING timeout. If the server sends a PING only every 5 minutes,
the client might connect after 5 minutes of idleness.
Logged In: YES
user_id=843977
mog submitted a fix for this one ages ago!