Revision 477afff...
Go back to digest for 21st October 2012Bug Fixes in KDE-PIM
Change the filtering pipeline. So far if there was a move and a modifier filter, the order was modify followed by move. Now it is move followed by modify. The original order in the filters doesn't matter, it is always reordered. The problems with the old approach was: - if there was a move and a payload modification job, the item was firt modified, the payload uploaded back to the original place and then moved. This caused an extra store in the backend, that e.g on IMAP causes quite heavy traffic. - due to the above behavior, it could happen that the payload change updates the remoteId, so the move afterwards moves the *original* item, while the modified remains in the original place. This results in mail duplication. The behavior was visible with spam filtering on IMAP.
The patch also cleans up the filter processing a little, reducing the number of
arguments passed to process() and introduces simple error handling instead
of the existing complex, but incomplete one.
File Changes
- mailfilteragent/filtermanager.cpp
- mailfilteragent/filtermanager.h