[Kde-pim] [Akonadi] [Bug 319450] Re: Mailbox synchronization can miss important mailbox state updates -- broken EXISTS and UIDNEXT heuristic

Jan Kundrát jkt at flaska.net
Fri May 17 11:15:18 BST 2013


On Thursday, 16 May 2013 21:37:13 CEST, Volker Krause wrote:
> The code cited above is only the part handling downloading of new messages,
> detection of deletions, flag changes, etc happens elsewhere in that class as
> well as to a large part in Akonadi::ItemSync.

Hi Volker, sorry for using Bugzilla for a wrong purpose -- in retrospect, I see that asking on the ML might have been better.

Could you please point me to the code which performs the actual "mailbox synchronization" (i.e. what happens during the SELECT processing)? Where is the code which decides what to do next? Is there a place where this is described in the docs?

I grepped for "uidnext" (and found that it's also called "nextuid" throughout the code, so I widened my search). I used both of these terms in a case-insensitive manner and looked under kdepimlibs and kdepim-runtime. The only place which looks relevant to my eyes (familiar with IMAP, C++ and Qt, but completely alien to Akonadi) is RetrieveItemsTask::onFinalSelectDone within the kdepim-runtime:resources/imap/retrieveitemstask.cpp. I assume that this is the place which controls what to do right after a SELECT is processed and that there is no other place which could control the sync. Are these assumptions right?

Is there a unit test which checks how this synchronization works?

I'll be happy to be proven wrong or to adjust an existing test case to demonstrate the problem. I cannot write a demonstration test case on my own, I simply don't know your code.

Cheers,
Jan

-- 
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list