mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-04 20:34:14 +01:00
Cap mention processing in story reply and edit message paths.
This commit is contained in:
@@ -122,7 +122,7 @@ import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
object DataMessageProcessor {
|
||||
|
||||
private const val BODY_RANGE_PROCESSING_LIMIT = 250
|
||||
internal const val BODY_RANGE_PROCESSING_LIMIT = 250
|
||||
private const val POLL_QUESTION_CHARACTER_LIMIT = 200
|
||||
private const val POLL_CHARACTER_LIMIT = 100
|
||||
private const val POLL_OPTIONS_LIMIT = 10
|
||||
@@ -791,7 +791,8 @@ object DataMessageProcessor {
|
||||
return null
|
||||
}
|
||||
|
||||
val bodyRanges: BodyRangeList? = message.bodyRanges.filter { Util.allAreNull(it.mentionAci, it.mentionAciBinary) }.toList().toBodyRangeList()
|
||||
val cappedBodyRanges: List<BodyRange> = message.bodyRanges.take(BODY_RANGE_PROCESSING_LIMIT)
|
||||
val bodyRanges: BodyRangeList? = cappedBodyRanges.filter { Util.allAreNull(it.mentionAci, it.mentionAciBinary) }.toList().toBodyRangeList()
|
||||
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
@@ -805,7 +806,7 @@ object DataMessageProcessor {
|
||||
body = message.body,
|
||||
groupId = groupId,
|
||||
quote = quoteModel,
|
||||
mentions = getMentions(message.bodyRanges),
|
||||
mentions = getMentions(cappedBodyRanges),
|
||||
serverGuid = UuidUtil.getStringUUID(envelope.serverGuid, envelope.serverGuidBinary),
|
||||
messageRanges = bodyRanges
|
||||
)
|
||||
|
||||
@@ -124,7 +124,8 @@ object EditMessageProcessor {
|
||||
message: DataMessage,
|
||||
targetMessage: MmsMessageRecord
|
||||
): InsertResult? {
|
||||
val messageRanges: BodyRangeList? = message.bodyRanges.filter { Util.allAreNull(it.mentionAci, it.mentionAciBinary) }.toList().toBodyRangeList()
|
||||
val cappedBodyRanges = message.bodyRanges.take(DataMessageProcessor.BODY_RANGE_PROCESSING_LIMIT)
|
||||
val messageRanges: BodyRangeList? = cappedBodyRanges.filter { Util.allAreNull(it.mentionAci, it.mentionAciBinary) }.toList().toBodyRangeList()
|
||||
val targetQuote = targetMessage.quote
|
||||
val quote: QuoteModel? = if (targetQuote != null && (message.quote != null || (targetMessage.parentStoryId != null && message.storyContext != null))) {
|
||||
QuoteModel(
|
||||
@@ -159,7 +160,7 @@ object EditMessageProcessor {
|
||||
parentStoryId = targetMessage.parentStoryId,
|
||||
sharedContacts = emptyList(),
|
||||
linkPreviews = DataMessageProcessor.getLinkPreviews(message.preview, message.body ?: "", false),
|
||||
mentions = DataMessageProcessor.getMentions(message.bodyRanges),
|
||||
mentions = DataMessageProcessor.getMentions(cappedBodyRanges),
|
||||
serverGuid = UuidUtil.getStringUUID(envelope.serverGuid, envelope.serverGuidBinary),
|
||||
messageRanges = messageRanges
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user