diff options
author | Steffen Jaeckel <jaeckel-floss@eyet-services.de> | 2023-05-10 15:07:07 +0200 |
---|---|---|
committer | Steffen Jaeckel <jaeckel-floss@eyet-services.de> | 2023-05-10 18:12:11 +0200 |
commit | 8cd53acfd7450b4c1d22c956021af28135c38240 (patch) | |
tree | bfb34be7ba566b6fd30d67bd181312978c0987cd /src/event | |
parent | 08d68d329bac4417a8c7a9c44d7398e460fc0751 (diff) | |
download | profani-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')
-rw-r--r-- | src/event/client_events.c | 13 | ||||
-rw-r--r-- | src/event/client_events.h | 1 |
2 files changed, 14 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; diff --git a/src/event/client_events.h b/src/event/client_events.h index fed2bb37..a35e97b5 100644 --- a/src/event/client_events.h +++ b/src/event/client_events.h @@ -42,6 +42,7 @@ jabber_conn_status_t cl_ev_connect_jid(const char* const jid, const char* const jabber_conn_status_t cl_ev_connect_account(ProfAccount* account); void cl_ev_disconnect(void); +void cl_ev_reconnect(void); void cl_ev_presence_send(const resource_presence_t presence_type, const int idle_secs); |