[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Strange IMAP "recent" update strangeness - bug or expected?



Greetings List:

Wanderlust's handling of IMAP seems incongruent with expected
behavior.  For example, if I "sync" %INBOX from within folder buffer
_prior_ to having called up a summary buffer for that particular
%INBOX, I will get correct reports for recent, unseen, and total
message numbers.  Subsequently sending test message to that account
from a different box and issuing another sync also updates counts
correctly.

If, however, I have viewed a summary buffer for that %INBOX, then
while unseen and total counts are updated, recent count is _not_
updated.  Such might be expected if the summary buffer were still
open, but even after it's been killed?  Moreover, Wanderlust continues
to behave in this manner for seemingly any number of new incoming
messages _unless_ I wait 30 mins for server side idle timeout.  

I turned on elmo-imap4-debug and collected following as example:

[15:23:25] <- elmo-imap418 status INBOX (recent unseen messages uidnext)
[15:23:25] -> * STATUS INBOX (MESSAGES 2380 RECENT 0 UIDNEXT 27521 UNSEEN 25)
[15:23:25] -> elmo-imap418 OK Completed
*elmo-imap418* OK arrived
[15:23:25] => ((ok nil) (status ((unseen 25) (uidnext 27521) (recent 0) (messages 2380))))

Above is "base" reference.  Following after I sent some emails from
another machine:

[15:24:16] <- elmo-imap419 status INBOX (recent unseen messages uidnext)

Above is sync" on INBOX folder

[15:24:16] -> * 2381 EXISTS
[15:24:16] -> * 4 RECENT

Here we can see server responded that there were 4 "new" messages

[15:24:16] -> * STATUS INBOX (MESSAGES 2381 RECENT 0 UIDNEXT 27522 UNSEEN 26)

Yet here status reports "0" recent messages

[15:24:16] -> elmo-imap419 OK Completed
*elmo-imap419* OK arrived
[15:24:16] => ((ok nil) (status ((unseen 26) (uidnext 27522) (recent
0) (messages 2381))) (recent 4) (exists 2381))

This behavior makes discerning arrival of new mail challenging since
"recent" count remains zero even when there are new messages and the
only cue you get is an increase in the counts of unseen and total
messages.  Follows is IMAP4 Debug Buffer output for what I expect to
be correct behavior, i.e. after idle time out:

[15:57:13] <- elmo-imap45 status INBOX (recent unseen messages uidnext)
[15:57:13] -> * STATUS INBOX (MESSAGES 425 RECENT 2 UIDNEXT 15948 UNSEEN 35)
[15:57:13] -> elmo-imap45 OK Completed
*elmo-imap45* OK arrived
[15:57:13] => ((ok nil) (status ((unseen 35) (uidnext 15948) (recent 2) (messages 425))))
[15:57:31] <- elmo-imap46 status INBOX (recent unseen messages uidnext)
[15:57:31] -> * STATUS INBOX (MESSAGES 426 RECENT 3 UIDNEXT 15949 UNSEEN 36)
[15:57:31] -> elmo-imap46 OK Completed
*elmo-imap46* OK arrived
[15:57:31] => ((ok nil) (status ((unseen 36) (uidnext 15949) (recent 3) (messages 426))))


Something I might be missing here?  Thoughts??

Regards- Ken