Use MDN original message ID

This commit is contained in:
M66B 2022-05-12 08:53:59 +02:00
parent d986ae05c2
commit 8ce25774fa
2 changed files with 23 additions and 8 deletions

View File

@ -4198,14 +4198,25 @@ class Core {
if (s != null)
map.put(s.id, s);
List<EntityMessage> reported = db.message().getMessagesByMsgId(folder.account, message.inreplyto);
if (reported != null)
for (EntityMessage m : reported)
if (!map.containsKey(m.folder)) {
EntityFolder f = db.folder().getFolder(m.folder);
if (f != null)
map.put(f.id, f);
}
List<EntityMessage> all = new ArrayList<>();
if (message.inreplyto != null) {
List<EntityMessage> replied = db.message().getMessagesByMsgId(folder.account, message.inreplyto);
if (replied != null)
all.addAll(replied);
}
if (r.refid != null) {
List<EntityMessage> refs = db.message().getMessagesByMsgId(folder.account, r.refid);
if (refs != null)
all.addAll(refs);
}
for (EntityMessage m : all)
if (!map.containsKey(m.folder)) {
EntityFolder f = db.folder().getFolder(m.folder);
if (f != null)
map.put(f.id, f);
}
for (EntityFolder f : map.values())
EntityOperation.queue(context, f, EntityOperation.REPORT, message.inreplyto, label);

View File

@ -4541,6 +4541,7 @@ public class MessageHelper {
String status;
String diagnostic;
String disposition;
String refid;
String html;
Report(String type, String content) {
@ -4596,6 +4597,9 @@ public class MessageHelper {
case "Disposition":
this.disposition = value;
break;
case "Original-Message-ID":
this.refid = value;
break;
}
}
}