Limnoria/plugins
David Macek 3d21c7cbcb Services: Keep per-network state separate
Until now, only `waitingJoins` was stored separately per network, while
`channels`, `sentGhost` and `identified` had one common value per plugin
instance.  Instead of making everything a dictionary indexed by network
name like `waitingJoins`, let's bundle all the state together in a class
and store *its* instances in such a dictionary.

This fixes at least one race condition, for which a test case was added.
Even with `noJoinsUntilIdentified` set, the bot would let joins through
as long as *any* one network has already finished identifying.
2021-04-27 19:52:58 +02:00
..
Admin Admin: Merge tests with the same name into one 2021-04-24 21:03:13 +02:00
Aka all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Alias all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Anonymous all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Autocomplete all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
AutoMode all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
BadWords all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Channel all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
ChannelLogger all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
ChannelStats all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Conditional all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Config all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Ctcp all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
DDG all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Debug all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Dict all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Dunno all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Factoids all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Fediverse all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Filter all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Format all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Games all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Google all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
GPG all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Hashes all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Herald all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Internet all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Karma all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Lart all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Later all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Limiter all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
LogToIrc all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Math all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
MessageParser all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Misc all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
MoobotFactoids all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Network all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
News all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
NickAuth all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
NickCapture all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Nickometer all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Note all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Owner all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Plugin all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
PluginDownloader all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Praise all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Protector all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Quote all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
QuoteGrabs all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Relay all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Reply all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
RSS all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Scheduler all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
SedRegex all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Seen all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Services Services: Keep per-network state separate 2021-04-27 19:52:58 +02:00
ShrinkUrl all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Status all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
String all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Success all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Time all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Todo all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Topic all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Unix all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
URL all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
User all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Utilities all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
Web all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
__init__.py Seen: Don't internalize IrcString (again). 2020-06-05 00:41:18 +02:00
messages.pot update messages.pot files && Unix: update l10n-fi. 2014-03-22 12:22:54 +02:00