Major updates - testing required

Pieter pieter at 5137.org
Mon Dec 5 01:07:13 CET 2005


Hi Rodolfo,

I do have the same experience! Everything is fast, except for opening an 
email... I'm using Courier-imap.

I already know why. When an email is openend, Roundcube is searching for 
the previous and the next mail. (for the prev/next mail function). It 
does this by
downloading the complete mailfolder! (calling the _list_headers function 
with 'all') This way, server-side sorting does not help; it wil fetch 
the complete list anyhow.

I have replaced the function "message_index" in 
"program/include/rcube_imap.inc" with the following. It returns a 
correct result, and is very, very fast! There is a downside though. This 
just uses the default imap sorting, it does not take other sorting into 
account! So, when the message list was sorted on Subject for example, 
the prev/next takes you to the next message by date instead by subject. 
(What would a user expect in this case?)
  function message_index($mbox='', $sort_field='date', $sort_order='DESC')
    {
    $mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox;
    return array_reverse(iil_C_FetchUIDs($this->conn, $mailbox));
    }


After a little more coding, I've come to the following solution. It is a 
little slower as the solution above, but solves the problem of sorting 
discribed above. (This function is *not complete*!! When there is no 
server-side sorting available, is doesn't do anything!! Don't have time 
for that now...)

  function message_index($mbox='', $sort_field='date', $sort_order='DESC')
    {
    $mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox;
    if ($this->get_capability('sort') && ($msg_index = 
iil_C_Sort($this->conn, $mailbox, $sort_field)))
      {
      $a_message_index = iil_C_FetchHeaderIndex($this->conn, $mailbox, 
implode($msg_index, ','), 'UID');
      if ($sort_order == 'DESC')
        return array_reverse($a_message_index);
      else
        return $a_message_index;
      }
    }


I hope this helpes!

Pieter Hoekstra.


Rodolfo schreef:
> Another thing, before i forget. At this point, it seems that roundcube
> has issues opening individual mails in large mailboxes. For exmaple,
> my sent mailbox has about 3500 messages, can't open any messages from
> there (ranging from 1k to 11MBs), nor from one of the mailing lists
> that contain about 16000 messages. it just sits there saying that it's
> loading. eventually it times out and kicks me back to the login screen
> stating that the session has expired.
>
> can anyone confirm this?
>
> cheers,
> rodolfo
>
> On 12/4/05, Rodolfo <segleaur at gmail.com> wrote:
>   
>> OK, updated today against the sourceforge CVS. Update to the mysql
>> database was no issue (though a word of warning to those unwary, if
>> you already altered the table for the ip and aliases, you must comment
>> out those lines first before running the script against the mySQL DB).
>> rest of the code base updated nicely.
>>
>> RC is definitely eating less resources now, or at least that's what
>> top and server-status is telling me. the big test for me was opening a
>> 16000 message maildir in Cyrus. Prior to this version, couldn't open
>> it - the script would time out. now, there's no issue - opens the
>> maildir and seems to be doing exactly what it's supposed to.
>>
>> i concurr with Dennis' problem of marking read/unread e-mails. I sent
>> a large test message (about 8MB), to test the upload capability and
>> mail transfer. i've clicked the message about 5 times, returning to
>> the inbox via the return button and clicking directly on the inbox in
>> the folder list, but it will not mark the message unread.
>>
>> Deleted old identity and recreated it trying to see if the signatures
>> work, but it seems that it will not append the signature to the mail.
>> i thought at first it was the url  at the end of the sig, but it seems
>> that no matter what's there, it will not append.
>>
>> i don't remember if the previous installs had this problem, but the
>> addresss book button in the compose screen does nothing. don't
>> remember if it's always been like that since i simply used address
>> completion.
>>
>> can't confirm the report that the contacts disappear after updating. i
>> still have them in the address book. don't know if it's a
>> particularity of that other installation.
>>
>> definitely feel a speedup of the interface. so over all it's good, but
>> these little snafus.
>>
>>
>> cheers,
>> rodolfo




More information about the Dev mailing list