diff options
Diffstat (limited to 'src/xmpp')
-rw-r--r-- | src/xmpp/message.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index be7ceccf..6b29777f 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -1359,6 +1359,14 @@ _handle_carbons(xmpp_stanza_t* const stanza) return NULL; } + // Eliminate duplicate messages in chat with oneself when another client is sending a message + char* bare_from = xmpp_jid_bare(connection_get_ctx(), xmpp_stanza_get_from(message_stanza)); + if (g_strcmp0(bare_from, xmpp_stanza_get_to(message_stanza)) == 0) { + free(bare_from); + return NULL; + } + free(bare_from); + return message_stanza; } |