Re: [Dovecot] IMAP NOTIFY extension

2012-05-08 Thread Timo Sirainen
On Tue, 2012-05-08 at 21:17 -0500, ashley willis wrote:
> your work on NOTIFY was brought to my attention, and I see it hasn't
> been changed in two months, a week after you announced it. a few users
> and some mail admins have been wanting something like this for k9
> mail, which I help develop. what is the current status? is it worth
> installing and starting work in getting k9 to support it yet? I'd
> offer help on your end, but I just know java and perl. c code usually
> confuses me (i keep meaning to learn, but...). thanks!

I'm planning on continuing it, but first I'll need to get dsync rewrite
finished. It's getting close..

I think you should be able to already test the NOTIFY code, at least if
your main purpose is to see when non-selected mailboxes change. My TODO
list says:

- check how FlagChange handles HIGHESTMODSEQ when it hasn't previously
  been enabled
- fetch-att for NOTIFY and for SEARCH UPDATE
- implement MailboxName, SubscriptionChange

Also I think you must have mailbox_list_indexes=yes for NOTIFY to see
any changes. The "fetch-att" means that you can't tell Dovecot to push
FETCH fields for new messages.




[Dovecot] IMAP NOTIFY extension

2012-05-08 Thread ashley willis
your work on NOTIFY was brought to my attention, and I see it hasn't been 
changed in two months, a week after you announced it. a few users and some mail 
admins have been wanting something like this for k9 mail, which I help develop. 
what is the current status? is it worth installing and starting work in getting 
k9 to support it yet? I'd offer help on your end, but I just know java and 
perl. c code usually confuses me (i keep meaning to learn, but...). thanks!

-ashley
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


[Dovecot] IMAP NOTIFY extension

2012-02-26 Thread Timo Sirainen
http://hg.dovecot.org/dovecot-2.2-notify/ contains the initial implementation 
of IMAP NOTIFY extension. It's less than half-working, but the difficult part 
of it is done I think. If I give it a command like:

x notify set (personal (messagenew messageexpunge flagchange))

and then in another session I copy a message to another mailbox, it sends:

* STATUS "foobar" (MESSAGES 77 UIDNEXT 78 UIDVALIDITY 1329431281 UNSEEN 75)

This requires mailbox_list_index=yes to work. It works by following the 
dovecot.list.index.log changes, so it's going to be pretty efficient. Some TODO 
that I've so far noticed:

 - NOTIFY is handled currently only for non-selected mailboxes. (handling the 
new features for selected mailbox should be simple)
 - initial STATUS sending isn't done with STATUS option
 - only MessageNew, MessageExpunge and FlagChange notifications are sent 
currently
 - MailboxName handling probably needs to be able to get "old" and "new" views, 
figure out what changed in them and send those changes (dsync has similar code)
 - mailbox list indexes seem to be adding too much stuff, which results in:
 - STATUS duplicates, but there should already be code to avoid these so I'm 
not sure what's going on
 - ACLs and shared mailboxes don't work right
 - add 0.5s delay before notifying IMAP code, so multiple changes can be 
bundled into one