5.2.0-git
2014-07-28

[#11425] Empty container in folder list
Summary Empty container in folder list
Queue IMP
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners slusarz (at) horde (dot) org
Requester jan (at) horde (dot) org
Created 2012-09-15 (681 days ago)
Due
Updated 2013-09-18 (313 days ago)
Assigned 2013-08-29 (333 days ago)
Resolved 2013-09-18 (313 days ago)
Milestone
Patch No

History
2013-09-18 21:12:47 Michael Slusarz Comment #10
State ⇒ Resolved
Reply to this comment
Verified fixed in 6.2.
2013-08-29 21:45:31 Michael Slusarz Comment #9 Reply to this comment
It's still there. The empty container "sent" is displayed, though no 
longer expandable.
It would be great if you can tell me which condition in _activeElt() 
is returning true for the base Sent mailbox.  (I'm assuming it's 
probably hasChildren(), so it would be great if you can also figure 
out what is returning true in there if that is the case).

I can verify that my fix caused my empty mailbox to go away.
No idea why the server sends the list twice.
Because of the way Cyrus namespaces.  The private namespace is 
contained within the "shared" namespace.  Maybe that works from a 
filesystem/setup perspective, but it makes little sense from an IMAP 
perspective (the private namespace, by definition, is "private".  It 
shouldn't be sub component of a shared, global namespace, since this 
implies that another user is guaranteed to see it in their global 
namespace - which there is no guarantee of).

So NAMESPACES look like:
S: * NAMESPACE (("INBOX." ".")) (("user." ".")) (("" "."))
and the search looks like:

  C: 5 LIST (SUBSCRIBED) "" (INBOX.* user.* *) RETURN (SUBSCRIBED)

and the INBOX. namespace is queried twice - once by "INBOX.*" and once by "*".

IIRC, I want to say at least one IMAP server doesn't return private 
namespace mailboxes if doing a "*", but I can't recall if that is true 
or something I made up.
2013-08-29 08:23:11 Jan Schneider Comment #8
Priority ⇒ 1. Low
State ⇒ Assigned
Reply to this comment
It's still there. The empty container "sent" is displayed, though no 
longer expandable.

S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE  XIMAPPROXY] neo 
Cyrus IMAP v2.
4.16-Debian-2.4.16-4 server ready
1 [LOGIN Command - username: jan]
S: 1 OK User logged in
C: 2 CAPABILITY
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA 
MAILBOX-REFER
RALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND 
BINARY CAT
ENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY 
THREAD=ORDEREDSUBJECT THRE
AD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST 
URLAUTH URLAU
TH=BINARY LOGINDISABLED COMPRESS=DEFLATE IDLE
CONFIG: IGNORING these IMAP capabilities: BINARY
S: 2 OK Completed
CACHE: Using the Horde_Imap_Client_Cache_Backend_Db storage driver.
C: 3 ENABLE QRESYNC
C: 4 NAMESPACE
S: * ENABLED CONDSTORE QRESYNC
S: 3 OK Completed
S: * NAMESPACE (("INBOX." ".")) (("user." ".")) (("" "."))
S: 4 OK Completed
C: 5 LIST (SUBSCRIBED) "" (INBOX.* user.* *) RETURN (SUBSCRIBED)
[...]
S: * LIST (\Subscribed) "." INBOX.sent.sent-AMMMa
S: * LIST (\Subscribed) "." INBOX.sent.sent-Consulting
S: * LIST (\Subscribed) "." INBOX.sent.sent-Horde
S: * LIST (\Subscribed) "." INBOX.sent.sent-Privat
S: * LIST (\Subscribed) "." INBOX.sent.sent-tip4all
[...]
S: * LIST (\Subscribed) "." INBOX.sent.sent-AMMMa
S: * LIST (\Subscribed) "." INBOX.sent.sent-Consulting
S: * LIST (\Subscribed) "." INBOX.sent.sent-Horde
S: * LIST (\Subscribed) "." INBOX.sent.sent-Privat
S: * LIST (\Subscribed) "." INBOX.sent.sent-tip4all
S: * LIST (\Subscribed) "." INBOX.temp
S: * LIST (\Subscribed \HasChildren) "." INBOX.tip4all
S: * LIST (\Subscribed) "." INBOX.tip4all.2011
S: 5 OK Completed (0.000 secs 173 calls)
C: 6 LOGOUT
S: * BYE LOGOUT received
S: 6 OK Completed
Slow Command: 424,88 seconds
No idea why the server sends the list twice.
2013-08-29 05:02:31 Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit 91bfd242a5a3177cb07bb4bef966e4df99085bc0
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Wed Aug 28 18:05:04 2013 -0600

     Better fix for #11425

     Fixes sorting of special mailbox names

  imp/lib/Ajax/Application/Handler/Dynamic.php |    3 +--
  imp/lib/Ajax/Queue.php                       |   15 ++++++---------
  2 files changed, 7 insertions(+), 11 deletions(-)

http://git.horde.org/horde-git/-/commit/91bfd242a5a3177cb07bb4bef966e4df99085bc0
2013-08-27 20:20:11 Michael Slusarz Comment #6
State ⇒ Resolved
Reply to this comment
IMP 6.1.5
2013-08-27 20:20:05 Git Commit Comment #5 Reply to this comment
Changes have been made in Git (master):

commit c5416669349c028c66d954a5264da3dc30fc8317
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Tue Aug 27 14:19:32 2013 -0600

     [mms] Don't display empty containers in dynamic folder list 
(Request #11425).

  imp/docs/CHANGES                             |    1 +
  imp/lib/Ajax/Application/Handler/Dynamic.php |    4 +++-
  imp/lib/Ajax/Queue.php                       |    9 ++++++++-
  imp/package.xml                              |    4 ++--
  4 files changed, 14 insertions(+), 4 deletions(-)

http://git.horde.org/horde-git/-/commit/c5416669349c028c66d954a5264da3dc30fc8317
2013-08-27 10:53:36 Jan Schneider State ⇒ Assigned
 
2013-08-27 10:53:21 Jan Schneider Comment #4
Priority ⇒ 2. Medium
Reply to this comment
At the moment this container is even displayed as expandable, but 
trying to expand it fires an endless loop of listMailboxes requests.
2012-09-22 08:49:20 Jan Schneider Comment #3 Reply to this comment
This is very irritating though, especially on IMAP server that only 
allow containers. One could probably argue that users that know how to 
"create" containers should be sufficiently savvy to figure this out 
too, but it's still weird to have an empty entry in the folder list 
without any action attached to it.
2012-09-21 22:43:59 Michael Slusarz Comment #2
State ⇒ Feedback
Reply to this comment
This is intentional.  Indicates that the namespace (e.g. folder) 
exists, and at least one viewable mailbox exists (albeit not directly 
underneath this mailbox in that particular UI view).
2012-09-15 13:29:42 Jan Schneider Comment #1
State ⇒ Assigned
Patch ⇒ No
Milestone ⇒
Assigned to Michael Slusarz
Queue ⇒ IMP
Summary ⇒ Empty container in folder list
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
My weird folder layout again.

INBOX.sent.sent-Foo (subscribed, special folder)
INBOX.sent.sent-Bar (unsubscribed)

There is no INBOX.sent, it still shows up as a non-expandable 
container folder in the normal folder section.