From 01a9e7b8b27f9b8846d56f9277a3ac6632bedcd3 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 3 Apr 2025 12:34:33 +0200 Subject: [PATCH] Workaround move/copy not copying flags --- app/src/main/java/eu/faircode/email/Core.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index b5be0b89fc..1d779e17e6 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1633,7 +1633,7 @@ class Core { } // Fetch appended/copied when needed - boolean fetch = (copy || delete || + boolean fetch = (copy || delete || !canMove || !"connected".equals(target.state) || !MessageHelper.hasCapability(ifolder, "IDLE")); if (draft || fetch) @@ -1661,7 +1661,8 @@ class Core { continue; } - if (draft || duplicate) { + if (draft || duplicate || !canMove) { + // https://datatracker.ietf.org/doc/html/rfc3501#section-6.4.7 Message icopy = itarget.getMessageByUID(uid); if (icopy == null) throw new IllegalArgumentException("move: gone uid=" + uid);