On Mon, 2004-11-29 at 05:36 +0200, Timo Sirainen wrote:
On 17.11.2004, at 02:34, Aaron VanDevender wrote:
Is there a way to get dovecot to send automatic flag updates? I notice that when I have two clients connected and one of them reads a new message, the server sends a status update which contains the number of unseen messages, but doesn't specifically say which ones have changed. I think the solution to this problem, while not wasting bandwidth, is to issue a unilateral FETCH FLAGS response whenever a flag changes. There doesn't seem to be a way to get dovecot (I'm using 0.99.10) to do this. Can the 1.0-test versions do this?
Dovecot has done this always. Most clients are just too stupid to do anything with them.
I don't think this is true. I've included the relevant parts IMAP session below while doing the following:
- Sent an email to myself.
- Waited for client A (evolution) to do a SELECT INBOX.
- Went over to client B (squirrelmail) and read the new message.
- Waited for client A to do another SELECT INBOX or similar.
at this point I expect client A to change the status of the mail in question to SEEN, but it stays as UNSEEN. The session below is from client A. Command A00069 reports [UNSEEN 16265] and command A00077 reports 0 unseen messages, so client B clearly read the message between these two points, and the SEEN flag has changed. Yet no FETCH FLAGS response indicates that change. In addition to the STATUS (UNSEEN 0) response, there should also be a FETCH FLAGS response under command A00077 which lets client A know that message 16265 has been seen.
A00057 SELECT INBOX
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
- 16265 EXISTS
- 1 RECENT
- OK [UNSEEN 16265] First unseen.
- OK [UIDVALIDITY 1095611075] UIDs valid
- OK [UIDNEXT 18918] Predicted next UID A00057 OK [READ-WRITE] Select completed. A00058 FETCH 16264 UID
- 16264 FETCH (UID 18916) A00058 OK Fetch completed. A00059 UID FETCH 18917:* (FLAGS RFC822.SIZE INTERNALDATE BODY.PEEK [HEADER.FIELDS.NOT (RECEIVED)])
- 16265 FETCH (UID 18917 FLAGS (\Recent) INTERNALDATE "29-Nov-2004 21:19:54 -0500" RFC822.SIZE 1043 BODY[HEADER.FIELDS.NOT (RECEIVED)] {467} ) A00059 OK Fetch completed. A00069 SELECT INBOX
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
- 16265 EXISTS
- 0 RECENT
- OK [UNSEEN 16265] First unseen.
- OK [UIDVALIDITY 1095611075] UIDs valid
- OK [UIDNEXT 18918] Predicted next UID A00069 OK [READ-WRITE] Select completed. A00070 FETCH 16265 UID
- 16265 FETCH (UID 18917) A00070 OK Fetch completed. A00071 UID FETCH 18917 BODY.PEEK[]
- 16265 FETCH (UID 18917 BODY[] {1043} ) A00071 OK Fetch completed. A00077 STATUS INBOX (MESSAGES UNSEEN)
- STATUS "INBOX" (MESSAGES 16265 UNSEEN 0) A00077 OK Status completed. A00078 SELECT INBOX
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
- 16265 EXISTS
- 0 RECENT
- OK [UIDVALIDITY 1095611075] UIDs valid
- OK [UIDNEXT 18918] Predicted next UID A00078 OK [READ-WRITE] Select completed. A00079 FETCH 16265 UID
- 16265 FETCH (UID 18917) A00079 OK Fetch completed.