Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sub-sub-folders should be expandable and hyperlinks from subfolders which are collapsed are clickable #794

Closed
myzinsky opened this issue Feb 21, 2018 · 10 comments · Fixed by #3147

Comments

@myzinsky
Copy link

myzinsky commented Feb 21, 2018

Steps to reproduce

  1. Open Mail app

Expected behaviour

All subfodlers and subsubfolders should be expandable.

Actual behaviour

There are hyperlinks from subfolders which are collapsed that are clickable. Furthermore sub and subsub folders are not expandable they are shown as foo.bar or foo2.bar2.foo3 etc.

Mail app

Mail app version: (see apps admin page)
0.7.10

Mailserver or service:
Courier

Number of accounts:
1

Server configuration

Operating system:
Debain
Web server:
Apache
Database:
Mysql
PHP version:
5
Version: (see admin page)

Updated from an older version or fresh install:
Updated
List of activated apps:
Mail, Contacts, Calendar

Client configuration

Browser:
Safari, Chome
Operating system:
Mac, Windows

Browser log
``` JQMIGRATE: Migrate is installed, version 1.4.0 build.js?v=bab260c7-4:91 Starting Mail … DevTools failed to parse SourceMap: https://XXX/core/vendor/purify.min.js.map build.js?v=bab260c7-4:24 GET https://XXX/index.php/apps/mail/api/avatars/url/SupportCenter%40ieee.org 404 (Not Found) send @ build.js?v=bab260c7-4:24 ajax @ build.js?v=bab260c7-4:24 e @ build.js?v=bab260c7-4:162 n @ build.js?v=bab260c7-4:24 l._callHandler @ build.js?v=bab260c7-4:57 request @ build.js?v=bab260c7-4:57 _fetchAvatar @ build.js?v=bab260c7-4:138 onRender @ build.js?v=bab260c7-4:138 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 addChildView @ build.js?v=bab260c7-4:35 _addChild @ build.js?v=bab260c7-4:35 x.each.x.forEach @ build.js?v=bab260c7-4:24 _showCollection @ build.js?v=bab260c7-4:35 _renderChildren @ build.js?v=bab260c7-4:35 renderChildren @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 onRender @ build.js?v=bab260c7-4:101 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 showFolderContent @ build.js?v=bab260c7-4:98 y @ build.js?v=bab260c7-4:35 v @ build.js?v=bab260c7-4:35 d @ build.js?v=bab260c7-4:35 c.trigger @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 Promise resolved (async) i @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:24 setTimeout (async) x.delay @ build.js?v=bab260c7-4:24 O @ build.js?v=bab260c7-4:24 n @ build.js?v=bab260c7-4:24 (anonymous) @ build.js?v=bab260c7-4:57 s @ build.js?v=bab260c7-4:57 showFolder @ build.js?v=bab260c7-4:162 default @ build.js?v=bab260c7-4:162 execute @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 x.some.x.any @ build.js?v=bab260c7-4:24 loadUrl @ build.js?v=bab260c7-4:35 start @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 build.js?v=bab260c7-4:24 GET https://XXX/index.php/apps/mail/api/avatars/url/pfarramt.waldmohr%40evkirchepfalz.de 404 (Not Found) send @ build.js?v=bab260c7-4:24 ajax @ build.js?v=bab260c7-4:24 e @ build.js?v=bab260c7-4:162 n @ build.js?v=bab260c7-4:24 l._callHandler @ build.js?v=bab260c7-4:57 request @ build.js?v=bab260c7-4:57 _fetchAvatar @ build.js?v=bab260c7-4:138 onRender @ build.js?v=bab260c7-4:138 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 addChildView @ build.js?v=bab260c7-4:35 _addChild @ build.js?v=bab260c7-4:35 x.each.x.forEach @ build.js?v=bab260c7-4:24 _showCollection @ build.js?v=bab260c7-4:35 _renderChildren @ build.js?v=bab260c7-4:35 renderChildren @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 onRender @ build.js?v=bab260c7-4:101 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 showFolderContent @ build.js?v=bab260c7-4:98 y @ build.js?v=bab260c7-4:35 v @ build.js?v=bab260c7-4:35 d @ build.js?v=bab260c7-4:35 c.trigger @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 Promise resolved (async) i @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:24 setTimeout (async) x.delay @ build.js?v=bab260c7-4:24 O @ build.js?v=bab260c7-4:24 n @ build.js?v=bab260c7-4:24 (anonymous) @ build.js?v=bab260c7-4:57 s @ build.js?v=bab260c7-4:57 showFolder @ build.js?v=bab260c7-4:162 default @ build.js?v=bab260c7-4:162 execute @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 x.some.x.any @ build.js?v=bab260c7-4:24 loadUrl @ build.js?v=bab260c7-4:35 start @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 build.js?v=bab260c7-4:24 GET https://XXX/index.php/apps/mail/api/avatars/url/mario.barbareschi%40unina.it 404 (Not Found) send @ build.js?v=bab260c7-4:24 ajax @ build.js?v=bab260c7-4:24 e @ build.js?v=bab260c7-4:162 n @ build.js?v=bab260c7-4:24 l._callHandler @ build.js?v=bab260c7-4:57 request @ build.js?v=bab260c7-4:57 _fetchAvatar @ build.js?v=bab260c7-4:138 onRender @ build.js?v=bab260c7-4:138 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 addChildView @ build.js?v=bab260c7-4:35 _addChild @ build.js?v=bab260c7-4:35 x.each.x.forEach @ build.js?v=bab260c7-4:24 _showCollection @ build.js?v=bab260c7-4:35 _renderChildren @ build.js?v=bab260c7-4:35 renderChildren @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 onRender @ build.js?v=bab260c7-4:101 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 showFolderContent @ build.js?v=bab260c7-4:98 y @ build.js?v=bab260c7-4:35 v @ build.js?v=bab260c7-4:35 d @ build.js?v=bab260c7-4:35 c.trigger @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 Promise resolved (async) i @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:24 setTimeout (async) x.delay @ build.js?v=bab260c7-4:24 O @ build.js?v=bab260c7-4:24 n @ build.js?v=bab260c7-4:24 (anonymous) @ build.js?v=bab260c7-4:57 s @ build.js?v=bab260c7-4:57 showFolder @ build.js?v=bab260c7-4:162 default @ build.js?v=bab260c7-4:162 execute @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 x.some.x.any @ build.js?v=bab260c7-4:24 loadUrl @ build.js?v=bab260c7-4:35 start @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 build.js?v=bab260c7-4:24 GET https://XXX/index.php/apps/mail/api/avatars/url/iscas%40epapers.org 404 (Not Found) send @ build.js?v=bab260c7-4:24 ajax @ build.js?v=bab260c7-4:24 e @ build.js?v=bab260c7-4:162 n @ build.js?v=bab260c7-4:24 l._callHandler @ build.js?v=bab260c7-4:57 request @ build.js?v=bab260c7-4:57 _fetchAvatar @ build.js?v=bab260c7-4:138 onRender @ build.js?v=bab260c7-4:138 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 addChildView @ build.js?v=bab260c7-4:35 _addChild @ build.js?v=bab260c7-4:35 x.each.x.forEach @ build.js?v=bab260c7-4:24 _showCollection @ build.js?v=bab260c7-4:35 _renderChildren @ build.js?v=bab260c7-4:35 renderChildren @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 onRender @ build.js?v=bab260c7-4:101 i @ build.js?v=bab260c7-4:35 triggerMethod @ build.js?v=bab260c7-4:35 render @ build.js?v=bab260c7-4:35 N @ build.js?v=bab260c7-4:35 show @ build.js?v=bab260c7-4:35 showChildView @ build.js?v=bab260c7-4:35 showFolderContent @ build.js?v=bab260c7-4:98 y @ build.js?v=bab260c7-4:35 v @ build.js?v=bab260c7-4:35 d @ build.js?v=bab260c7-4:35 c.trigger @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 Promise resolved (async) i @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:57 (anonymous) @ build.js?v=bab260c7-4:24 setTimeout (async) x.delay @ build.js?v=bab260c7-4:24 O @ build.js?v=bab260c7-4:24 n @ build.js?v=bab260c7-4:24 (anonymous) @ build.js?v=bab260c7-4:57 s @ build.js?v=bab260c7-4:57 showFolder @ build.js?v=bab260c7-4:162 default @ build.js?v=bab260c7-4:162 execute @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:35 x.some.x.any @ build.js?v=bab260c7-4:24 loadUrl @ build.js?v=bab260c7-4:35 start @ build.js?v=bab260c7-4:35 (anonymous) @ build.js?v=bab260c7-4:57 ```

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@ChristophWurst
Copy link
Member

