<<< Date Index >>>     <<< Thread Index >>>

Re: imap recent



On Mon, Jun 08, 2009 at 02:49:45PM -0500, Kyle Wheeler wrote:
> On Monday, June  8 at 12:21 PM, quoth Patrick Welche:
> >Now I'm even more confused: mutt says after several days of not
> >reading mail, mutt says:
> >
> >Msgs:220272 New:6 Old:710
> >
> >and those refer to the 6 new messages I received while it is open.
> 
> YIKES - that is a *huge* mailbox!
> 
> It's interesting that mutt seems to think all unseen messages are Old.
> 
> >Then, leaving mutt open, I tried imtest localhost to the cyrus imap
> >server and:
> 
> I'd be more interested in what cyrus actually sent mutt. Imtest isn't
> going to be reproducing exactly what mutt sent, so you don't know
> exactly what cyrus sent mutt, we can only hope that what you'reshowing
> here is what mutt saw.
> 
> Compile mutt with debugging enabled, and then run mutt with the '-d 5'
> flag, so that mutt will show you EXACTLY what it received.

Bother - only ran with -d 3 will try again later... However, here are
highlights (Cyrus IMAP v2.3.13):

4> a0003 MYRIGHTS "INBOX"^M
a0004 SELECT "INBOX"^M
4< * MYRIGHTS INBOX lrswipkxtecda
Handling MYRIGHTS
4< a0003 OK Completed
4< * FLAGS (\Answered \Flagged \Draft \Deleted \Seen $MDNSent Junk NonJunk Old)
Getting mailbox FLAGS
4< * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $MDNSent Junk 
NonJunk Old \*)]
Getting mailbox PERMANENTFLAGS
4< * 220712 EXISTS
Handling EXISTS
cmd_handle_untagged: New mail in INBOX - 220712 messages total.
4< * 14 RECENT
4< * OK [UNSEEN 214632]
4< * OK [UIDVALIDITY 1067797702]
Getting mailbox UIDVALIDITY
4< * OK [UIDNEXT 710968]
Getting mailbox UIDNEXT
4< * OK [NOMODSEQ] Sorry, modsequences have not been enabled on this mailbox
4< * OK [URLMECH INTERNAL]
4< a0004 OK [READ-WRITE] Completed
IMAP queue drained

So the above is on login, with 14 RECENT immediately.

There are then loads of FETCHs, and

IMAP queue drained 
imap_open_mailbox: msgcount is 220712
4> a0006 NOOP^M
4< * 220717 EXISTS
Handling EXISTS
cmd_handle_untagged: New mail in INBOX - 220717 messages total.
4< * 19 RECENT
4< a0006 OK Completed
IMAP queue drained 
imap_cmd_finish: Fetching new mail

more FETCH, and the messages are new, and have FLAGS \Recent
(
Handling FETCH 
FETCH response ignored for this message
)

...
IMAP queue drained
4> a0011 NOOP^M
4< * 220718 EXISTS
Handling EXISTS
cmd_handle_untagged: New mail in INBOX - 220718 messages total.
4< * 20 RECENT
4< a0011 OK Completed
IMAP queue drained
imap_cmd_finish: Fetching new mail

grabbed a message, and now RECENT is up to 21, and this carries on to 24 as
new mail arrives.

At this point, mutt thinks:

Msgs:220722 New:9 Old:791 2473M

(Hmm? I would have guessed 24-19, not 9)

On quit:

4> a0050 UID STORE 710968:710970,710972:710977 +FLAGS.SILENT (Old)^M
a0051 UID STORE 710971 +FLAGS.SILENT (\Seen)^M
4< a0050 OK Completed
4< a0051 OK Completed
...
4> a0052 CLOSE^M
a0053 LOGOUT^M
4< a0052 OK Completed
4< * BYE LOGOUT received
Handling BYE
4< a0053 OK Completed
IMAP queue drained


> As I understand how mutt works, mutt determines the number of new/oldby
> comparing what's in the folder to what's in it's header cache.
> 
> If you delete mutt's header cache, does it default to assuming that
> every unread message is new (as I would have thought) or does itdefault
> to assuming that every unread message is old?

I don't use the header cache - I would have to enable it to use it right?
(off by default?)

Cheers,

Patrick