From 40f292d998650abc1b25b6bbf94b9c4b6174a3a8 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 26 Mar 2019 12:13:01 +0100 Subject: Use new slixmpp!12 disconnect/reconnect semantics --- poezio/core/core.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'poezio/core/core.py') diff --git a/poezio/core/core.py b/poezio/core/core.py index 6bb19d16..ed977b6d 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -834,14 +834,10 @@ class Core: self.legitimate_disconnect = True for tab in self.get_tabs(tabs.MucTab): tab.command_part(msg) - self.xmpp.disconnect() if reconnect: - # Add a one-time event to reconnect as soon as we are - # effectively disconnected - self.xmpp.add_event_handler( - 'disconnected', - lambda event: self.xmpp.connect(), - disposable=True) + self.xmpp.reconnect(wait=0.0, reason=msg) + else: + self.xmpp.disconnect(reason=msg) def send_message(self, msg: str) -> bool: """ -- cgit v1.2.3 From 46e3dece5e04fd8854596f32266c43083141526b Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 26 Mar 2019 12:28:41 +0100 Subject: Only /part tabs on disconnect, not on reconnect --- poezio/core/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'poezio/core/core.py') diff --git a/poezio/core/core.py b/poezio/core/core.py index ed977b6d..cc838541 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -832,11 +832,11 @@ class Core: parts of the client (for example, set the MucTabs as not joined, etc) """ self.legitimate_disconnect = True - for tab in self.get_tabs(tabs.MucTab): - tab.command_part(msg) if reconnect: self.xmpp.reconnect(wait=0.0, reason=msg) else: + for tab in self.get_tabs(tabs.MucTab): + tab.command_part(msg) self.xmpp.disconnect(reason=msg) def send_message(self, msg: str) -> bool: -- cgit v1.2.3 From 90a5b3d352529d396088476d299950baf09cadf7 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 26 Mar 2019 14:29:50 +0100 Subject: Refactor session_end actions out of on_disconnect --- poezio/core/core.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'poezio/core/core.py') diff --git a/poezio/core/core.py b/poezio/core/core.py index cc838541..1f02c3d8 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -256,6 +256,8 @@ class Core: ('roster_update', self.handler.on_roster_update), ('session_start', self.handler.on_session_start), ('session_start', self.handler.on_session_start_features), + ('session_end', self.handler.on_session_end), + ('sm_failed', self.handler.on_session_end), ('ssl_cert', self.handler.validate_ssl), ('ssl_invalid_chain', self.handler.ssl_invalid_chain), ('stream_error', self.handler.on_stream_error), -- cgit v1.2.3 From dc5144fdb9f359e21e4901b523738ae1b20cbcd6 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 26 Mar 2019 14:30:57 +0100 Subject: Inform the user and re-instate 0199 pinger on a successful 0198 resume --- poezio/core/core.py | 1 + 1 file changed, 1 insertion(+) (limited to 'poezio/core/core.py') diff --git a/poezio/core/core.py b/poezio/core/core.py index 1f02c3d8..6f840dc2 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -258,6 +258,7 @@ class Core: ('session_start', self.handler.on_session_start_features), ('session_end', self.handler.on_session_end), ('sm_failed', self.handler.on_session_end), + ('session_resumed', self.handler.on_session_resumed), ('ssl_cert', self.handler.validate_ssl), ('ssl_invalid_chain', self.handler.ssl_invalid_chain), ('stream_error', self.handler.on_stream_error), -- cgit v1.2.3