Compare commits

...

5 Commits

Author SHA1 Message Date
morph027
7e0e52b7de
Merge a09805236a54a8d4f4540b940b5d0c7e9c6c74d1 into 313f5392ef82db1e2dd81da8ccc9df52c2c4610d 2026-03-13 08:44:46 +01:00
joeykrim
313f5392ef
Fix updateGroup --admin and --remove-member silent failures (#1970)
Fix type mismatch in retainAll() calls that cause updateGroup --admin
and --remove-member to silently do nothing.

retainAll() compared Set<RecipientId> against Collection<GroupMemberInfo>,
which always evaluates to false (different types), emptying the set.

Replace group.getMembers() with group.getMemberRecipientIds() in all
three affected locations.

Fixes: updateGroup --admin silently failing to promote members
Fixes: updateGroup --remove-member silently failing to remove members

Co-authored-by: joey <joey@Mac-Studio.local>
2026-03-13 08:08:02 +01:00
morph027
a09805236a
Merge branch 'master' into GHSA-72hv-8253-57qq-bump-jackson-databind-to-2.21.1 2026-03-08 15:09:58 +01:00
morph027
8dae066046
squash
Signed-off-by: morph027 <stefan.heitmueller@gmx.com>
2026-03-04 15:35:02 +01:00
morph027
d4ad948d14
GHSA-72hv-8253-57qq: bump jackson-databind to 2.21.1
Signed-off-by: morph027 <stefan.heitmueller@gmx.com>
2026-03-04 15:31:16 +01:00
2 changed files with 4 additions and 4 deletions

View File

@ -4,7 +4,7 @@ junit = "6.0.2"
[libraries]
bouncycastle = "org.bouncycastle:bcprov-jdk18on:1.83"
jackson-databind = "com.fasterxml.jackson.core:jackson-databind:2.20.2"
jackson-databind = "com.fasterxml.jackson.core:jackson-databind:2.21.1"
argparse4j = "net.sourceforge.argparse4j:argparse4j:0.9.0"
dbusjava = "com.github.hypfvieh:dbus-java-transport-native-unixsocket:5.0.0"
zxing = "com.google.zxing:core:3.5.4"

View File

@ -739,7 +739,7 @@ public class GroupHelper {
if (banMembers != null) {
existingRemoveMembers.addAll(banMembers);
}
existingRemoveMembers.retainAll(group.getMembers());
existingRemoveMembers.retainAll(group.getMemberRecipientIds());
if (members != null) {
existingRemoveMembers.removeAll(members);
}
@ -765,7 +765,7 @@ public class GroupHelper {
if (admins != null) {
final var newAdmins = new HashSet<>(admins);
newAdmins.retainAll(group.getMembers());
newAdmins.retainAll(group.getMemberRecipientIds());
newAdmins.removeAll(group.getAdminMemberRecipientIds());
if (!newAdmins.isEmpty()) {
for (var admin : newAdmins) {
@ -878,7 +878,7 @@ public class GroupHelper {
) throws LastGroupAdminException, IOException {
final var currentAdmins = groupInfoV2.getAdminMemberRecipientIds();
newAdmins.removeAll(currentAdmins);
newAdmins.retainAll(groupInfoV2.getMembers());
newAdmins.retainAll(groupInfoV2.getMemberRecipientIds());
if (currentAdmins.contains(account.getSelfRecipientId())
&& currentAdmins.size() == 1
&& groupInfoV2.getMembers().size() > 1