From 598b240d176df0c355ec81ca2891ae38391b3655 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 9 Mar 2023 20:00:14 -0500 Subject: [PATCH] Use prepareQuote to format /me and strip deep nesting --- src/main/java/eu/siacs/conversations/entities/Message.java | 6 +++++- .../java/eu/siacs/conversations/utils/MessageUtils.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Message.java b/src/main/java/eu/siacs/conversations/entities/Message.java index 76c9d1cdec6eb4f997e256ad480b7c5b10d7e982..52d67d4448b50260945e688ff6ca611d29abed17 100644 --- a/src/main/java/eu/siacs/conversations/entities/Message.java +++ b/src/main/java/eu/siacs/conversations/entities/Message.java @@ -381,7 +381,7 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable } public Message reply() { - Message m = new Message(conversation, QuoteHelper.quote(getBody()) + "\n", ENCRYPTION_NONE); + Message m = new Message(conversation, QuoteHelper.quote(MessageUtils.prepareQuote(this)) + "\n", ENCRYPTION_NONE); m.setThread(getThread()); m.addPayload( new Element("reply", "urn:xmpp:reply:0") @@ -430,6 +430,10 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable } } + public String getQuoteableBody() { + return this.body; + } + public String getBody() { StringBuilder body = new StringBuilder(this.body); diff --git a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java index 7a965d228ccf17a094d220bc6d1c84ade320e7e0..24af7aaaf80e80c0cf91d0eadd67bd9889986c19 100644 --- a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java @@ -61,9 +61,9 @@ public class MessageUtils { } else { nick = UIHelper.getMessageDisplayName(message); } - body = nick + " " + message.getBody().substring(Message.ME_COMMAND.length()); + body = nick + " " + message.getQuoteableBody().substring(Message.ME_COMMAND.length()); } else { - body = message.getMergedBody().toString(); + body = message.getQuoteableBody(); } for (String line : body.split("\n")) { if (!(line.length() <= 0) && QuoteHelper.isNestedTooDeeply(line)) {