From 179bb6e1da817a16e7883e3d180c44dae58afa4d Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 10 Sep 2025 14:17:09 -0400 Subject: [PATCH] Add mitigation for mentions with unknown recipients. Relates to #14310 --- .../thoughtcrime/securesms/database/MentionUtil.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MentionUtil.java b/app/src/main/java/org/thoughtcrime/securesms/database/MentionUtil.java index c6f2bf3021..38f3c6c21e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MentionUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MentionUtil.java @@ -25,6 +25,8 @@ import java.util.SortedSet; import java.util.TreeSet; import java.util.stream.Collectors; +import kotlin.Pair; + public final class MentionUtil { public static final char MENTION_STARTER = '@'; @@ -97,10 +99,13 @@ public final class MentionUtil { BodyRangeList.Builder builder = new BodyRangeList.Builder(); builder.ranges( mentions.stream() - .map(mention -> { - String uuid = Recipient.resolved(mention.getRecipientId()).requireAci().toString(); + .map(mention -> new Pair<>(Recipient.resolved(mention.getRecipientId()), mention)) + .filter(pair -> pair.getFirst().getHasAci()) + .map(pair -> { + Recipient recipient = pair.getFirst(); + Mention mention = pair.getSecond(); return new BodyRangeList.BodyRange.Builder() - .mentionUuid(uuid) + .mentionUuid(recipient.requireAci().toString()) .start(mention.getStart()) .length(mention.getLength()) .build();