nextcloud / nextcloud/ios

No Files in file-tab but in Photos - only when circles-app is active

Open
#1,675 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
2.5k
Forks
1k
Avg merge
2d 18h
Merged PRs (30d)
13

Description

Steps to reproduce
  1. Create new App-Password in Web-Settings.
  2. Create new account in the app.
  3. Scan QR-Code with IPhone
  4. Go to files-tab
  5. Go to media-tab
  6. Go to more-tab and select newest
  7. Go to files-tab
Expected behaviour
  1. Files and Folders should be displayed
Actual behaviour
  1. No Data available, no folders nor files are shown
  2. Photos are available
  3. Newest files and folders are shown
  4. Affected folders and files by 6. are shown, but other files and folders/subfolders not
Screenshots

If applicable, add a screenshot showing the issue.

Logs

IOS-Log

`2021-08-22 13:46:14 Network request started: HEAD https://cloud.nextclouddomain.de/remote.php/webdav
2021-08-22 13:46:15 initialize Main
2021-08-22 13:46:15 Network request started: POST https://cloud.nextclouddomain.de/ocs/v2.php/apps/notifications/api/v2/push?format=json
2021-08-22 13:46:15 Network request started: GET https://cloud.nextclouddomain.de/ocs/v2.php/cloud/user?format=json
2021-08-22 13:46:15 Network request started: GET https://cloud.nextclouddomain.de/status.php (200)
2021-08-22 13:46:15 Network request started: PROPFIND https://cloud.nextclouddomain.de/remote.php/webdav
2021-08-22 13:46:15 Network response request: https://cloud.nextclouddomain.de/status.php, result: success({
    edition = "";
    extendedSupport = 0;
    installed = 1;
    maintenance = 0;
    needsDbUpgrade = 0;
    productname = Nextcloud;
    version = "22.0.0.11";
    versionstring = "22.0.0";
})
2021-08-22 13:46:15 Network response request: https://cloud.nextclouddomain.de/ocs/v2.php/apps/notifications/api/v2/push?format=json, result: success(XXX)
2021-08-22 13:46:15 Network response request: https://cloud.nextclouddomain.de/ocs/v2.php/cloud/user?format=json, result: success(XXX)
2021-08-22 13:46:15 Network request started: POST https://push-notifications.nextcloud.com/devices?format=json
2021-08-22 13:46:15 Network request started: REPORT https://cloud.nextclouddomain.de/remote.php/dav/files/A46...35
2021-08-22 13:46:15 Network request started: GET https://cloud.nextclouddomain.de/index.php/avatar/S...a/512
2021-08-22 13:46:15 Network request started: GET https://cloud.nextclouddomain.de/ocs/v1.php/cloud/capabilities?format=json
2021-08-22 13:46:15 Network response request: https://cloud.nextclouddomain.de/remote.php/webdav, result: failure(Alamofire.AFError.responseValidationFailed(reason: Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(code: 500)))
2021-08-22 13:46:16 Network request started: GET https://cloud.nextclouddomain.de/ocs/v2.php/apps/files_sharing/api/v1/shares?reshares=false&subfiles=false
2021-08-22 13:46:16 Network request started: GET https://cloud.nextclouddomain.de/ocs/v2.php/apps/files/api/v1/directEditing?format=json
2021-08-22 13:46:16 Network request started: GET https://cloud.nextclouddomain.de/ocs/v2.php/apps/user_status/api/v1/user_status?format=json
2021-08-22 13:46:16 Subscribed to Push Notification server & proxy successfully
2021-08-22 13:46:16 Network response request: https://cloud.nextclouddomain.de/ocs/v2.php/apps/user_status/api/v1/user_status?format=json, result: success({
    ocs =     {
        data =         {
            clearAt = "<null>";
            icon = "<null>";
            message = "<null>";
            messageId = "<null>";
            messageIsPredefined = 0;
            status = online;
            statusIsUserDefined = 0;
            userId = "A46...35";
        };
        meta =         {
            message = OK;
            status = ok;
            statuscode = 200;
        };
    };
})
2021-08-22 13:46:16 Network response request: https://cloud.nextclouddomain.de/ocs/v2.php/apps/files/api/v1/directEditing?format=json, result: success({
    ocs =     {
        data =         {
            creators =             {
                textdocument =                 {
                    editor = text;
                    extension = md;
                    id = textdocument;
                    mimetype = "text/markdown";
                    name = Textdokument;
                    templates = 0;
                };
            };
            editors =             {
                text =                 {
                    id = text;
                    mimetypes =                     (
                        "text/markdown",
                        "text/plain"
                    );
                    name = "Nextcloud Text";
                    optionalMimetypes =                     (
                    );
                    secure = 0;
                };
            };
        };
        meta =         {
            message = OK;
            status = ok;
            statuscode = 200;
        };
    };
})
2021-08-22 13:46:16 Network response request: https://cloud.nextclouddomain.de/remote.php/dav/files/A46...35, result: failure(Alamofire.AFError.responseValidationFailed(reason: Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(code: 500)))`.

