I wanted to compare the performance improvements of two promising patches: Justin Heesemann's (on list: 2008.04.29) http://detached.gigo.com/rc/gb/cCronKdx/performance-jh1.diff and A.L.E.C.'s r1363 sorting optimization (on list: 2008.05.08) http://trac.roundcube.net/changeset/1363?format=diff&new=1363 http://trac.roundcube.net/changeset/1363?format=diff&new=1363
Our IMAP server (Courier) basically supports sorting, so I thought I just disable the feature to simulatine a Non-Sorting IMAP server. I did so, by removing 'SORT' from the config. IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES */SORT/* QUOTA IDLE"
But after that, on RC's interface I can't click the list headers to trigger sorting. If I understand well RC should be able to sort anyway, if the IMAP server can't then on the PHP way.
I dig deeper, and found that in /program/steps/mail/func.inc (line 137) in the *rcmail_message_list* function there's something illogical for me:
if ($IMAP->get_capability('sort') && in_array($col, $a_sort_cols))
This way if the IMAP server doesn't support sorting RC does no sorting, but it's not intended to be that way, right?
After removing the first condition everything worked OK with and without IMAP sort.
So?