From e39adff40fd3feae41e793994f870112f57cf131 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 13 Dec 2021 21:20:40 +0100 Subject: [PATCH] [muc] Only notify() about processed self-presence once Since notify() is a rather expensive operation, we should only invoke it once. Especially since some servers include 110 in all self presences, not just the initially reflected one on MUC join. --- .../main/java/org/jivesoftware/smackx/muc/MultiUserChat.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java index 92e8ec3f3..540e419fe 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java @@ -211,7 +211,8 @@ public class MultiUserChat { switch (presence.getType()) { case available: - if (mucUser.getStatus().contains(MUCUser.Status.PRESENCE_TO_SELF_110)) { + if (!processedReflectedSelfPresence + && mucUser.getStatus().contains(MUCUser.Status.PRESENCE_TO_SELF_110)) { processedReflectedSelfPresence = true; synchronized (this) { notify();