Hi Timo,
great hearing from you again, hope the exams went well :)
On 2010-04-13 19:01 UTC Timo Sirainen wrote:
On 9.4.2010, at 9.31, Patrick Nagel wrote:
- Enhancing dovecot's Virtual plugin, so virtual mailboxes do not only get updated on select and expunge, but also when anything changes that affects the set of messages shown in the virtual mailbox. I guess that would have an impact on performance, and thus should be optional.
Virtual plugin does already work like that. Although there's a bug where messages don't get removed from mailbox always:
- virtual: removed messages don't get expunged unless EXPUNGE is issued in same session. otherwise they get forgotten and never removed.
Oh, I see. I'll give it another try then, I believe I tried this, but never got notified of new mails in the virtual mailbox through the IMAP IDLE connection.
And NOTIFY isn't implemented yet mainly because it would be annoyingly expensive (as is virtual mailbox when it's created from many real mailboxes). I've been planning on implementing mailbox list indexes (or they already are implemented, but they're buggy) that would make this much cheaper. Basically NOTIFY could just keep watching for changes to dovecot.list.index.log file, and then read what mailbox had changed and how and notify client about it, possibly without even opening the mailbox itself.
That sounds like a good plan - basically having "logwatch" on all IMAP operations :) I'd be happy to test once you have anything to be tested (just need to find a MUA other than telnet+brain that has IMAP NOTIFY implemented first ;) ).
Patrick.
-- Key ID: 0x86E346D4 http://patrick-nagel.net/key.asc Fingerprint: 7745 E1BE FA8B FBAD 76AB 2BFC C981 E686 86E3 46D4