From 75a4ecec56f6c9d20f5c2931c66f38a0484fb8df Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Fri, 8 Nov 2024 12:44:22 +0100 Subject: [PATCH] do not offer 'add reaction' when not participating --- .../conversations/services/XmppConnectionService.java | 7 ++++++- .../eu/siacs/conversations/ui/ConversationFragment.java | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index af1bc9f72e1868a4d4f890a5780d4ff4655e8bae..ad156ad6e4f1504ed058b8754689294ec83a1e6d 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -4638,7 +4638,12 @@ public class XmppConnectionService extends Service { final String reactToId; final Collection combinedReactions; if (conversation.getMode() == Conversational.MODE_MULTI) { - final var self = conversation.getMucOptions().getSelf(); + final var mucOptions = conversation.getMucOptions(); + if (!mucOptions.participating()) { + Log.d(Config.LOGTAG,"not participating in MUC"); + return false; + } + final var self = mucOptions.getSelf(); final String occupantId = self.getOccupantId(); if (Strings.isNullOrEmpty(occupantId)) { Log.d(Config.LOGTAG, "occupant id not found for reaction in MUC"); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index aad680b0f02f9c0016a44cd0c5b8d49d1f8e1e1c..81389b748349e14ace259998d7593a1622b6740f 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -1346,7 +1346,8 @@ public class ConversationFragment extends XmppFragment !showError && !m.isDeleted() && (c.getMode() == Conversational.MODE_SINGLE - || c.getMucOptions().occupantId())); + || (c.getMucOptions().occupantId() + && c.getMucOptions().participating()))); } else { addReaction.setVisible(false); }