Apologies if this is covered somewhere and I missed it.
I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
My gut feel is that the intent of CONDSTORE would be that the HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages being removed from a mailbox.
However in RFC4551 I can find no mention of what to do upon UID EXPUNGE. Since there is no STORE beforehand, we can't rely on processing associated with that.
If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ becomes unreliable as an indication that anything changed on a mailbox, since a UID EXPUNGE may have removed messages. I'd like clients to be able to rely on HMS as an indication that ANY work is required or not to resynch.
Or is there another proposed way to do this?