diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 8405bcd73b..77b2534e10 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -84,7 +84,10 @@ public interface DaoMessage { " OR (NOT :found AND :type IS NOT NULL AND ff.type = :type))" + " AND (NOT mm.ui_hide OR :debug))" + " GROUP BY account.id, CASE WHEN message.thread IS NULL OR NOT :threading THEN message.id ELSE message.thread END" + - " HAVING (NOT :filter_seen OR SUM(1 - message.ui_seen) > 0)" + + " HAVING (SUM(:found AND message.ui_found) > 0" + // thread can be the same in different accounts + " OR SUM(NOT :found AND :type IS NULL AND folder.unified) > 0" + + " OR SUM(NOT :found AND :type IS NOT NULL AND folder.type = :type) > 0)" + + " AND (NOT :filter_seen OR SUM(1 - message.ui_seen) > 0)" + " AND (NOT :filter_unflagged OR COUNT(message.id) - SUM(1 - message.ui_flagged) > 0)" + " AND (NOT :filter_unknown OR SUM(message.avatar IS NOT NULL AND message.sender <> identity.email) > 0)" + " AND (NOT :filter_snoozed OR message.ui_snoozed IS NULL OR " + is_drafts + ")" +