The engine and the help system are very solid, despite a few missing features. Since they handle most eventualities (and the APIs are more-or-less frozen), I can begin work on other parts of the server.

I have two problems to resolve today: making the server modular in the right places, and deciding whether we'll support multiple IMAP clients. The first is simply a matter of copying code out of the server and generalizing it in the right places; the second is harder.

The Blitz server only allows one connection per user at any given time. There's about ten years worth of code which believes this assumption very deeply, and rewriting all of it is not an option. But it might be easier to masquerade multiple IMAP logins as a single client. I'm examining the code and will make a proposal to David later today.