]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java
Approve join requests instead of just adding the member
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / GroupHelper.java
index 90d5d7261fd53113ffd67cc1e4564c3f01fefe5d..a342064ca506ab2cb42896e317f7d11b250f2c83 100644 (file)
@@ -593,8 +593,15 @@ public class GroupHelper {
         }
 
         if (members != null) {
+            final var requestingMembers = new HashSet<>(members);
+            requestingMembers.retainAll(group.getRequestingMembers());
+            if (requestingMembers.size() > 0) {
+                var groupGroupChangePair = groupV2Helper.approveJoinRequestMembers(group, requestingMembers);
+                result = sendUpdateGroupV2Message(group, groupGroupChangePair.first(), groupGroupChangePair.second());
+            }
             final var newMembers = new HashSet<>(members);
             newMembers.removeAll(group.getMembers());
+            newMembers.removeAll(group.getRequestingMembers());
             if (newMembers.size() > 0) {
                 var groupGroupChangePair = groupV2Helper.addMembers(group, newMembers);
                 result = sendUpdateGroupV2Message(group, groupGroupChangePair.first(), groupGroupChangePair.second());