Listing IMAP folders



Hi all,

following up on the discussion in Modest bug #2537
(<https://bugs.maemo.org/show_bug.cgi?id=2537>) at Philip's request
(and apologies for the delay).  This is more from a user (than
developer) point of view though.

To summarise, the current tinymail behaviour AIUI from observation and
reading libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c
is:

a) for the personal namespace, unconditionally LIST all folders
   recursively (ie, using a "*" wildcard)

b) for the shared and other namespaces, LSUB folders recursively
   unless the namespace prefix is empty ("")

c) for shared / other namespaces with empty prefix, LSUB top-level
   folders only ("%" wildcard)

The rationale/assumption is that the personal namespace should contain
only a few folders while shared namespaces may contain large folder
hierarchies (for example proxying Usenet groups).  Both of these are
wrong for me :-(

The c) case is causing problems with Cyrus imapd, which advertises the
shared namespace prefix as "".  The result is that only top-level
shared folders (which typically only contain subfolders) are listed,
but nothing underneath.

The obvious work-around that comes to mind is to extend c) to also
LSUB any shared folders found.  Actually, the "best practices" wiki
(<http://www.imapwiki.org/ClientImplementation/MailboxList>)
recommends to do that, but only upon explicit user action and only one
level at a time.  This would be very nice indeed, and solve the
problem as well as provide adequate protection against unintentionally
listing huge hierarchies.

Now, the flip side of this is my personal IMAP account, where
the a) case above is also causing problems.  Background: as a result of
using mutt for the past decade or so (and elm before that) and the
benefits of readline I have accumulated:

	$ find Maildir/ -type d -name cur| wc -l
	503
	$ find Maildir/ -type f| wc -l
	173060

(all served by dovecot under a "" personal namespace).  The largest
folder contains ~64K messages.  On the other hand, INBOX is usually
kept small and the subscriptions list contains only a few folders.
Obviously I don't expect tinymail to handle that volume of email
efficiently (or at all) and indeed modest currently doesn't.  Part of
the problem is the large folders, but even when temporarily moving
those out of the Maildir tree it still takes about 20 minutes to go
through the whole list (otherwise it doesn't complete even when I left
it spinning at ~100% CPU overnight).

I realise that this is not a very common scenario (some might say I'm
"asking for it"), but then again neither is exporting the entire Usenet
via IMAP.  It would be really great if tinymail could support the option
(it doesn't have to be the default, as long as it's there) of listing
only subscribed personal folders.

Thanks,
Lucas



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