I remember reading something of IMAP rewrite, how far did that get? Is there still a chance of getting that soon?
I'm thinking of fixing the IMAP code myself soon, unless there's some larger changes coming out soon. Was there some plans to change the Camel API? I remember reading something about it.. Anyway, what I want fixed: - Currently it's just "write command", "wait for reply". It should rather be waiting for IMAP replies all the time. Server can send them at any point, Evolution actually breaks currently if that's done before APPEND. I want to use my server's ability to notify of new mails _immediately_ after they come to selected mailbox. - Send the flag changes to the server immediately. I think it now waits until closing the folder. Also keep the flags synced with the server all the time, if I change them elsewhere I expect Evolution to update them internally as well. - Labels should be sent to server using custom message flags, assuming the server supports them. - If IMAP connection hangs to one server, it shouldn't affect the rest of them. And in general there seems to be several annoying problems when one or all connections die, I just can't remember what exactly now. Oh, and send NOOP to server once in a while, if it can't get a reply soon, reconnect (to work around hanged TCP connections). If server kills the connection, silently reconnect instead of complaining. - All other kind of smaller things that don't come to my mind right now. As an author of IMAP server, I hate seeing almost all clients implement it wrong or badly. One of my main motivations to get the thing written was to be able to use Evolution. So .. Any comments on how easy it would be to fix the problems above? I haven't studied too deeply Evolution's code yet. The first thing worries me a bit as it might require larger changes.. How is the IMAP code run now? Is it in it's own thread? Or is it just called whenever something is clicked and it blocks while waiting for reply? Could I just register the connections fds into GLIB's main loop and make the code asynchronous in general? _______________________________________________ evolution maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/evolution
