From 53c31159769296a9797da6653bc070b9467f3c08 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 1 Aug 2019 20:48:23 +0200 Subject: Don't print subscribed message if contact is already in roster This occured with a user running Cisco Jabber. It seems this server sends repeated presence subscribed stanzas. And although I find this strange according to RFC this seems to be ok. So let's filter them and only display in the console output and to the log. But don't open seperate windows. Fix https://github.com/profanity-im/profanity/issues/1165 --- src/event/server_events.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/event/server_events.c b/src/event/server_events.c index 86a9ae8d..14c0a11a 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -863,9 +863,13 @@ sv_ev_subscription(const char *barejid, jabber_subscr_t type) } break; case PRESENCE_SUBSCRIBED: - cons_show("Subscription received from %s", barejid); log_info("Subscription received from %s", barejid); - ui_print_system_msg_from_recipient(barejid, "Subscribed"); + cons_show("Subscription received from %s", barejid); + + PContact contact = roster_get_contact(barejid); + if (contact == NULL) { + ui_print_system_msg_from_recipient(barejid, "Subscribed"); + } break; case PRESENCE_UNSUBSCRIBED: cons_show("%s deleted subscription", barejid); -- cgit 1.4.1-2-gfad0