Server-Log

`{"reqId":"fNenbZKLm27k5NMjSckb","level":4,"time":"2021-08-22T13:38:15+02:00","remoteAddr":"172.18.0.4","user":"A4...35","app":"webdav","method":"PROPFIND","url":"/remote.php/webdav","message":"user S...a not found","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/4.0.6","version":"22.0.0.11","exception":{"Exception":"OCA\\Circles\\Exceptions\\FederatedUserNotFoundException","Message":"user S...a not found","Code":404,"Trace":[{"file":"/var/www/html/apps/circles/lib/ShareByCircleProvider.php","line":551,"function":"getLocalFederatedUser","class":"OCA\\Circles\\Service\\FederatedUserService","type":"->","args":["S...a"]},{"file":"/var/www/html/lib/private/Share20/Manager.php","line":1360,"function":"getSharedWith","class":"OCA\\Circles\\ShareByCircleProvider","type":"->","args":["S...a",7,{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"},-1,0]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Node.php","line":321,"function":"getSharedWith","class":"OC\\Share20\\Manager","type":"->","args":["S...a",7,{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"},-1]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesPlugin.php","line":371,"function":"getNoteFromShare","class":"OCA\\DAV\\Connector\\Sabre\\Node","type":"->","args":["S...a"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php","line":95,"function":"OCA\\DAV\\Connector\\Sabre\\{closure}","class":"OCA\\DAV\\Connector\\Sabre\\FilesPlugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesPlugin.php","line":373,"function":"handle","class":"Sabre\\DAV\\PropFind","type":"->","args":["{http://nextcloud.org/ns}note",{"__class__":"Closure"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"handleGetProperties","class":"OCA\\DAV\\Connector\\Sabre\\FilesPlugin","type":"->","args":[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1052,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["propFind",[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":984,"function":"getPropertiesByNode","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1661,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["",["{DAV:}getlastmodified","{DAV:}getetag","{DAV:}getcontenttype","{DAV:}resourcetype","{DAV:}quota-available-bytes","And 22 more entries, set log level to debug to see all entries"],0]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1646,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[{"elementMap":[],"contextUri":"/remote.php/webdav/","namespaceMap":{"DAV:":"d","http://sabredav.org/ns":"s","http://owncloud.org/ns":"oc","http://nextcloud.org/ns":"nc"},"classMap":[],"__class__":"Sabre\\Xml\\Writer"},{"__class__":"Generator"},false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Generator"},false]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v1/webdav.php","line":83,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":166,"args":["/var/www/html/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/html/apps/circles/lib/Service/FederatedUserService.php","Line":462,"CustomMessage":"--"},"id":"61223c7a98e61"}

{"reqId":"gZgjQ3LGviJvJKnV0phO","level":4,"time":"2021-08-22T13:38:16+02:00","remoteAddr":"172.18.0.4","user":"A4...35","app":"webdav","method":"REPORT","url":"/remote.php/dav/files/A4...35","message":"user S...a not found","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/4.0.6","version":"22.0.0.11","exception":{"Exception":"OCA\\Circles\\Exceptions\\FederatedUserNotFoundException","Message":"user S...a not found","Code":404,"Trace":[{"file":"/var/www/html/apps/circles/lib/ShareByCircleProvider.php","line":551,"function":"getLocalFederatedUser","class":"OCA\\Circles\\Service\\FederatedUserService","type":"->","args":["S...a"]},{"file":"/var/www/html/lib/private/Share20/Manager.php","line":1360,"function":"getSharedWith","class":"OCA\\Circles\\ShareByCircleProvider","type":"->","args":["S...a",7,{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"},-1,0]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Node.php","line":321,"function":"getSharedWith","class":"OC\\Share20\\Manager","type":"->","args":["S...a",7,{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"},-1]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesPlugin.php","line":371,"function":"getNoteFromShare","class":"OCA\\DAV\\Connector\\Sabre\\Node","type":"->","args":["S...a"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php","line":95,"function":"OCA\\DAV\\Connector\\Sabre\\{closure}","class":"OCA\\DAV\\Connector\\Sabre\\FilesPlugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesPlugin.php","line":373,"function":"handle","class":"Sabre\\DAV\\PropFind","type":"->","args":["{http://nextcloud.org/ns}note",{"__class__":"Closure"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"handleGetProperties","class":"OCA\\DAV\\Connector\\Sabre\\FilesPlugin","type":"->","args":[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1052,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["propFind",[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php","line":383,"function":"getPropertiesByNode","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\DAV\\PropFind"},{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php","line":221,"function":"prepareResponses","class":"OCA\\DAV\\Connector\\Sabre\\FilesReportPlugin","type":"->","args":["/files/A4...35",["{DAV:}getlastmodified","{DAV:}getetag","{DAV:}getcontenttype","{DAV:}resourcetype","{DAV:}quota-available-bytes","And 22 more entries, set log level to debug to see all entries"],[{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"onReport","class":"OCA\\DAV\\Connector\\Sabre\\FilesReportPlugin","type":"->","args":["{http://owncloud.org/ns}filter-files",[{"name":"{DAV:}prop","value":[{"name":"{DAV:}getlastmodified","value":null,"attributes":[]},{"name":"{DAV:}getetag","value":null,"attributes":[]},{"name":"{DAV:}getcontenttype","value":null,"attributes":[]},{"name":"{DAV:}resourcetype","value":{"__class__":"Sabre\\DAV\\Xml\\Property\\ResourceType"},"attributes":[]},{"name":"{DAV:}quota-available-bytes","value":null,"attributes":[]},"And 22 more entries, set log level to debug to see all entries"],"attributes":[]},{"name":"{http://owncloud.org/ns}filter-rules","value":[{"name":"{http://owncloud.org/ns}favorite","value":"1","attributes":[]}],"attributes":[]}],"files/A4...35"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":685,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["report",["{http://owncloud.org/ns}filter-files",[{"name":"{DAV:}prop","value":[{"name":"{DAV:}getlastmodified","value":null,"attributes":[]},{"name":"{DAV:}getetag","value":null,"attributes":[]},{"name":"{DAV:}getcontenttype","value":null,"attributes":[]},{"name":"{DAV:}resourcetype","value":{"__class__":"Sabre\\DAV\\Xml\\Property\\ResourceType"},"attributes":[]},{"name":"{DAV:}quota-available-bytes","value":null,"attributes":[]},"And 22 more entries, set log level to debug to see all entries"],"attributes":[]},{"name":"{http://owncloud.org/ns}filter-rules","value":[{"name":"{http://owncloud.org/ns}favorite","value":"1","attributes":[]}],"attributes":[]}],"files/A4...35"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpReport","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:REPORT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":332,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":166,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/circles/lib/Service/FederatedUserService.php","Line":462,"CustomMessage":"--"},"id":"61223c7a98c53"}`
Reasoning or why should it be changed/implemented?

There might be a conflict with circles-app. After deaktivation of circles all files are shown again in iOS-App.
The question is, if it is an issue of iOS or circles or both.

Environment data

iOS version: iOS 14.7.1

Nextcloud iOS app version: see More > Settings
4.0.6.0
Server operating system:
Ubuntu 20.04 LTS
NC Docker image
Web server:
Apache
Reverse Proxy: Traefik

Database:
mariaDB - dockerimage
PHP version:
7.4.21

Nextcloud version:
22.0.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the iOS file-tab flow and inspect the PROPFIND /remote.php/webdav and REPORT /remote.php/dav/files requests. The server trace points to apps/circles/lib/ShareByCircleProvider.php:551 and FederatedUserService.php:462; done means the files and folders load without the WebDAV requests returning HTTP 500.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, swift
Domain
api, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.