Closed Bug 1264724 Opened 8 years ago Closed 8 years ago

can't subscribe to nested IMAP folders

Categories

(Thunderbird :: Untriaged, defect)

45 Branch
Unspecified
Windows 10
defect
Not set
major

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1244779

People

(Reporter: bugreport2016, Unassigned)

References

Details

(Keywords: reproducible)

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Build ID: 20160325004402

Steps to reproduce:

Tried to subscribe to nested IMAP subfolders (more than two levels)


Actual results:

Subfolders (more than two levels) aren't listed in subscribe-window


Expected results:

In IMAP-Subscribe Window all subfolders should be listed, even if it's a 5 level depth structure.
Severity: normal → major
OS: Unspecified → Windows 10
See Also: → 1221038
(In reply to Christian from comment #0)
> User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101
> Firefox/45.0
> Build ID: 20160325004402
> 
> Steps to reproduce:
> 
> Tried to subscribe to nested IMAP subfolders (more than two levels)
> 
> 
> Actual results:
> 
> Subfolders (more than two levels) aren't listed in subscribe-window
> 
> 
> Expected results:
> 
> In IMAP-Subscribe Window all subfolders should be listed, even if it's a 5
> level depth structure.

I've to add sth: maybe this issue happens only when using shared folders with cyrus or public namespace with dovecot. Haven't tried personal accounts.
It doesn't matter if it's public namespace or a private inbox. Not all folders are shown in subscribe dialog.
Attached image thunderbird-folder.png
Those folders should be shown:

a2 LIST "" "*"
* LIST (\HasChildren) "/" privat1
* LIST (\HasChildren) "/" privat1/p1b
* LIST (\HasNoChildren) "/" privat1/p1b/p1c
* LIST (\HasNoChildren) "/" INBOX/Sent
* LIST (\HasNoChildren) "/" INBOX/Drafts
* LIST (\HasNoChildren \Sent) "/" Sent
* LIST (\HasNoChildren \Drafts) "/" Drafts
* LIST (\HasNoChildren \Trash) "/" Trash
* LIST (\HasNoChildren) "/" test
* LIST (\Noselect \HasChildren) "/" public
* LIST (\HasChildren) "/" public/test-pub
* LIST (\HasChildren) "/" public/test-pub/p1
* LIST (\HasChildren) "/" public/test-pub/p1/p11
* LIST (\HasChildren) "/" public/test-pub/p1/p11/p12b
* LIST (\HasNoChildren) "/" public/test-pub/p1/p11/p12b/p123a
* LIST (\HasNoChildren) "/" public/test-pub/p1/p11/p12b/p123b
* LIST (\HasNoChildren) "/" public/test-pub/p1/p11/p12
* LIST (\HasChildren) "/" INBOX
a2 OK List completed.
Component: Untriaged → General
Keywords: reproducible
Does this issue occur in recent versions of Thunderbird 38?

Please don't claim to have triaged this when you have not, "General" is not the correct component.
Component: General → Untriaged
@James: in 38.6 (https://bugzilla.mozilla.org/show_bug.cgi?id=1221038) and 45 beta.
I'm looking at this bug primarily because I've been asked to review a patch for bug 1245526 and it seems to me that your issue could be related. That bug would only affect servers with 1) non '.' as the delimiter, and 2) namespaces beyond "INBOX."  Your results seem to qualify. But I'm kind of a reviewer of last resort here, so I have to learn the background of some of these issues first.

I would appreciate you checking two things for me.

1) Can you check the value of the preference mail.imap.hide_unused_namespaces for your profile? If that is true, can you try setting it to false and see if you get the same result?

2) If I did a try build with the patch from bug 1245526 would you be willing to try that with your email account?

Alternatively, if you are the sysadmin for this server and you could create a test account for me, I could test that myself.
(In reply to Kent James (:rkent) from comment #6)
> I'm looking at this bug primarily because I've been asked to review a patch
> for bug 1245526 and it seems to me that your issue could be related. That
> bug would only affect servers with 1) non '.' as the delimiter, and 2)
> namespaces beyond "INBOX."  Your results seem to qualify. But I'm kind of a
> reviewer of last resort here, so I have to learn the background of some of
> these issues first.
> 
> I would appreciate you checking two things for me.
> 
> 1) Can you check the value of the preference
> mail.imap.hide_unused_namespaces for your profile? If that is true, can you
> try setting it to false and see if you get the same result?

It is true, but I get the same result if it is false in 38.6.
 
> 2) If I did a try build with the patch from bug 1245526 would you be willing
> to try that with your email account?

I can try that.

> Alternatively, if you are the sysadmin for this server and you could create
> a test account for me, I could test that myself.

I've just sent you the login.
Thanks for the test account.

As far as I can tell, this bug has nothing to do with extra namespaces or funny delimiters, but is just simply, once you have unsubscribed from a third level or higher folder, then that folder no longer appears in the subscribe list. I would have expected more reports of this, but the only I could find that was clear was Bug 565867 - Folders do not apear in the list of available folders for subscription wich Kerio Connect 7 Server

STR (works with OP's test account, as well as my Fastmail test account)

But I only searched in MailnewsCore/IMAP component. Perhaps there are more dups in other components?

I see now that bug 1244779 is a dup, and it was R.Koerner's request for a review that got me looking at this in the first place.

1) Create externally an IMAP account with at least 4 levels of folders, subscribed.
2) In a new profile, add this IMAP account. (All folders normally show up)
3) In TB, unsubscribe from the third and higher level subfolders.
4) Select the account, and "Manage Folder Subscriptions"

Expected: unsubscribed folders are shown
Actual: Only first two level unsubscribed folders are shown.

I feel like I am missing something, because this seems pretty fundamental to me.

Anyway, the code that causes this is here, also shown in bug 1244779:

http://hg.mozilla.org/comm-central/file/01d0cf9ebf8d/mailnews/imap/src/nsImapProtocol.cpp#l7186

        if (!allPattern.IsEmpty())
        {
          imapServer->SetDoingLsub(true);
          Lsub(allPattern.get(), true);	// LSUB all the subscribed
        }
        if (!topLevelPattern.IsEmpty())
        {
          imapServer->SetDoingLsub(false);
          List(topLevelPattern.get(), true);	// LIST the top level
        }
        if (!secondLevelPattern.IsEmpty())
        {
          imapServer->SetDoingLsub(false);
          List(secondLevelPattern.get(), true);	// LIST the second level
        }

That is, it does Lsub (showing subscribed folders) for all levels, but only looks for unsubscribed folders on two levels.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: