roundcube / roundcubemail

The Roundcube Webmail suite
https://roundcube.net
GNU General Public License v3.0
5.89k stars 1.64k forks source link

Folder management shows all non-default folders below the trash-folder #8355

Closed Granada75 closed 2 years ago

Granada75 commented 2 years ago

I have a strange behaviour in our instance of Roundcube 1.5.x working against cyrus-imap. Whenever I set a special folder like Drafts it is represented as INBOX.Drafts in the database config entry and all other special folders as well:

a:5:{s:11:"drafts_mbox";s:12:"INBOX.Drafts";s:9:"sent_mbox";s:10:"INBOX.Sent";s:9:"junk_mbox";s:10:"INBOX.Junk";s:10:"trash_mbox";s:11:"INBOX.Trash";s:11:"client_hash";s:16:"lkLuZ3dY0ja1icSL";}

When I now go to Settings -> Folders all subfolders below INBOX that are not a special folder are listed as subfolders of INBOX.Trash. If I remove INBOX.Trash from the list of special folders then the appear below INBOX.Junk. If I don't set any special folders at all then the folder management works flawless.

The folder list within the main screen is not touched by this problem, just the folder settings. It does not matter if I set the special folders to INBOX.[folder_name] in config.inc. imap delimiter is set to '.', but it does not matter if I change this, Roundcube is able to figure it out and list the folders on the main page correct - just the folder management list stays corrupted like in the screenshot attached.

When creating a new imap-folder it is at first shown at the correct position, but after a refresh of the folder list it appears below the last special folder that's set to a value.

What am I doing wrong?

Screenshot_20211206_113651

alecpl commented 2 years ago

Could you provide imap debug log with the LIST command response. What cyrus version, what PHP version? I don't have that problem with Kolab's cyrus version (2.5).

Granada75 commented 2 years ago

some debug-logging, hope it helps:

Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] Connecting to ssl://mail.xxxxxx.at:993...
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE MUPDATE=mupdate://mail.xxxxxxxx.at/ AUTH=PLAIN SASL-IR] mail.xxxxxxx.at Cyrus IMAP Murder v2.4.17-Fedora-RPM-2.4.17-15.el7 server ready
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0001 AUTHENTICATE PLAIN ****** [25]
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0001 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE WITHIN QRESYNC SCAN URLAUTH URLAUTH=BINARY X-NETSCAPE MUPDATE=mupdate://mail.xxxxxxx.at/ LOGINDISABLED COMPRESS=DEFLATE IDLE] Success (tls protection) SESSIONID=<cyrus-22884-1638775242-1>
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0002 ID ("name" "Roundcube" "version" "1.5.1" "php" "7.2.24" "os" "Linux" "command" "/?_task=mail&_mbox=INBOX&_token=uB8ZJAJgRUtTdhV37JZupP4zvHdfzjyE")
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * ID ("name" "Cyrus IMAPD" "version" "v2.4.17-Fedora-RPM-2.4.17-15.el7 d1df8aff 2012-12-01" "vendor" "Project Cyrus" "support-url" "http://www.cyrusimap.org" "os" "Linux" "os-version" "3.10.0-1160.45.1.el7.x86_64" "environment" "Built w/Cyrus SASL 2.1.26; Running w/Cyrus SASL 2.1.26; Built w/Berkeley DB 5.3.21: (May 11, 2012); Running w/Berkeley DB 5.3.21: (May 11, 2012); Built w/OpenSSL 1.0.2k-fips  26 Jan 2017; Running w/OpenSSL 1.0.2k-fips  26 Jan 2017; Built w/zlib 1.2.7; Running w/zlib 1.2.7; CMU Sieve 2.4; TCP Wrappers; NET-SNMP; mmap = shared; lock = fcntl; nonblock = fcntl; idle = idled")
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0002 OK Completed
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0003 LSUB "" "*"
Dec  6 08:20:42 webmail2-prod roundcube[781654]: <8246ujqb> [5150] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE MUPDATE=mupdate://mail.xxxxxxxx.at/ AUTH=PLAIN SASL-IR] mail.xxxxxxxxx.at Cyrus IMAP Murder v2.4.17-Fedora-RPM-2.4.17-15.el7 server ready
Dec  6 08:20:42 webmail2-prod roundcube[781654]: <8246ujqb> [5150] C: A0001 AUTHENTICATE PLAIN ****** [25]
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LSUB () "." "INBOX.Drafts"
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LSUB () "." "INBOX.Junk"
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LSUB () "." "INBOX.Sent"
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LSUB () "." "INBOX.Trash"
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0003 OK Completed (0.000 secs)
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0004 LIST "" "*"
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LIST (\HasChildren) "." INBOX
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LIST (\HasNoChildren) "." INBOX.Drafts
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LIST (\HasNoChildren) "." INBOX.Junk
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LIST (\HasNoChildren) "." INBOX.Sent
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * LIST (\HasNoChildren) "." INBOX.Trash
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0004 OK Completed (0.040 secs 6 calls)
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0005 GETQUOTAROOT INBOX
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * QUOTAROOT INBOX user.userID
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * QUOTA user.userID (STORAGE 109264 4000000)
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0005 OK Completed
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] C: A0006 LOGOUT
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: * BYE LOGOUT received
Dec  6 08:20:42 webmail2-prod roundcube[781730]: <pc5n1o3a> [D697] S: A0006 OK Completed
alecpl commented 2 years ago

