Subject: [lemonade] NOTIFY issues

From: Timo Sirainen <[email-masked]>
Date: Sun, 26 Feb 2012 08:40:46 +0200

1. If mailbox is unsubscribed, should untagged LIST reply be sent? I don't think client can differentiate it from any other untagged LIST reply, since there's no \Unsubscribed flag, so seems a bit pointless to send it. (Or alternatively \Subscribed could be required to be sent whenever sending LIST reply?)

2. If selected mailbox's events are set to NONE, I guess the mailbox can still change, the changes just aren't sent to client?

3. ServerMetadataChange isn't a mailbox-specific event, but it can only be specified related to filter-mailboxes. I guess it could be enabled if any of the filters include it, even if all of them don't.

BTW. This would have been easier to implement if there would have been simply two groups of events: events for filter-mailboxes-selected and events for filter-mailboxes-other (and global filters so ServerMetadataChange would make sense). I doubt many clients would have wanted to do anything more specific.

---

From: Timo Sirainen <[email-masked]>
Date: Wed, 29 Feb 2012 10:37:27 +0200

> 2. If selected mailbox's events are set to NONE, I guess the mailbox can still change, the changes just aren't sent to client?

If implemented this way, it's ambiguous if NOTIFY NONE is the same as

a) NOTIFY SET (selected NONE)
b) NOTIFY SET (selected-delayed NONE)

Safer to assume b), so I'll do that.

>    If the FlagChange and/or AnnotationChange events are specified,
>    MessageNew and MessageExpunge MUST also be specified by the client.
>    Otherwise, the server MUST respond with the tagged BAD response.
> 
>    If one of MessageNew or MessageExpunge is specified, then both events
>    MUST be specified.  Otherwise, the server MUST respond with the
>    tagged BAD response.

These make sense for selected/selected-delayed, but are unnecessary restrictions for non-selected mailbox notifications.