-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Nextcloud app doesn't show all files and directories on an external storage #468
Comments
@icewind1991 have you heard about this bug? I always thought that all external storages are transparent for the android client and all is handled by the server... |
I tried this with a local mount, e.g. mount /tmp in nextcloud and it is shown in webUI and in android app. |
I did see this same problem on my first day using nextcloud and started watching this bug. Either that or there was an update to the android app at just the time I started using it which fixed this. |
I also tried to find the root cause of the problem, and e.g. re-scanned all files using the occ-command etc. |
@j-ed I tried it now with mounting another nextcloud via https://nc.server.com/remote.php/webdav/ to the root folder. You can try our dev version https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md#dev-release |
No response within the last month, therefore closing. |
The problem still persists. I can confirm this behaviour on Android app 1.4.3 and NC Server 12.0.0. |
@MorrisJobke do you have an idea here? |
Could it be, that the request runs into a timeout? I have seen this recently (especially after playing with the brute force detection) and the request returned fine, but the Android app didn't take care of the request. @bpcurse Could you run this with the folder that doesn't work in your scenario:
|
Another info by the way, the android app shows and updates the size of the folder correctly, without listing the files. And i'm on a slow vpn connection, will try it again while inside our university network. |
More debugging info (still on the vpn connection): On Manjaro Linux: <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> real 0m30,672s The DAV path and the supplied credentials are correct. Both tested on Linux Thunar with "davs://" and on the Android Total Commander WebDAV Plugin -> working. However the WebDAV Resource itself is accessible (independent server, not the NC server): Moved PermanentlyThe document has moved here. real 0m1,985s Sorry, that I couldn't supply the information via time curl and thank you very much for looking after this! |
This indicates, that the brute force protection hit in. Have you changed recently your password? And also the error message says: "your password is wrong". Could you check the access log for the user agent "android" to see what responses are returned there. To clear the brute force problem: go to the database and drop all entries with your IP in the table "oc_bruteforce_attempts". |
Thank you for the brute-force hint. As soon as our WebDAV server creates a hidden file (.something) in the directory, the android client doesn't show any newly added files, the Linux sync client and the web interface still seem to work fine. Is this a bug in the Android client? time curl not working was my own fault. When trying the curl command I forgot to escape special characters in my password e.g. "\$". That caused the wrong password / brute-force issue. Here's my time curl response (without the hidden file): <d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/files/xxxxxxx/FS_E-Mail/</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 08 Aug 2017 14:07:16 GMT</d:getlastmodified><d:resourcetype><d:collection/></d:resourcetype><d:quota-used-bytes>25</d:quota-used-bytes><d:quota-available-bytes>-3</d:quota-available-bytes><d:getetag>"5989c5941f3d5"</d:getetag></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/files/xxxxxxx/FS_E-Mail/test_web.txt</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 08 Aug 2017 13:46:53 GMT</d:getlastmodified><d:getcontentlength>25</d:getcontentlength><d:resourcetype/><d:getetag>"19-5563e322a5b7a"</d:getetag><d:getcontenttype>text/plain</d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:quota-used-bytes/><d:quota-available-bytes/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus> And here's my time curl response (with the hidden file): <d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/files/xxxxxxx/FS_E-Mail/</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 08 Aug 2017 14:07:44 GMT</d:getlastmodified><d:resourcetype><d:collection/></d:resourcetype><d:quota-used-bytes>25</d:quota-used-bytes><d:quota-available-bytes>-3</d:quota-available-bytes><d:getetag>"5989c5b00ed0a"</d:getetag></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/files/xxxxxxx/FS_E-Mail/.hidden</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 08 Aug 2017 14:07:37 GMT</d:getlastmodified><d:getcontentlength>0</d:getcontentlength><d:resourcetype/><d:getetag>"0-5563e7c5c4291"</d:getetag><d:getcontenttype></d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:quota-used-bytes/><d:quota-available-bytes/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/files/xxxxxxx/FS_E-Mail/test_web.txt</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 08 Aug 2017 13:46:53 GMT</d:getlastmodified><d:getcontentlength>25</d:getcontentlength><d:resourcetype/><d:getetag>"19-5563e322a5b7a"</d:getetag><d:getcontenttype>text/plain</d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:quota-used-bytes/><d:quota-available-bytes/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus> |
I would say so. If the web UI and desktop client works, there seems to be an issue in the android app. @tobiasKaminsky Does that help you to reproduce the issue? |
I tried to reproduce it
|
Sorry, I know this is in contrary to my first post, but the way you did it works here, too. Don't know why it didn't then. You need to follow these steps to reproduce it:
Hope this will bring up the same issue in your NC instance/app. I Tried this again on a completely new NC 12.0.1 / App 1.4.3 (not newly installed) and enabled the "external storage" app. |
Working file:
Non working file:
We fail if the contenttype is null. |
@MorrisJobke the problem seems to be:
It seems that the file type is only guessed by the extension and therefore returns "" if not possible. |
😢 Could you report this as a bug report in the server repo with reproduction steps? |
Done in nextcloud/server#6059 |
So I did this also on our side and fixed it: |
This in now in android lib 24 and will be in upcoming version. |
@tobiasKaminsky I've just installed the Nextcloud-dev (20170817) app and can confirm that the missing content is now displayed instantly. |
Actual behaviour
The Nextcloud app doesn't show all available files and directories of a user, if these have been mounted in via a WebDAV share (the problem may exist for other external storages too). In the Nextcloud app some of the external storage links are shown as empty and a request to upload files is displayed.
Root of nextcloud user:
![20161222_nc_root_directory_content](https://cloud.githubusercontent.com/assets/2572764/21429167/ed3039ae-c85d-11e6-9948-bc6c3a4d3afd.jpg)
![20161222_nc_empty_sub-directory](https://cloud.githubusercontent.com/assets/2572764/21429175/f33b49f6-c85d-11e6-8b6a-d5c41d46bf45.jpg)
Sub-directory doesn't show any content:
All files and directories can be seen and accessed using the Nextcloud Web GUI.
![20161222_oc_webgui_content](https://cloud.githubusercontent.com/assets/2572764/21429249/4e787258-c85e-11e6-9305-066c9e9ebaac.jpg)
I did a cross-check with the iOS ownCloud app v3.5.2 and all files and directories are instantly shown in the app so that it seems to be a problem of the Nextcloud app itself.
![20161222_oc_ios_content](https://cloud.githubusercontent.com/assets/2572764/21429276/65c88682-c85e-11e6-95cd-c077f2df244d.jpg)
Expected behaviour
The Nextcloud app should show all available files and directories of a user, including files which are mounted in via a WebDAV share.
Log files
No related errors are logged in the nextcloud log file.
Environment data
Android version: 5.1.1
Stock or customized system: stock
Nextcloud app version: 1.4.0
Nextcloud: 10.0.2
PR: nextcloud/android-library#70
The text was updated successfully, but these errors were encountered: