From 028242826ef918dfc7b92ab901249184fb3310db Mon Sep 17 00:00:00 2001 From: jeffrey-signal Date: Fri, 30 Jan 2026 12:12:52 -0500 Subject: [PATCH] Rename Groups.proto modifyMemberLabel field to modifyMemberLabels. --- ...GroupChangeActionsBuilderChangeSetModifier.kt | 2 +- .../api/groupsv2/DecryptedGroupUtil.java | 6 +++--- ...GroupChangeActionsBuilderChangeSetModifier.kt | 2 +- .../api/groupsv2/GroupChangeReconstruct.java | 2 +- .../api/groupsv2/GroupChangeUtil.java | 4 ++-- .../api/groupsv2/GroupsV2Operations.java | 8 ++++---- .../src/main/protowire/DecryptedGroups.proto | 2 +- .../src/main/protowire/Groups.proto | 2 +- .../groupsv2/DecryptedGroupUtil_apply_Test.java | 6 +++--- .../groupsv2/DecryptedGroupUtil_empty_Test.java | 2 +- .../api/groupsv2/GroupChangeReconstructTest.java | 16 ++++++++-------- .../GroupChangeUtil_changeIsEmpty_Test.java | 2 +- .../GroupChangeUtil_resolveConflict_Test.java | 8 ++++---- ...eUtil_resolveConflict_decryptedOnly_Test.java | 8 ++++---- .../GroupsV2Operations_decrypt_change_Test.java | 2 +- 15 files changed, 36 insertions(+), 36 deletions(-) diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupChangeActionsBuilderChangeSetModifier.kt b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupChangeActionsBuilderChangeSetModifier.kt index eaba5279ad..a4260ddbd7 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupChangeActionsBuilderChangeSetModifier.kt +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupChangeActionsBuilderChangeSetModifier.kt @@ -111,7 +111,7 @@ internal class DecryptedGroupChangeActionsBuilderChangeSetModifier(private val r } override fun removeModifyMemberLabels(i: Int) { - result.modifyMemberLabel = result.modifyMemberLabel.removeIndex(i) + result.modifyMemberLabels = result.modifyMemberLabels.removeIndex(i) } private fun List.removeIndex(i: Int): List { diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil.java index 0f4ad4efe9..362ec0a43f 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil.java @@ -338,7 +338,7 @@ public final class DecryptedGroupUtil { applyPromotePendingPniAciMemberActions(builder, change.promotePendingPniAciMembers); - DecryptedGroupExtensionsKt.setModifyMemberLabelActions(builder, change.modifyMemberLabel); + DecryptedGroupExtensionsKt.setModifyMemberLabelActions(builder, change.modifyMemberLabels); return builder.build(); } @@ -753,7 +753,7 @@ public final class DecryptedGroupUtil { change.newBannedMembers.size() == 0 && // field 22 change.deleteBannedMembers.size() == 0 && // field 23 change.promotePendingPniAciMembers.size() == 0 && // field 24 - change.modifyMemberLabel.isEmpty(); // field 26 + change.modifyMemberLabels.isEmpty(); // field 26 } public static boolean changeIsEmptyExceptForBanChangesAndOptionalProfileKeyChanges(DecryptedGroupChange change) { @@ -777,7 +777,7 @@ public final class DecryptedGroupUtil { change.newDescription == null && // field 20 isEmpty(change.newIsAnnouncementGroup) && // field 21 change.promotePendingPniAciMembers.size() == 0 && // field 24 - change.modifyMemberLabel.isEmpty(); // field 26 + change.modifyMemberLabels.isEmpty(); // field 26 } static boolean isEmpty(AccessControl.AccessRequired newAttributeAccess) { diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeActionsBuilderChangeSetModifier.kt b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeActionsBuilderChangeSetModifier.kt index 6c3e209081..20b8665095 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeActionsBuilderChangeSetModifier.kt +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeActionsBuilderChangeSetModifier.kt @@ -102,7 +102,7 @@ internal class GroupChangeActionsBuilderChangeSetModifier(private val result: Gr } override fun removeModifyMemberLabels(i: Int) { - result.modifyMemberLabel = result.modifyMemberLabel.removeIndex(i) + result.modifyMemberLabels = result.modifyMemberLabels.removeIndex(i) } private fun List.removeIndex(i: Int): List { diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java index 53cbd33714..88cb06fd7b 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java @@ -143,7 +143,7 @@ public final class GroupChangeReconstruct { } builder.modifyMemberRoles(modifiedMemberRoles); builder.modifiedProfileKeys(modifiedProfileKeys); - builder.modifyMemberLabel(modifiedMemberLabels); + builder.modifyMemberLabels(modifiedMemberLabels); if (fromState.accessControl == null || (toState.accessControl != null && !fromState.accessControl.addFromInviteLink.equals(toState.accessControl.addFromInviteLink))) { if (toState.accessControl != null) { diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil.java index b6d4af7f16..b605cfb267 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil.java @@ -51,7 +51,7 @@ public final class GroupChangeUtil { change.add_members_banned.size() == 0 && // field 22 change.delete_members_banned.size() == 0 && // field 23 change.promote_members_pending_pni_aci_profile_key.size() == 0 && // field 24 - change.modifyMemberLabel.isEmpty(); // field 26 + change.modifyMemberLabels.isEmpty(); // field 26 } /** @@ -379,7 +379,7 @@ public final class GroupChangeUtil { @Nonnull Map fullMembersByAci ) { - List actions = conflictingChange.modifyMemberLabel; + List actions = conflictingChange.modifyMemberLabels; for (int i = actions.size() - 1; i >= 0; i--) { DecryptedModifyMemberLabel action = actions.get(i); diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java index 99ccc760fc..132bf9b1fc 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations.java @@ -758,8 +758,8 @@ public final class GroupsV2Operations { builder.promotePendingPniAciMembers(promotePendingPniAciMembers); // Field 26 - List modifyMemberLabels = new ArrayList<>(actions.modifyMemberLabel.size()); - for (GroupChange.Actions.ModifyMemberLabelAction action : actions.modifyMemberLabel) { + List modifyMemberLabels = new ArrayList<>(actions.modifyMemberLabels.size()); + for (GroupChange.Actions.ModifyMemberLabelAction action : actions.modifyMemberLabels) { modifyMemberLabels.add( new DecryptedModifyMemberLabel.Builder() .aciBytes(decryptAciToBinary(action.userId)) @@ -768,7 +768,7 @@ public final class GroupsV2Operations { .build() ); } - builder.modifyMemberLabel(modifyMemberLabels); + builder.modifyMemberLabels(modifyMemberLabels); if (editorServiceId instanceof ServiceId.PNI) { if (actions.addMembers.size() == 1 && builder.newMembers.size() == 1) { @@ -1098,7 +1098,7 @@ public final class GroupsV2Operations { } public GroupChange.Actions.Builder createChangeMemberLabel(@Nonnull ACI memberAci, @Nonnull String labelString, @Nullable String labelEmoji) { - return new GroupChange.Actions.Builder().modifyMemberLabel( + return new GroupChange.Actions.Builder().modifyMemberLabels( Collections.singletonList( new GroupChange.Actions.ModifyMemberLabelAction.Builder() .userId(encryptServiceId(memberAci)) diff --git a/lib/libsignal-service/src/main/protowire/DecryptedGroups.proto b/lib/libsignal-service/src/main/protowire/DecryptedGroups.proto index 0ac4c53890..e770621a7c 100644 --- a/lib/libsignal-service/src/main/protowire/DecryptedGroups.proto +++ b/lib/libsignal-service/src/main/protowire/DecryptedGroups.proto @@ -110,7 +110,7 @@ message DecryptedGroupChange { repeated DecryptedBannedMember newBannedMembers = 22; repeated DecryptedBannedMember deleteBannedMembers = 23; repeated DecryptedMember promotePendingPniAciMembers = 24; - repeated DecryptedModifyMemberLabel modifyMemberLabel = 26; + repeated DecryptedModifyMemberLabel modifyMemberLabels = 26; } message DecryptedString { diff --git a/lib/libsignal-service/src/main/protowire/Groups.proto b/lib/libsignal-service/src/main/protowire/Groups.proto index f3208e22bc..a539eda2dc 100644 --- a/lib/libsignal-service/src/main/protowire/Groups.proto +++ b/lib/libsignal-service/src/main/protowire/Groups.proto @@ -261,7 +261,7 @@ message GroupChange { repeated AddMemberBannedAction add_members_banned = 22; // change epoch = 4 repeated DeleteMemberBannedAction delete_members_banned = 23; // change epoch = 4 repeated PromoteMemberPendingPniAciProfileKeyAction promote_members_pending_pni_aci_profile_key = 24; // change epoch = 5 - repeated ModifyMemberLabelAction modifyMemberLabel = 26; // change epoch = 6; + repeated ModifyMemberLabelAction modifyMemberLabels = 26; // change epoch = 6; // next: 27 } diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_apply_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_apply_Test.java index 1f0f27d861..b73d98cc0c 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_apply_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_apply_Test.java @@ -977,7 +977,7 @@ public final class DecryptedGroupUtil_apply_Test { new DecryptedGroupChange.Builder() .revision(11) - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build() ); @@ -1019,7 +1019,7 @@ public final class DecryptedGroupUtil_apply_Test { new DecryptedGroupChange.Builder() .revision(11) - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build()); DecryptedGroup expectedResult = new DecryptedGroup.Builder() @@ -1049,7 +1049,7 @@ public final class DecryptedGroupUtil_apply_Test { .build(), new DecryptedGroupChange.Builder() .revision(11) - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build()); } } diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_empty_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_empty_Test.java index 7370e105ac..7d14def7dd 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_empty_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/DecryptedGroupUtil_empty_Test.java @@ -277,7 +277,7 @@ public final class DecryptedGroupUtil_empty_Test { .build(); DecryptedGroupChange change = new DecryptedGroupChange.Builder() - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build(); assertFalse(DecryptedGroupUtil.changeIsEmpty(change)); diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java index 87d4fb3126..8c86985bf2 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java @@ -431,10 +431,10 @@ public final class GroupChangeReconstructTest { DecryptedGroupChange change = GroupChangeReconstruct.reconstructGroupChange(from, to); - assertEquals(1, change.modifyMemberLabel.size()); - assertEquals(UuidUtil.toByteString(memberUuid), change.modifyMemberLabel.get(0).aciBytes); - assertEquals("🎉", change.modifyMemberLabel.get(0).labelEmoji); - assertEquals("New Label", change.modifyMemberLabel.get(0).labelString); + assertEquals(1, change.modifyMemberLabels.size()); + assertEquals(UuidUtil.toByteString(memberUuid), change.modifyMemberLabels.get(0).aciBytes); + assertEquals("🎉", change.modifyMemberLabels.get(0).labelEmoji); + assertEquals("New Label", change.modifyMemberLabels.get(0).labelString); } @Test @@ -457,9 +457,9 @@ public final class GroupChangeReconstructTest { DecryptedGroupChange change = GroupChangeReconstruct.reconstructGroupChange(from, to); - assertEquals(1, change.modifyMemberLabel.size()); - assertEquals(UuidUtil.toByteString(memberUuid), change.modifyMemberLabel.get(0).aciBytes); - assertEquals("", change.modifyMemberLabel.get(0).labelEmoji); - assertEquals("", change.modifyMemberLabel.get(0).labelString); + assertEquals(1, change.modifyMemberLabels.size()); + assertEquals(UuidUtil.toByteString(memberUuid), change.modifyMemberLabels.get(0).aciBytes); + assertEquals("", change.modifyMemberLabels.get(0).labelEmoji); + assertEquals("", change.modifyMemberLabels.get(0).labelString); } } diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_changeIsEmpty_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_changeIsEmpty_Test.java index afc8235f44..60d7bcfb61 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_changeIsEmpty_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_changeIsEmpty_Test.java @@ -231,7 +231,7 @@ public final class GroupChangeUtil_changeIsEmpty_Test { @Test public void not_empty_with_modify_member_label_field_26() { GroupChange.Actions actions = new GroupChange.Actions.Builder() - .modifyMemberLabel(List.of(new GroupChange.Actions.ModifyMemberLabelAction())) + .modifyMemberLabels(List.of(new GroupChange.Actions.ModifyMemberLabelAction())) .build(); assertFalse(GroupChangeUtil.changeIsEmpty(actions)); diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_Test.java index 587f2efb09..6093ca0e80 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_Test.java @@ -878,11 +878,11 @@ public final class GroupChangeUtil_resolveConflict_Test { .build(); DecryptedGroupChange conflictingChange = new DecryptedGroupChange.Builder() - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build(); DecryptedGroupChange.Builder resolvedActions = GroupChangeUtil.resolveConflict(existingGroup, conflictingChange); - assertTrue(resolvedActions.build().modifyMemberLabel.isEmpty()); + assertTrue(resolvedActions.build().modifyMemberLabels.isEmpty()); } @Test @@ -902,10 +902,10 @@ public final class GroupChangeUtil_resolveConflict_Test { .build(); DecryptedGroupChange conflictingChange = new DecryptedGroupChange.Builder() - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build(); DecryptedGroupChange.Builder resolved = GroupChangeUtil.resolveConflict(existingGroup, conflictingChange); - assertTrue(resolved.build().modifyMemberLabel.isEmpty()); + assertTrue(resolved.build().modifyMemberLabels.isEmpty()); } } \ No newline at end of file diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_decryptedOnly_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_decryptedOnly_Test.java index ceed104d27..952cac0ab3 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_decryptedOnly_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeUtil_resolveConflict_decryptedOnly_Test.java @@ -697,11 +697,11 @@ public final class GroupChangeUtil_resolveConflict_decryptedOnly_Test { .build(); DecryptedGroupChange conflictingChange = new DecryptedGroupChange.Builder() - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build(); DecryptedGroupChange.Builder resolved = GroupChangeUtil.resolveConflict(existingGroup, conflictingChange); - assertTrue(resolved.build().modifyMemberLabel.isEmpty()); + assertTrue(resolved.build().modifyMemberLabels.isEmpty()); } @Test @@ -721,10 +721,10 @@ public final class GroupChangeUtil_resolveConflict_decryptedOnly_Test { .build(); DecryptedGroupChange conflictingChange = new DecryptedGroupChange.Builder() - .modifyMemberLabel(List.of(modifyLabelAction)) + .modifyMemberLabels(List.of(modifyLabelAction)) .build(); DecryptedGroupChange.Builder resolved = GroupChangeUtil.resolveConflict(existingGroup, conflictingChange); - assertTrue(resolved.build().modifyMemberLabel.isEmpty()); + assertTrue(resolved.build().modifyMemberLabels.isEmpty()); } } \ No newline at end of file diff --git a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations_decrypt_change_Test.java b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations_decrypt_change_Test.java index 8b6dfefee5..14224ec2c1 100644 --- a/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations_decrypt_change_Test.java +++ b/lib/libsignal-service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupsV2Operations_decrypt_change_Test.java @@ -472,7 +472,7 @@ public final class GroupsV2Operations_decrypt_change_Test { assertDecryption( groupOperations.createChangeMemberLabel(aci, "Label Text", "🔥"), - new DecryptedGroupChange.Builder().modifyMemberLabel(List.of(modifyLabelAction)) + new DecryptedGroupChange.Builder().modifyMemberLabels(List.of(modifyLabelAction)) ); }