I don't see all these extra folders here.

Granada75 commented 2 years ago

Ah, you're looking for the imap debug log when opening folder management. One moment please. There you are, the log looks okay to me:


Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * ID ("name" "Cyrus IMAPD" "version" "v2.4.17-Fedora-RPM-2.4.17-15.el7 d1df8aff 2012-12-01" "vendor" "Project Cyrus" "sup
port-url" "http://www.cyrusimap.org" "os" "Linux" "os-version" "3.10.0-1160.45.1.el7.x86_64" "environment" "Built w/Cyrus SASL 2.1.26; Running w/Cyrus SASL 2.1.26; Built w/Berkeley DB 5.3.21:
 (May 11, 2012); Running w/Berkeley DB 5.3.21: (May 11, 2012); Built w/OpenSSL 1.0.2k-fips  26 Jan 2017; Running w/OpenSSL 1.0.2k-fips  26 Jan 2017; Built w/zlib 1.2.7; Running w/zlib 1.2.7; 
CMU Sieve 2.4; TCP Wrappers; NET-SNMP; mmap = shared; lock = fcntl; nonblock = fcntl; idle = idled")
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: A0002 OK Completed
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] C: A0003 LIST "" "*"
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasChildren) "." INBOX
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2008
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2009
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2010
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2011
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2012
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2013
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2014
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2015
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.2019
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Alumni-Mail
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Archive
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Drafts
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Junk
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasChildren) "." INBOX.Mailspring
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Mailspring.Snoozed
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Sent
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.T&AOQ-st
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Test12345
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Testordner1
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Trash
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.Wichtig
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasChildren) "." INBOX.foldertest15828851262474
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.foldertest15828851262474.foldertest
Dec  7 08:30:22 webmail2-dev roundcube[1215615]: <7411n9nu> [37CE] S: * LIST (\HasNoChildren) "." INBOX.user
alecpl commented 2 years ago

I tried to hack that information into the code, but I'm unable to reproduce the issue.

Could you find sort_folder_list() function in program/lib/Roundcube/rcube_imap.php file and add rcube::console($out); before the last return statement? This will log the list to logs/console.log. I'd like to see this log first.

Are you using any plugins? What PHP version?

Granada75 commented 2 years ago

Hi Alex!

This is the requested log from sort_folder_list():

