diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 76d4196ae9..f024fd3917 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -735,6 +735,11 @@ public interface DaoMessage { @Query("UPDATE message SET notifying = 0") int clearNotifyingMessages(); + @Query("UPDATE message SET headers = NULL" + + " WHERE headers IS NOT NULL" + + " AND account IN (SELECT id FROM account WHERE pop = " + EntityAccount.TYPE_IMAP + ")") + int clearMessageHeaders(); + @Query("UPDATE message SET fts = 0") int resetFts(); diff --git a/app/src/main/java/eu/faircode/email/WorkerCleanup.java b/app/src/main/java/eu/faircode/email/WorkerCleanup.java index dd9498e296..b7d525f2c9 100644 --- a/app/src/main/java/eu/faircode/email/WorkerCleanup.java +++ b/app/src/main/java/eu/faircode/email/WorkerCleanup.java @@ -107,6 +107,10 @@ public class WorkerCleanup extends Worker { if (cleanup_attachments) { int purged = db.attachment().purge(new Date().getTime()); Log.i("Attachments purged=" + purged); + + // Clear raw headers + int headers = db.message().clearMessageHeaders(); + Log.i("Cleared message headers=" + headers); } // Restore alarms