diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 638b79f7a6..47f37c9538 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -4055,6 +4055,19 @@ class Core { message = dup; process = true; + } else if (dup.uid < uid && EntityFolder.DRAFTS.equals(folder.type)) { + try { + Message existing = ifolder.getMessageByUID(dup.uid); + Log.e(folder.name + " late draft host=" + account.host + + " uid=" + dup.uid + "<" + uid + " found=" + (existing != null)); + if (existing != null) { + existing.setFlag(Flags.Flag.DELETED, true); + expunge(context, ifolder, Arrays.asList(existing)); + db.message().setMessageUiHide(dup.id, true); + } + } catch (Throwable ex) { + Log.e(ex); + } } }