POP3: fixed hidding incorrect messages

This commit is contained in:
M66B 2023-04-03 08:54:53 +02:00
parent 1aa1305d34
commit 30204e3c16
2 changed files with 6 additions and 6 deletions

View File

@ -3430,8 +3430,8 @@ class Core {
}
if (account.max_messages != null && !account.leave_on_device) {
int hidden = db.message().setMessagesUiHide(folder.id, Math.abs(account.max_messages) + flagged);
int deleted = db.message().deleteMessagesKeep(folder.id, Math.abs(account.max_messages) + flagged + 100);
int hidden = db.message().setMessagesUiHide(folder.id, Math.abs(account.max_messages) + flagged, reversed);
int deleted = db.message().deleteMessagesKeep(folder.id, Math.abs(account.max_messages) + flagged + 100, reversed);
EntityLog.log(context, account.name + " POP" +
" cleanup max=" + account.max_messages + "" +
" hidden=" + hidden + " deleted=" + deleted);

View File

@ -792,9 +792,9 @@ public interface DaoMessage {
" AND id NOT IN (" +
" SELECT id FROM message" +
" WHERE folder = :folder" +
" ORDER BY received DESC" +
" ORDER BY CASE WHEN :reversed THEN -received ELSE received END DESC" +
" LIMIT :keep)")
int setMessagesUiHide(long folder, int keep);
int setMessagesUiHide(long folder, int keep, boolean reversed);
@Transaction
@Query("UPDATE message SET ui_ignored = :ui_ignored WHERE id = :id AND NOT (ui_ignored IS :ui_ignored)")
@ -1018,7 +1018,7 @@ public interface DaoMessage {
" AND id NOT IN (" +
" SELECT id FROM message" +
" WHERE folder = :folder" +
" ORDER BY received DESC" +
" ORDER BY CASE WHEN :reversed THEN -received ELSE received END DESC" +
" LIMIT :keep)")
int deleteMessagesKeep(long folder, int keep);
int deleteMessagesKeep(long folder, int keep, boolean reversed);
}