Hi,
I am getting complaints from my users about RoundCube sometimes not
deleting emails (in our setup that is moving them to Trash). Also,
deleting is quite slow.
The not-deleting-messages seems to be related to:
- user having a somewhat large (>300 msgs) mailbox
- me having a busy imap server (well, actually it's not really busy but
i'm forced to using (s)ata junk)
- user deleting a page of emails at once (that's 40 emails default)
I added some logging statements and found that in my tests RoundCube
spends 25 to 30 seconds in move_message(), particularly this part:
foreach ($a_uids as $uid)
$a_mids[] = $this->_uid2id($uid, $from_mbox);
I suspect that the not-deleting-messages happens when this takes > 30
seconds, which is the default timeout for php scripts.
Why is this taking so long? Digging further into the code shows that
_uid2id() results in an imap SEARCH command. Is there no faster way?
One minor thing when looking into this problem: I found that when
dragging 40 selected messages to the Trash I _do_ get a 'busy' window,
but when I click the delete button, I don't. In apps.js,
this.move_messages(), it should set the busy window, but
'this.env.action' is undefined. Should this not be defined at this
point, somehow?
Robin