From 7ca9a9503cf427331f0a538bc9c6548830b81c2e Mon Sep 17 00:00:00 2001 From: Guus der Kinderen Date: Fri, 14 Jun 2024 22:25:05 +0200 Subject: [PATCH] [muc] Prevent duplicate processing of mediated invitations When a MUC mediated invitation includes the `` element (for backwards compatibility), then Smack should not fire the 'direct invitation' event listener. The value for 'inviter' that's used to invoke that listener will be false. Fixes SMACK-943 --- .../java/org/jivesoftware/smackx/muc/MultiUserChatManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java index 47de2163de..612f68acaa 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java @@ -148,6 +148,7 @@ public static synchronized MultiUserChatManager getInstanceFor(XMPPConnection co private static final StanzaFilter DIRECT_INVITATION_FILTER = new AndFilter(StanzaTypeFilter.MESSAGE, new ExtensionElementFilter(GroupChatInvitation.class), + new NotFilter(new ExtensionElementFilter<>(MUCUser.class)), new NotFilter(MessageTypeFilter.ERROR)); private static final ExpirationCache KNOWN_MUC_SERVICES = new ExpirationCache<>(