From 6ab6fe86490efc823e7f73da068fddbfcef7a0f7 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 30 Sep 2019 10:01:19 +0200 Subject: Detect MUC history correctly with some Prosody versions Some versions of prosody send the domainpart. See https://issues.prosody.im/1416 Workaround to handle those cases. Thanks to Holger Weiss for helping with this! Fix https://github.com/profanity-im/profanity/issues/1190 --- src/xmpp/message.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 8a711e90..ac688a41 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -823,7 +823,9 @@ _handle_groupchat(xmpp_stanza_t *const stanza) // determine if the notifications happened whilst offline gchar *from; message->timestamp = stanza_get_delay_from(stanza, &from); - if (message->timestamp && g_strcmp0(jid->barejid, from) == 0) { + // checking the domainpart is a workaround for some prosody versions (gh#1190) + if (message->timestamp && (g_strcmp0(jid->barejid, from) == 0 + || g_strcmp0(jid->domainpart, from) == 0)) { sv_ev_room_history(message); } else { sv_ev_room_message(message); -- cgit 1.4.1-2-gfad0