Irssi core bugs

Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 85 Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 90
  • Status Researching
  • Percent Complete
  • Task Type Feature Request
  • Category core
  • Assigned To Jase Thew (bazerka)
  • Operating System Linux
  • Severity Low
  • Priority Normal
  • Reported Version Irssi 0.8.12
  • Due in Version Undecided
  • Due Date Undecided
Attached to Project: Irssi core bugs
Opened by Mike Land (vague) - 2009-01-29
Last edited by Jase Thew (bazerka) - 2010-08-31

FS#639 - irssi should respect the -auto flag for channels on reconnect.

Irssi should respect the -auto flag for channels when reconnecting
to be able to avoid join/part spam in channels.
As it is now all joined channels are rejoined upon reconnect thus
making join/part spam a possibility.
Having irssi respect the -auto flag would give the user a chance to
decide if he wishes to rejoin a channel upon reconnect.
A possible solution could be to add a setting, rejoin_auto_channels_only on/off
and when off, all channels would be rejoined,
or rejoin_channels on/auto/off giving the user more freedom to choose
which mode he wishes to operate within.

This task does not depend on any other tasks.

Wouter Coekaerts (coekie)
Sunday, 29 March 2009, 10:13 GMT
I'd like the setting with 3 options too...
(in a private script for a bot, I'm doing quite an ugly hack to prevent autorejoining: stop the "event connected" signal)
Mike Land (vague)
Wednesday, 15 February 2012, 10:11 GMT
Patch for 0.8.15 source, with a three state setting, on, off and auto where
on: rejoin all joined channels
off: do not rejoin any channel
auto: rejoin only joined channels that are set -auto

The patch has been tested with ctrl-z/fg meaning pressing ctrl-z to suspend the task, wait for the session to time out then fg to bring the task to the front and the connections are restarted
Please test and report back any bugs you find. I had a glib error at one point complaining about doublefreeing a pointer(if I remember correctly), I changed return ret to return "" when rejoin_channels_on_reconnect is off which might've worked, although the mode which made irssi crash was when rejoin_channels_on_reconnect was set to auto
The order in which I tried was on, off, auto which might be significant for the crash,

anyway, after the change I haven't had a crash and hopefully it'll stay that way :)
Mike Land (vague)
Sunday, 25 March 2012, 14:34 GMT
Corrected a bad return value, return "" made irssi crash at times, return g_strdup("") should work better, should be ok now :)