Please post a screenshot of how the folder structure looks in the mail app versus how it looks in other apps.

@myzinsky
Copy link
Author

Sorry I have to correct, there are no folders missing! I was confused I will explain why in the following.

This is the state: at the bottom, where I marked it with the red dot, there are clickable links leading to the folders which are currently collapsed! Seams that there is something wrong with the CSS/JS behind collapsing and uncollapsing.

bildschirmfoto 2018-02-21 um 10 31 39

This happens when I unfold a folder:

bildschirmfoto 2018-02-21 um 10 35 03

@ChristophWurst
Copy link
Member

they are shown as foo.bar or foo2.bar2.foo3

Confirmed. This should actually not happen, so this is definitely something we have to look into. Note that we deliberately only show subfolders of the first level and not deeper. So bar2.foo3 inside foo2 would be expected.

@ChristophWurst ChristophWurst added this to the 0.7.11 milestone Feb 21, 2018
@ChristophWurst ChristophWurst self-assigned this Feb 21, 2018
@myzinsky myzinsky changed the title Folders are not visible Sub-sub-folders should be expandable and hyperlinks from subfolders which are collapsed are clickable Feb 21, 2018
@myzinsky
Copy link
Author

Note that we deliberately only show subfolders of the first level and not deeper. So bar2.foo3 inside foo2 would be expected.

But this is on the roadmap too?

@ChristophWurst
Copy link
Member

No. Because it was decided to now show these as full tree but partly flattened tree.

@ChristophWurst ChristophWurst removed this from the 0.8.0 milestone Mar 28, 2018
@ChristophWurst ChristophWurst removed their assignment Apr 3, 2018
@brrrrrrrt
Copy link

looks quite broken, especially interesting is what happens to the folder "Archive". it gets translated to "Archiv" with a nice icon, but the all the subfolders are all shown as INBOX.Archive.20XX

bildschirmfoto von 2018-06-13 00-07-04

this is how roundcube renders the structure:
bildschirmfoto von 2018-06-13 00-08-18

@ChristophWurst
Copy link
Member

@brrrrrrrt your issue is unrelated but should be reported as a separate issue since that should have been fixed by #782 (assuming you're using the latest version of this app).

@brrrrrrrt
Copy link

here we go #947

@MexHigh
Copy link

MexHigh commented Jun 18, 2020

Any progress on that? I still have the problem for my Archives.

@dehnhardt
Copy link
Collaborator

See: #3147

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants