From a63fedbe8da47720c531acf5f81609082ea291ee Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 10 Aug 2023 21:44:11 -0500 Subject: [PATCH] Fix reply-to-self And also reply to no id just fall back to quote. --- .../java/eu/siacs/conversations/entities/Message.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Message.java b/src/main/java/eu/siacs/conversations/entities/Message.java index 8c6adabb0efed71b042400048e00c8d774a0fc5e..d898e464537923dcb02a284b0645b138f001e260 100644 --- a/src/main/java/eu/siacs/conversations/entities/Message.java +++ b/src/main/java/eu/siacs/conversations/entities/Message.java @@ -387,12 +387,18 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable } public String replyId() { - return conversation.getMode() == Conversation.MODE_MULTI ? getServerMsgId() : getRemoteMsgId(); - } + if (conversation.getMode() == Conversation.MODE_MULTI) return getServerMsgId(); + final String remote = getRemoteMsgId(); + if (remote == null && getStatus() > STATUS_RECEIVED) return getUuid(); + return remote; + } public Message reply() { Message m = new Message(conversation, QuoteHelper.quote(MessageUtils.prepareQuote(this)) + "\n", ENCRYPTION_NONE); m.setThread(getThread()); + final String replyId = replyId(); + if (replyId == null) return m; + m.addPayload( new Element("reply", "urn:xmpp:reply:0") .setAttribute("to", getCounterpart())