Set the InReplyTo for live messages

Stephen Paul Weber created

This means a DB query for every inbound message that has a reply tag,
which is probably not expensive enough to be an issue

Change summary

src/main/java/eu/siacs/conversations/parser/MessageParser.java | 3 +++
1 file changed, 3 insertions(+)

Detailed changes

src/main/java/eu/siacs/conversations/parser/MessageParser.java 🔗

@@ -758,6 +758,9 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
                 }
                 if (el.getName().equals("reply") && el.getNamespace() != null && el.getNamespace().equals("urn:xmpp:reply:0")) {
                     message.addPayload(el);
+                    for (final var parent : mXmppConnectionService.getMessageFuzzyIds(conversation, List.of(el.getAttribute("id"))).entrySet()) {
+                        message.setInReplyTo(parent.getValue());
+                    }
                 }
                 if (el.getName().equals("attention") && el.getNamespace() != null && el.getNamespace().equals("urn:xmpp:attention:0")) {
                     message.addPayload(el);