From af7989839f80fc9a04981d4af57f3ad71c65d19f Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 23 Jan 2026 16:27:46 -0500 Subject: [PATCH] Do not include large P2P group changes. --- .../org/thoughtcrime/securesms/jobs/PushGroupSendJob.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index e229774b8c..64af09cb71 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -43,6 +43,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; import org.thoughtcrime.securesms.transport.RetryLaterException; import org.thoughtcrime.securesms.transport.UndeliverableMessageException; +import org.thoughtcrime.securesms.util.ByteUnit; import org.thoughtcrime.securesms.util.GroupUtil; import org.thoughtcrime.securesms.util.MessageUtil; import org.thoughtcrime.securesms.util.RecipientAccessList; @@ -331,7 +332,12 @@ public final class PushGroupSendJob extends PushSendJob { ByteString groupChange = groupContext.groupChange; if (groupChange != null) { - builder.withSignedGroupChange(groupChange.toByteArray()); + byte[] serializedGroupChange = groupChange.toByteArray(); + if (serializedGroupChange.length <= ByteUnit.KILOBYTES.toBytes(2)) { + builder.withSignedGroupChange(serializedGroupChange); + } else { + Log.w(TAG, "Group update is too large to attach! Size: " + serializedGroupChange.length + " bytes"); + } } SignalServiceGroupV2 group = builder.build();