Dec 10 07:41:40 webmail2-dev roundcube[1343562]: <7pih0esc> array (#012 0 => 'INBOX',#012 1 => 'INBOX.Drafts',#012 2 => 'INBOX.Sent',#012 3 => 'INBOX.Junk',#012 4 => 'INBOX.Trash',#012 5 => 'INBOX.Alumni-Mail',#012 6 => 'INBOX.Archive',#012 7 => 'INBOX.Mailspring',#012 8 => 'INBOX.Mailspring.Snoozed',#012 9 => 'INBOX.user',#012 10 => 'INBOX.Wichtig',#012 11 => 'user.postma8h',#012 12 => 'user.postma8h.DMARC',#012 13 => 'user.postma8h.exchange',#012 14 => 'user.postma8h.Junk',#012 15 => 'user.postma8h.Sent',#012 16 => 'user.postma8h.templates',#012 17 => 'user.unixli6k',#012 18 => 'user.unixli6k.anachron_messages',#012 19 => 'user.unixli6k.Angebote',#012 20 => 'user.unixli6k.Archiv',#012 21 => 'user.unixli6k.Archiv.2010',#012 22 => 'user.unixli6k.Archiv.2011',#012 23 => 'user.unixli6k.Archiv.2012',#012 24 => 'user.unixli6k.Archiv.2013',#012 25 => 'user.unixli6k.Archiv.2014',#012 26 => 'user.unixli6k.Archiv.2015',#012 27 => 'user.unixli6k.Archiv.2016',#012 28 => 'user.unixli6k.Archiv.2017',#012 29 => 'user.unixli6k.Archiv.2018',#012 30 => 'user.unixli6k.Archiv.bis 2009',#012 31 => 'user.unixli6k.BackupPC',#012 32 => 'user.unixli6k.Bestellungen',#012 33 => 'user.unixli6k.Bestellungen_und_Lizenzen',#012 34 => 'user.unixli6k.BSCW',#012 35 => 'user.unixli6k.erledigt',#012 36 => 'user.unixli6k.erledigt.akim',#012 37 => 'user.unixli6k.erledigt.altes_zeug',#012 38 => 'user.unixli6k.erledigt.altes_zeug.ls4',#012 39 => 'user.unixli6k.erledigt.altes_zeug.RAD_und_i3v_web',#012 40 => 'user.unixli6k.erledigt.BSCW',#012 41 => 'user.unixli6k.erledigt.dhcp',#012 42 => 'user.unixli6k.erledigt.RMS',#012 43 => 'user.unixli6k.erledigt.Services',#012 44 => 'user.unixli6k.erledigt.Services.AKIM',#012 45 => 'user.unixli6k.erledigt.Services.Doxis',#012 46 => 'user.unixli6k.erledigt.Services.ePortfolio',#012 47 => 'user.unixli6k.erledigt.Services.MedAT',#012 48 => 'user.unixli6k.erledigt.VMWare',#012 49 => 'user.unixli6k.in Bearbeitung',#012 50 => 'user.unixli6k.in Bearbeitung.aix',#012 51 => 'user.unixli6k.in Bearbeitung.aix.MiS',#012 52 => 'user.unixli6k.in Bearbeitung.aix.OtC',#012 53 => 'user.unixli6k.in Bearbeitung.linux',#012 54 => 'user.unixli6k.in Bearbeitung.linux.DaS',#012 55 => 'user.unixli6k.in Bearbeitung.linux.GeH',#012 56 => 'user.unixli6k.in Bearbeitung.linux.info',#012 57 => 'user.unixli6k.in Bearbeitung.vmware',#012 58 => 'user.unixli6k.info',#012 59 => 'user.unixli6k.Junk',#012 60 => 'user.unixli6k.Keys',#012 61 => 'user.unixli6k.LDAP',#012 62 => 'user.unixli6k.Lizenzen',#012 63 => 'user.unixli6k.MedAT',#012 64 => 'user.unixli6k.Projekte',#012 65 => 'user.unixli6k.Projekte.clincase',#012 66 => 'user.unixli6k.Projekte.ePro',#012 67 => 'user.unixli6k.Projekte.krebsmedikamente_at',#012 68 => 'user.unixli6k.Raritan_Meldungen',#012 69 => 'user.unixli6k.RH-Centos',#012 70 => 'user.unixli6k.RH-Centos.Satellite',#012 71 => 'user.unixli6k.RH-Centos.Subscriptions',#012 72 => 'user.unixli6k.RH-Centos.Support',#012 73 => 'user.unixli6k.RHN_und_RHN_Satellite',#012 74 => 'user.unixli6k.security',#012 75 => 'user.unixli6k.sent',#012 76 => 'user.unixli6k.SIA',#012 77 => 'user.unixli6k.TSM',#012 78 => 'user.unixli6k.TSM_Meldungen',#012 79 => 'user.unixli6k.vCenter_Alerts',#012 80 => 'user.unixli6k.vSphere',#012 81 => 'user.unixli6k.Zabbix_Alerts',#012 82 => 'user.unixli6k.Zabbix_Alerts.2009',#012 83 => 'user.unixli6k.Zabbix_Alerts.2010',#012 84 => 'user.unixli6k.Zabbix_Alerts.2011',#012 85 => 'user.unixli6k.Zabbix_Alerts.2012',#012 86 => 'user.unixli6k.Zabbix_Alerts.2013',#012 87 => 'user.unixli6k.Zabbix_Alerts.2014',#012 88 => 'user.unixli6k.Zabbix_Alerts.2015',#012 89 => 'user.unixli6k.Zabbix_Alerts.2016',#012 90 => 'user.unixli6k.Zabbix_Alerts.2017',#012 91 => 'user.unixli6k.Zabbix_Alerts.2018',#012 92 => 'user.unixli6k.Zabbix_Alerts.2019',#012)

Turning off all plugins does not make any difference and the PHP-Version is 7.2.24

alecpl commented 2 years ago

This does not look like the same set of folders. I don't see these INBOX.XXXX folders here. How does the NAMESPACE response look like (should be in the log just on the log in)?

Another way to debug this is to add this in line 87 of program/actions/settings/folders.php file:

rcube::console("$folder_id :: $folder :: $level");

That for start. Please, format your pasted code in a more readable way.

Granada75 commented 2 years ago

Sorry for the format, the console log had no line breaks. The new log output is better to read and in my interpretation everything looks fine:

Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: A0002 OK Completed
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] C: A0003 LIST "" "*"
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasChildren) "." INBOX
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2008
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2009
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2010
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2011
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2012
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." INBOX.2013

