- Revamp persistent channel registration to be plugin specific, effectively working around relay-services conflicts (closes#265)
- New abstraction in ServiceBot: add/remove_persistent_channel() to manage persistent channels independently of explicit joins and parts
- Introduce ServiceBot.part(), which sends a part "request" that succeeds only if a channel is not marked persistent by any plugin
- Replace ServiceBot.join() calls with the new registration mechanism, which queues joins instead of dropping them if the service client is not yet ready (closes#596)
- Make dynamic_channels per plugin as well as per network to work around relay-service conflicts (#265)
- Introduce ServiceBot.(add|remove)_persistent_channel() to add/remove persistent channels and optionally join/part them
- Introduce ServiceBot.part(), which checks remaining persistent channels list and parts a channel only if it is still not marked persistent
- Refactor automode to autojoin channels on ENDBURST instead of plugin load
- Refactor relay to manage persistent channels on join/part/(de)init, both locally (namespace 'relay_local') and remotely (namespace 'relay_remote')
commit c82dcb95a6fa1584104a258c9772845b5549b35e
Author: James Lu <james@overdrivenetworks.com>
Date: Tue Apr 17 11:49:44 2018 -0700
adv-relay-config: more cleanup and stylistic tweaks
commit 515974a54a3a5970b4b78569e395ba69b7ee2ebc
Author: James Lu <james@overdrivenetworks.com>
Date: Tue Apr 17 11:45:02 2018 -0700
adv-relay-config: revert sorting events
I'd rather have this match the code 1 to 1.
commit c63a298bd44b341831c2492d667becac67b42b42
Author: Ken Spencer <me@iotaspencer.me>
Date: Tue Apr 17 02:15:31 2018 -0400
adv-relay-config: change a bit of formatting (#597)
commit aa9577e8300d30713249e054905e6975897e1965
Author: Ken Spencer <me@iotaspencer.me>
Date: Tue Apr 17 02:09:31 2018 -0400
adv-relay-config: add more about coloring, sort events
XXX: we could perhaps use abstraction to this since we're repetitively chaining commands
XXX: 'ts' is not type-safe yet, some protocol modules are storing it as a string?!
- Make ping timer abort instantly if the network is dead
- Shut down the read and write parts of the socket separately, and only close the socket once both parts are done.