Hello.
I was looking at the header and structure objects that are stored in the database. It doesn't seem like the message body is stored in the object. IMAP connections are really expensive for web-based mail clients since they have to be re-established every time a php page is executed. If the message body was stored in the database you could avoid making the IMAP connection and probably shave a second or two off the time it takes to (re)read a message. You could even take is a step further and store the whole body in a blob so attachments could be read without making an imap connection. This would only really start to help when you revisit the message, the first time would take the most time.
Any input? Is this a horrible idea? You guys seem pretty smart so I am sure you've considered this.
Michael
List info: http://lists.roundcube.net/dev/