nextcloud / ios

📱 Nextcloud iOS App
https://itunes.apple.com/us/app/nextcloud/id1125420102
GNU General Public License v3.0
1.93k stars 871 forks source link

[Bug]: Impossible to upload "large" files in folder labelled with specials characters #2947

Open carlosjfcasero opened 2 months ago

carlosjfcasero commented 2 months ago

⚠️ This issue respects the following points: ⚠️

Bug description

Before updating to version 29, everything worked right. After updating, when trying to update a "large" video through iOS app, it fails with "InvalidUriException Invalid, or could not parse URI" error message when the destination folder contains special characters (accents). Probably it's related to https://github.com/nextcloud/server/issues/42411. Small videos (5 MB more or less) uploads right. If I change the destination folder in iOS app, it works right too.

Steps to reproduce

  1. Upload camera roll in iOS app
  2. Select a folder with special characters

Expected behavior

Large videos are uploaded properly as it was before the major update to v29.

Installation method

Community Docker image

Nextcloud Server version

29

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.2

Web server

Apache (supported)

Database engine version

MariaDB

Is this bug present after an update or on a fresh install?

Upgraded to a MAJOR version (ex. 22 to 23)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

Configuration report

{
    "system": {
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "overwriteprotocol": "https",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "nextcloud.f3.ddnsfree.com",
            "recipes.f3.ddnsfree.com",
            "keeweb.f3.ddnsfree.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "29.0.1.1",
        "overwrite.cli.url": "https:\/\/nextcloud.f3.ddnsfree.com",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "loglevel": 2,
        "maintenance": false,
        "maintenance_window_start": 2,
        "enabledPreviewProviders": [
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Krita",
            "OC\\Preview\\MKV",
            "OC\\Preview\\MOV",
            "OC\\Preview\\Movie",
            "OC\\Preview\\MP4",
            "OC\\Preview\\Imaginary"
        ],
        "app_install_overwrite": [
            "keeweb"
        ],
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-aarch64-glibc",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-aarch64",
        "memories.gis_type": 1,
        "quota_include_external_storage": false,
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***"
    }
}

List of activated Apps

Enabled:
  - activity: 2.21.1
  - circles: 29.0.0-dev
  - cloud_federation_api: 1.12.0
  - cloud_py_api: 0.1.9
  - comments: 1.19.0
  - contactsinteraction: 1.10.0
  - cookbook: 0.11.0
  - dashboard: 7.9.0
  - dav: 1.30.1
  - federatedfilesharing: 1.19.0
  - federation: 1.19.0
  - files: 2.1.0
  - files_downloadlimit: 2.0.0
  - files_external: 1.21.0
  - files_pdfviewer: 2.10.0
  - files_reminders: 1.2.0
  - files_sharing: 1.21.0
  - files_trashbin: 1.19.0
  - files_versions: 1.22.0
  - firstrunwizard: 2.18.0
  - keeweb: 0.6.18
  - logreader: 2.14.0
  - lookup_server_connector: 1.17.0
  - mediadc: 0.3.8
  - memories: 7.3.1
  - nextcloud_announcements: 1.18.0
  - notifications: 2.17.0
  - oauth2: 1.17.0
  - password_policy: 1.19.0
  - photos: 2.5.0
  - privacy: 1.13.0
  - provisioning_api: 1.19.0
  - recognize: 7.0.0
  - recommendations: 2.1.0
  - related_resources: 1.4.0
  - richdocuments: 8.4.2
  - serverinfo: 1.19.0
  - settings: 1.12.0
  - sharebymail: 1.19.0
  - support: 1.12.0
  - survey_client: 1.17.0
  - systemtags: 1.19.0
  - theming: 2.4.0
  - twofactor_backupcodes: 1.18.0
  - twofactor_totp: 11.0.0-dev
  - updatenotification: 1.19.1
  - user_status: 1.9.0
  - viewer: 2.3.0
  - weather_status: 1.9.0
  - workflowengine: 2.11.0
Disabled:
  - admin_audit: 1.19.0
  - app_api: 2.6.0 (installed 2.6.0)
  - bruteforcesettings: 2.9.0
  - duplicatefinder: 1.1.9 (installed 1.1.8)
  - encryption: 2.17.0
  - files_rightclick: 0.15.1 (installed 1.6.0)
  - suspicious_login: 7.0.0
  - tasks: 0.16.0 (installed 0.16.0)
  - text: 3.10.0 (installed 3.6.0)
  - user_ldap: 1.20.0

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{"reqId":"e3CXXFb6grOtNJ6APqlX","level":3,"time":"2024-04-27T19:09:38+00:00","remoteAddr":"192.168.10.108","user":"f3","app":"webdav","method":"PUT","url":"/remote.php/dav/uploads/f3/A41B7350-4D07-45A1-BAF5-E195DC74D197/1","message":"Invalid, or could not parse URI","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/5.2.7","version":"29.0.0.19","exception":{"Exception":"Sabre\\Uri\\InvalidUriException","Message":"Invalid, or could not parse URI","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/uri/lib/functions.php","line":120,"function":"Sabre\\Uri\\parse","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":565,"function":"Sabre\\Uri\\normalize","args":[null]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/QuotaPlugin.php","line":100,"function":"calculateUri","class":"Sabre\\DAV\\Server","type":"->","args":[null]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeCreateFile","class":"OCA\\DAV\\Connector\\Sabre\\QuotaPlugin","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",["OCA\\DAV\\Upload\\UploadFolder"],false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1094,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeCreateFile",["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",["OCA\\DAV\\Upload\\UploadFolder"],false]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:PUT",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["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":374,"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":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/3rdparty/sabre/uri/lib/functions.php","Line":206,"message":"Invalid, or could not parse URI","exception":[],"CustomMessage":"Invalid, or could not parse URI"},"id":"662d4d7bb5bb3"}

Additional info

No response

Exio0 commented 1 month ago

Still not working even without folder labelled with specials characters. Is this problem on Android too?

carlosjfcasero commented 1 month ago

No, my wife has an Android and she doesn't have this problem. It's only iOS issue

p-try commented 1 week ago

I can confirm this problem. A MOV file of 80 MB does not upload into a folder that has a name which includes an umlaut character. Once I remove the umlaut it works. This only happens in the iOS app.

rds13 commented 2 days ago

I can confirm the problem too. Big files do not synchronize any more.

marinofaggiana commented 1 day ago

Thanks for report ! Will fixed in the next major version.