Later the mailboxes below "user" are listed alike:

Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasChildren) "." user.unixli6k
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." user.unixli6k.Angebote
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasChildren) "." user.unixli6k.Archiv
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." user.unixli6k.Archiv.2010
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." user.unixli6k.Archiv.2011
Dec 14 09:06:55 webmail2-dev roundcube[1462]: <q7pnicb6> [7193] S: * LIST (\HasNoChildren) "." user.unixli6k.Archiv.2012

I don't see any reason why the actual HTML-Output lists the first part of the paste is marked with a trashcan.

alecpl commented 2 years ago

Can I get the info I requested in my last comment?

Granada75 commented 2 years ago

Hi Alex!

Oh, sorry. I forgot about the desired namespace response roundcube gets from the server:

Dec 14 09:21:31 webmail2-dev roundcube[8762]: <jtjp82hc> [0BA8] S: A0001 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MU
LTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE WITHIN QRESYNC SCAN URLAUTH URLAUTH=BINARY X-NETSCAPE MUPDATE=mupdate://mailpup.srv.m
eduniwien.ac.at/ LOGINDISABLED COMPRESS=DEFLATE IDLE] Success (tls protection) SESSIONID=<cyrus-11211-1639470092-1>
Dec 14 09:21:31 webmail2-dev roundcube[8762]: <jtjp82hc> [0BA8] C: A0002 CAPABILITY
Dec 14 09:21:31 webmail2-dev roundcube[8762]: <jtjp82hc> [0BA8] S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEN
D BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE WITHIN QRESYNC SCAN URLAUTH URLAUTH=BINARY X-NETSCAPE MUPDATE=mupdate://mailpup.srv.meduniwie
n.ac.at/ LOGINDISABLED COMPRESS=DEFLATE IDLE
Dec 14 09:21:31 webmail2-dev roundcube[8762]: <jtjp82hc> [0BA8] S: A0002 OK Completed
alecpl commented 2 years ago

