When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.
This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.
Closes: Sf#3075937
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit cb48912db6)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3069906
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 89df85c3b3)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3070285
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0fd6a84632)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 074ded49e4)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 154fbc30e9)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 45abdc8248)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Define utils.python.glob2re based on the Python version being used.
Use glob2re in Todo and Note plugins.
Closes: Sf#3059292
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit b0575cec88)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057517
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit fc2a84fb90)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3058142
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c0e24cef30)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
The regular expressions were woefully out of date and since there's not a
stable API (or any for that matter), keeping things working is a losing
battle.
Closes: Sf#3057485
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c9274606ce)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057255
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 7cf61ad046)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055991
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 8cc6320768)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056753
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 452c019b10)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056621
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit bc98577fb1)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 577294f489)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055358
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit de726f90f3)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055365
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f977a3a260)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055353
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 07da8cab13)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3054919
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 25b987cc58)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
The list of tasks scheduled with the Scheduler plugin is now saved
on exit, and restored upon restart.
Previously all scheduled tasks would be forgotten upon bot restart,
which was undesirable behavior.
When importing 'from src', that pulled src/__init__.py, which in turn tried to import the supybot module.
Now we edit sys.path and import the .py file directly.
Since load/reload was the only place where case mattered for plugins, and it tripped up
a lot of new users, this should be a nice bit of usability improvement.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 166f32dcb0)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
otherwise, we have to block for $smalldelay between putting and getting the item, since queue putting is not instantaneous
and sometimes we would get 'nothing returned' instead of the timeout message.