ShadowIRC presently does not distinguish between general commands which need to be performed upon connection (e.g. nickserv registration, cloaking) and channel join commands, in the Connection Actions prefs pane. This means that should you experience a connection failure and ShadowIRC reconnects you, it will run all your /join commands regardless of whether the windows are open or not. Thus, if you've parted all channels and gone to bed, or you have for some reason left a channel, then you might find yourself back in it again if you get reconnected.
Two possible ways around this:
- An extra option in the Connections prefs pane, "Only rejoin open channels", to suppress /join for channels which you are not presently in;
- A new command, /cjoin - conditional join - only join when not reconnecting
Another helpful command might be /delay - anyone using Undernet will have noticed by now that their cloaking system is particularly useless - people are seen entering a channel with their uncloaked hostmask, then parting, and then rejoining cloaked. Apparently, this is just Undernet being slow, so maybe a /delay command to pause ShadowIRC for n seconds to allow for slow cloaking systems to kick in would be helpful, before issuing any channel join commands.