Bug 286900

Summary: Filtered messages are re-downloaded when manually applying filters
Product: [Frameworks and Libraries] Akonadi Reporter: Christophe Marin <christophe>
Component: Mail Filter AgentAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: amantia, montel, sven.burmeister
Priority: NOR    
Version: 4.8   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christophe Marin 2011-11-18 02:12:26 UTC
Using master. I'm not sure if this should be considered a kmail bug or a mail filtering agent one.

Anyway, I have several disconnected imap accounts that were already fully synced (so the email headers and bodies are supposedly already cached)

Now, I set up a filter which parse the full body and moves the matching messages to another folder.

If the filter is applied, kmail/akonadi download all the messages again and block the ui.

This behaviour is just wrong imo: if the filter is applied to a dimap account, it should parse the cached data instead of redownloading everything again.

real life example: I've set up a filter which moves the messages with "has been marked as a duplicate" and ran it on by bugzilla folder.

result: kmail is downloading more than 8000 messages again instead of using the cached data. that also means kmail is unusable while the download is in progress (more than one hour already...)


Expected:

- for dimap account, the headers and bodies are cached,
- for online imap, only the headers are cached,

So:
- manual filters should use the cache for both if the filter is based on the headers,
- manual filters should use the cache for DIMAP (or maildir/mixedmaildir...) accounts if the filters is based on the message body.
Comment 1 Laurent Montel 2011-11-18 07:01:03 UTC
It's a agent filter bug for me. But it's right it's a bug.
Comment 2 Christophe Marin 2011-11-18 09:49:22 UTC
reassign :)
Comment 3 András Manţia 2012-10-13 22:15:33 UTC
This must be fixed, as the data from the cache is used. Reopen though if you think still see the opossite.