about summary refs log tree commit diff stats
path: root/src/event/client_events.c
diff options
context:
space:
mode:
authorSteffen Jaeckel <jaeckel-floss@eyet-services.de>2023-05-10 15:07:07 +0200
committerSteffen Jaeckel <jaeckel-floss@eyet-services.de>2023-05-10 18:12:11 +0200
commit8cd53acfd7450b4c1d22c956021af28135c38240 (patch)
treebfb34be7ba566b6fd30d67bd181312978c0987cd /src/event/client_events.c
parent08d68d329bac4417a8c7a9c44d7398e460fc0751 (diff)
downloadprofani-tty-8cd53acfd7450b4c1d22c956021af28135c38240.tar.gz
fix `/reconnect now`
This fixes #1846
Issue introduced by a0aa26b6fa65ba625f4a6d3495a345c7120ff16d

Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
Diffstat (limited to 'src/event/client_events.c')
-rw-r--r--src/event/client_events.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/event/client_events.c b/src/event/client_events.c
index 4dcda4f3..c393ccd4 100644
--- a/src/event/client_events.c
+++ b/src/event/client_events.c
@@ -47,6 +47,7 @@
 #include "plugins/plugins.h"
 #include "ui/window_list.h"
 #include "xmpp/chat_session.h"
+#include "xmpp/session.h"
 #include "xmpp/xmpp.h"
 
 #ifdef HAVE_LIBOTR
@@ -95,6 +96,18 @@ cl_ev_disconnect(void)
 }
 
 void
+cl_ev_reconnect(void)
+{
+    if (connection_get_status() != JABBER_DISCONNECTED) {
+        connection_disconnect();
+        ev_disconnect_cleanup();
+        // on intentional disconnect reset the counter
+        ev_reset_connection_counter();
+    }
+    session_reconnect_now();
+}
+
+void
 cl_ev_presence_send(const resource_presence_t presence_type, const int idle_secs)
 {
     char* signed_status = NULL;