Re: [Evolution] Wish: Uncached IMAP folders



On Mon, 2006-04-24 at 23:57 +0100, David Woodhouse wrote:
On Fri, 2006-04-21 at 14:47 -0500, Ron Johnson wrote:
And STATUS means "tell me about *all* emails?  If so, bummer.

Turns out it's not STATUS but LIST, but in any case you can see the
(impressive) amount of traffic generated by running with
CAMEL_VERBOSE_DEBUG=1.

received: * 12147 FETCH (UID 12166 FLAGS (\Seen))^M
received: * 12148 FETCH (UID 12167 FLAGS (\Seen))^M
received: * 12149 FETCH (UID 12168 FLAGS (\Seen))^M
received: * 12150 FETCH (UID 12174 FLAGS (\Seen))^M
received: A00049 OK FETCH completed.^M

No, that's neither STATUS nor LIST. That's FETCH, and it's a regression
since Evolution 2.2. It's fetching the flags and the headers for every
mail in every folder. Even if you were to prune your cache, it'd refetch
them every time it checks for new mail.

We _used_ to just use STATUS, and it took about three lines of traffic
to check how many mails were in folders like your history subfolders. In
Evo 2.6 (or maybe 2.4) the code was changed and now it re-fetches the
flags for _every_ header in each folder, each time it visits (which is
quite frequently).

I'm speechless. Was this done because some IMAP servers were buggy? If
not, there would seem to be no justification for it.

This is bug #336076. It shouldn't be fetching all the headers for the
folders you don't care about -- it only needs to use STATUS, if it wants
to tell you how many mails there are unread in that folder.

There's a patch attached to bug #336074 which might possibly help -- it
allows evo to check for mail only in active folders, rather than in all
folders on the server.

By "active" do you mean "subscribed"?

It does mean that the unseen count for those
folders won't get updated either though.

If you only check INBOX these counts are wrong anyway, so we'd be no
worse off.

The real fix is to start using
STATUS again for checking mail folders.

Absolutely.

poc




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