From c5c016fcab9addb34b65794cdc9637b75ac74c89 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 12 Dec 2022 10:36:52 +0100 Subject: [PATCH] Skip reply loop detection when forwarding --- .../java/eu/faircode/email/EntityRule.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index 79fbfd08fc..a31f55b3d8 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -825,17 +825,19 @@ public class EntityRule { Address[] from = new InternetAddress[]{new InternetAddress(identity.email, identity.name, StandardCharsets.UTF_8.name())}; // Prevent loop - List messages = db.message().getMessagesByThread( - message.account, message.thread, null, null); - for (EntityMessage threaded : messages) - if (!threaded.id.equals(message.id) && - MessageHelper.equal(threaded.from, from)) { - EntityLog.log(context, EntityLog.Type.Rules, message, - "Answer loop" + - " name=" + answer.name + - " from=" + MessageHelper.formatAddresses(from)); - return; - } + if (isReply) { + List messages = db.message().getMessagesByThread( + message.account, message.thread, null, null); + for (EntityMessage threaded : messages) + if (!threaded.id.equals(message.id) && + MessageHelper.equal(threaded.from, from)) { + EntityLog.log(context, EntityLog.Type.Rules, message, + "Answer loop" + + " name=" + answer.name + + " from=" + MessageHelper.formatAddresses(from)); + return; + } + } EntityMessage reply = new EntityMessage(); reply.account = message.account;