aboutsummaryrefslogtreecommitdiff
path: root/modules/resume.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-02-17 12:48:22 +0000
committerGravatar jesopo2019-02-17 12:48:22 +0000
commit107205d29a94c39ad601cd15e8f47ca8d98a71d9 (patch)
treea6a2b07462b81c1924913c29c473643558f12fbf /modules/resume.py
parentHow did this newline get here (diff)
signature
Only completely prevent `CAP END` when we get `RESUME SUCCESS` (resume.py)
Diffstat (limited to 'modules/resume.py')
-rw-r--r--modules/resume.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/resume.py b/modules/resume.py
index 90e516aa..c51d25c7 100644
--- a/modules/resume.py
+++ b/modules/resume.py
@@ -32,12 +32,17 @@ class Module(ModuleManager.BaseModule):
@utils.hook("received.resume")
def on_resume(self, event):
+ cap_done = False
+
if event["args"][0] == "SUCCESS":
resume_channels = event["server"].get_setting("resume-channels", [])
self.log.info("Successfully resumed session", [])
+ event["server"].cap_started = False
+ cap_done = True
elif event["args"][0] == "ERR":
self.log.info("Failed to resume session: %s", [event["args"][1]])
+ cap_done = True
elif event["args"][0] == "TOKEN":
token = self._get_token(event["server"])
@@ -48,9 +53,12 @@ class Module(ModuleManager.BaseModule):
event["server"].send("RESUME %s%s" %
(token, " %s" % timestamp if timestamp else ""))
- event["server"].cap_started = False
+ else:
+ cap_done = True
+
+ if cap_done:
+ event["server"].capability_done("resume")
- event["server"].capability_done("resume")
@utils.hook("received.001")
def on_connect(self, event):