I don't see NAMESPACE response here, nor the console log I asked for.

Granada75 commented 2 years ago

Are you looking for this line:

[10-Jan-2022 09:55:29 +0000]: <2bh6son1> [808A] C: A0003 NAMESPACE
[10-Jan-2022 09:55:29 +0000]: <2bh6son1> [808A] S: * NAMESPACE (("INBOX." ".")) (("user." ".")) (("" "."))
[10-Jan-2022 09:55:29 +0000]: <2bh6son1> [808A] S: A0003 OK Completed

If I set all the variables regarding imap-namespace in Roundcube to null, i.e. no vendor, no delimiter, no ns_* set) and letting RC find the variables, the folders are no longer indented on the main page and no longer scrambled under the edit folders list. But now INBOX is no longer top to all personal folders.

I'm afraid the problem is on our side and that RC 1.2 did not reveal this to us but just indented all personal folders below INBOX and was less prone to config errors when editing folders.

alecpl commented 2 years ago

That namespace specification does not make much sense. Especially, the shared namespace set to "".

alecpl commented 2 years ago

That being said, I'm not 100% sure this is the problem. So, if you can't change that on the imap server, we can still try to debug it further. Add this in line 87 of program/actions/settings/folders.php file rcube::console("$folder_id :: $folder :: $level");.

Granada75 commented 2 years ago

That being said, I'm not 100% sure this is the problem. So, if you can't change that on the imap server, we can still try to debug it further. Add this in line 87 of program/actions/settings/folders.php file rcube::console("$folder_id :: $folder :: $level");.

I've added that line long ago but I can't find the output, regardless of the settings in roundcube-debug-config. Where should I look for?

Granada75 commented 2 years ago

Suddenly it popped up at logs/console.log. Strange. Here's the output:

After Login:


[10-Jan-2022 11:01:17 +0000]: <pomqkkn8> array (
  0 => 'INBOX',
  1 => 'INBOX.Drafts',
  2 => 'INBOX.Sent',
  3 => 'INBOX.Junk',
  4 => 'INBOX.Trash',
  5 => 'INBOX.2008',
  6 => 'INBOX.2009',
[...]
  25 => 'user.mtesth6f.sent',
  26 => 'user.postma8h',
  27 => 'user.postma8h.DMARC',
  28 => 'user.postma8h.exchange',
  29 => 'user.postma8h.Junk',
  30 => 'user.postma8h.Sent',
  31 => 'user.postma8h.templates',
  32 => 'user.unixli6k',
[...]

After clicking on manage folders:


[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX :: INBOX :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.Drafts :: INBOX.Drafts :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.Sent :: INBOX.Sent :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.Junk :: INBOX.Junk :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.Trash :: INBOX.Trash :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.2008 :: INBOX.2008 :: 1
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> INBOX.2009 :: INBOX.2009 :: 1
[...]
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.mtesth6f.sent :: mtesth6f.sent :: 1
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.postma8h :: postma8h :: 0
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.postma8h.DMARC :: postma8h.DMARC :: 1
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.postma8h.exchange :: postma8h.exchange :: 1
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.postma8h.Junk :: postma8h.Junk :: 1
[10-Jan-2022 11:02:52 +0000]: <pomqkkn8> user.postma8h.Sent :: postma8h.Sent :: 1
[...]
Granada75 commented 2 years ago

I'm closing this issue as the problem no longer exists. Cause was the namespace setting in config.inc. In Roundcube prior to 1.4 and with the "older" classic skins this never made any problems and indented subfolders of Inbox. Now I've set all three imap_ns definitions to null and it works again. The subfolders of Inbox are no longer indented, but that's obviously never been a feature.