aboutsummaryrefslogtreecommitdiff
path: root/modules/line_handler.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-11-09 10:43:05 +0000
committerGravatar jesopo2018-11-09 10:43:05 +0000
commit4bab1aea3094c2fa6cd8ba96a42eda905a933581 (patch)
tree134fe7b75e872235a8183d10cee5436375a7be36 /modules/line_handler.py
parentFilter out empty items in utils.parse.keyvalue (diff)
signature
Add a way to more explicitly denote when a CAP handshake has ended early
Diffstat (limited to 'modules/line_handler.py')
-rw-r--r--modules/line_handler.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/line_handler.py b/modules/line_handler.py
index bdb0c70b..dc38e675 100644
--- a/modules/line_handler.py
+++ b/modules/line_handler.py
@@ -265,6 +265,7 @@ class Module(ModuleManager.BaseModule):
is_multiline = len(event["args"]) > 2 and event["args"][2] == "*"
if subcommand == "ls":
+ event["server"].cap_started = True
event["server"].server_capabilities.update(capabilities)
if not is_multiline:
matched_capabilities = set(event["server"
@@ -292,13 +293,14 @@ class Module(ModuleManager.BaseModule):
elif subcommand == "ack":
event["server"].capabilities.update(capabilities)
if not is_multiline:
- results = self.events.on("received.cap.ack").call(
+ self.events.on("received.cap.ack").call(
capabilities=event["server"].capabilities,
server=event["server"])
- if not False in results:
- if not event["server"].waiting_for_capabilities():
- event["server"].send_capability_end()
+ if event["server"].cap_started and not event["server"
+ ].waiting_for_capabilities():
+ event["server"].cap_started = False
+ event["server"].send_capability_end()
elif subcommand == "nack":
event["server"].send_capability_end()