From 07afbb5a8f291df2e90d60fda0bad67db4b53986 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Sun, 28 Jun 2026 12:04:59 +0000 Subject: [PATCH] Hide edit option for messages with undownloaded long-text attachments. --- .../java/org/thoughtcrime/securesms/conversation/MenuState.java | 1 + .../java/org/thoughtcrime/securesms/util/MessageRecordUtil.kt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java index c1fc01e238..7d75f074d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/MenuState.java @@ -253,6 +253,7 @@ public final class MenuState { hasText && !multiSelectRecord.getConversationMessage().getOriginalMessage().isFailed() && !hasPoll && + !MessageRecordUtil.hasUndownloadedTextSlide(multiSelectRecord.getConversationMessage().getOriginalMessage()) && MessageConstraintsUtil.isValidEditMessageSend(multiSelectRecord.getConversationMessage().getOriginalMessage(), System.currentTimeMillis())); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/MessageRecordUtil.kt b/app/src/main/java/org/thoughtcrime/securesms/util/MessageRecordUtil.kt index 69864f1727..881d1b31d0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/MessageRecordUtil.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/MessageRecordUtil.kt @@ -83,6 +83,8 @@ fun MessageRecord.hasLinkPreview(): Boolean = isMms && (this as MmsMessageRecord fun MessageRecord.hasTextSlide(): Boolean = isMms && (this as MmsMessageRecord).slideDeck.textSlide != null && this.slideDeck.textSlide?.uri != null +fun MessageRecord.hasUndownloadedTextSlide(): Boolean = isMms && (this as MmsMessageRecord).slideDeck.textSlide != null && this.slideDeck.textSlide?.uri == null + fun MessageRecord.requireTextSlide(): TextSlide = requireNotNull((this as MmsMessageRecord).slideDeck.textSlide) fun MessageRecord.hasPoll(): Boolean = isMms && (this as MmsMessageRecord).poll != null