Overall, great work! The performance appears to be greatly
improved, but I did find a bug for you. It would appear that the
command to retrieve messages from the server (so in my case, trying to
retrieve 40 messages) includes messages that have been deleted but not
purged.
What would happen in my case, is the top of my inbox included many
messages that had been deleted but not purged, so out of the 40 messages
the first page was supposed to show, it would only show 21. You went to
the next page, and the next message would be correctly displayed at the
top, etc. Everything worked correctly, except that only 21 messages
would display on the 1st page. After some investigation, it would
appear that it was counting the deleted messages in the count to 40
messages, so thats why I was getting the incorrect number of messages.
It did not show the deleted messages, but was counting them. After a
purge delete, everything is now working fine.
Rob
Thomas Bruederli wrote:
Hi everybody
After two days of intensive coding (now my girlfriend is offended) I finally rebuilt the caching mechanism which caused many problems and performance issues. Therefore a new database table (messages) was created. There also have been minor changes to the database so please check the SQL scripts.
Together with the new caching process, server side sorting was also implemented. When showing the message list, only one page is retrieved from the server and cached.The message cache is complete, after every page has been loaded once. After that, RC attempts just to synchronize the changes. Even if the cache is not complete the loading time should decrease since there's only the message index transmitted and already cached headers will not be reloaded. For further development I will try to start a child process to fetch all message headers in the background but not making the interface wait for it.
The new caching implementation is not tested well and that's why I would like the experienced RoundCube administrators and developers to try out the latest CVS. Because the public CVS repository updates several hours or days later, I added a snapshot here: http://prdownloads.sourceforge.net/roundcubemail/roundcubemail-cvs-20051203....
I also reworked the database class and tested RoundCube with MySQL, SQLite and Postgres. All initial SQL scripts have been updated and RC should now work correctly with Postgres. Probably there could be some optimization with Postgres but I'm not very familiar with it.
For all Postgres users out there, please test RoundCube and don't hesitate to post bugs or suggestions here.
Last but not least, I have included the patch for signatures (thanks Craig) and added a drop-down with a charset selection when composing a message. I know that there are still some issues with character encoding especially when getting things over XMLHTTP.
Well, that's it for the moment. Next I'll take care of the message searching functionality and after that I think we're ready for an official Beta release.
Thanks for your patience! Thomas
P.S. The MDB2 implementation is currently broken and the library is not included in the package.
!DSPAM:4391db612684694229862!