Not reproducible every time, but every so often, after viewing an
unseen message, I am seeing the first non-system flag set on the
message without an intervening STORE call.
Here's an example:
2 EXAMINE "XXX" (QRESYNC (1165391112 78
12160:12162,12168:12171,12173,12178,12183,12191,12360,12431,12560,12762,12765,13037,13089,13094,13196,13457,13460,13495,13548,13549,13561,13590,13597,13598))
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft impflag0 impflag1)
- OK [PERMANENTFLAGS ()] Read-only mailbox.
...
7 UID FETCH 13608 (ENVELOPE FLAGS RFC822.SIZE BODY.PEEK[HEADER.FIELDS
(LIST-POST X-PRIORITY)]) - 30 FETCH (UID 13608 FLAGS (\Recent) ...
On the next access:
2 SELECT "XXX" (QRESYNC (1165391112 79
12160:12162,12168:12171,12173,12178,12183,12191,12360,12431,12560,12762,12765,13037,13089,13094,13196,13457,13460,13495,13548,13549,13561,13590,13597,13598,13608))
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft impflag0 impflag1)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
impflag0 impflag1 \*)] Flags permitted. ... 3 UID FETCH 13608 (BODY[HEADER]) - 30 FETCH (UID 13608 FLAGS (\Seen \Recent impflag0) BODY[HEADER] {2529} ...
As can be seen, impflag0 has been magically set somehow.
Stranger still, dovecot won't let you unset the flag (this might have
something to do with QRESYNC since, if I run this command without the
UNCHANGEDSINCE parameter, it will unset the flag):
4 UID STORE 13608 (UNCHANGEDSINCE 82) -FLAGS (impflag0) 4 OK Store completed.
FYI, I am using dovecot 1.2.1 on archlinux (they haven't upgraded the
package to 1.2.2 yet, but I didn't see anything in the 1.2.2 release
notes that leads me to believe this has been fixed).
michael