Download Button missing for Folders

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.3.2
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 20.04.5 LTS
  • Web server and version (e.g, Apache 2.4.25):
    • Apache/2.4.41
  • PHP version (e.g, 8.3):
    • PHP 8.2
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • Post Upgrade to version 32
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Bare Metal
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

  • The Download option for folders (for old ones, created pre-upgrade) was not appearing. However, if we create a new folder, the option is available.

Nextcloud

{“reqId”:“A8Gk7gL78endofBGjlBJ”,“level”:3,“time”:“2025-12-16T10:00:43+05:30”,“remoteAddr”:“10.20.4.25”,“user”:“sharad.jash”,“app”:“no app in context”,“method”:“PROPFIND”,“url”:“/remote.php/dav/files/sharad.jash/Documents/PC-Docs”,“message”:“Could not resolve OCP\\ILogger! Class can not be instantiated”,“userAgent”:“Mozilla/5.0 (Windows) mirall/3.15.2 (build 20241216) (Nextcloud, windows-10.0.19044 ClientArchitecture: x86_64 OsArchitecture: x86_64)”,“version”:“32.0.3.2”,“clientReqId”:“db03a813-09b6-46bb-97c1-83c19bdf313b”,“exception”:{“Exception”:“OCP\\AppFramework\\QueryException”,“Message”:“Could not resolve OCP\\ILogger! Class can not be instantiated”,“Code”:0,“Trace”:\[{“function”:“OC\\AppFramework\\Utility\\{closure}”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”,“args”:\[“\*\*\* sensitive parameters replaced ***“\]},{“file”:”/web/service/lib/private/AppFramework/Utility/SimpleContainer.php",“line”:77,“function”:“array_map”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:72,“function”:“buildClassConstructorParameters”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:122,“function”:“buildClass”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:140,“function”:“resolve”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:352,“function”:“query”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:324,“function”:“queryNoFallback”,“class”:“OC\\AppFramework\\DependencyInjection\\DIContainer”,“type”:“->”},{“file”:“/web/service/apps/ransomware_protection/lib/AppInfo/Application.php”,“line”:70,“function”:“query”,“class”:“OC\\AppFramework\\DependencyInjection\\DIContainer”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Mount/MountPoint.php”,“line”:240,“function”:“addStorageWrapperCallback”,“class”:“OCA\\RansomwareProtection\\AppInfo\\Application”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Storage/StorageFactory.php”,“line”:29,“function”:“wrapStorage”,“class”:“OC\\Files\\Mount\\MountPoint”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Filesystem.php”,“line”:183,“function”:“addStorageWrapper”,“class”:“OC\\Files\\Storage\\StorageFactory”,“type”:“->”},{“file”:“/web/service/apps/ransomware_protection/lib/AppInfo/Application.php”,“line”:58,“function”:“addStorageWrapper”,“class”:“OC\\Files\\Filesystem”,“type”:“::”},{“file”:“/web/service/lib/private/legacy/OC_Hook.php”,“line”:85,“function”:“addStorageWrapper”,“class”:“OCA\\RansomwareProtection\\AppInfo\\Application”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:233,“function”:“emit”,“class”:“OC_Hook”,“type”:“::”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:313,“function”:“oneTimeUserSetup”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:204,“function”:“setupForUserWith”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:390,“function”:“setupForUser”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Mount/Manager.php”,“line”:75,“function”:“setupForPath”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/View.php”,“line”:1420,“function”:“find”,“class”:“OC\\Files\\Mount\\Manager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Node/Root.php”,“line”:178,“function”:“getFileInfo”,“class”:“OC\\Files\\View”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Node/LazyUserFolder.php”,“line”:32,“function”:“get”,“class”:“OC\\Files\\Node\\Root”,“type”:“->”},{“function”:“OC\\Files\\Node\\{closure}”,“class”:“OC\\Files\\Node\\LazyUserFolder”,“type”:“->”,“args”:\["*** sensitive parameters replaced ***“\]},{“file”:”/web/service/lib/private/Files/Node/LazyFolder.php",“line”:50,“function”:“call_user_func”},{“file”:“/web/service/lib/private/Files/Node/LazyFolder.php”,“line”:64,“function”:“getRealFolder”,“class”:“OC\\Files\\Node\\LazyFolder”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Node/LazyFolder.php”,“line”:173,“function”:“\__call”,“class”:“OC\\Files\\Node\\LazyFolder”,“type”:“->”},{“file”:“/web/service/apps/dav/lib/Connector/Sabre/Directory.php”,“line”:177,“function”:“getStorage”,“class”:“OC\\Files\\Node\\LazyFolder”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/Tree.php”,“line”:95,“function”:“getChild”,“class”:“OCA\\DAV\\Connector\\Sabre\\Directory”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/Server.php”,“line”:971,“function”:“getNodeForPath”,“class”:“Sabre\\DAV\\Tree”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/Server.php”,“line”:1664,“function”:“getPropertiesIteratorForPath”,“class”:“Sabre\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/Server.php”,“line”:1649,“function”:“writeMultiStatus”,“class”:“Sabre\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/CorePlugin.php”,“line”:346,“function”:“generateMultiStatus”,“class”:“Sabre\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/event/lib/WildcardEmitterTrait.php”,“line”:89,“function”:“httpPropFind”,“class”:“Sabre\\DAV\\CorePlugin”,“type”:“->”},{“file”:“/web/service/3rdparty/sabre/dav/lib/DAV/Server.php”,“line”:472,“function”:“emit”,“class”:“Sabre\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/apps/dav/lib/Connector/Sabre/Server.php”,“line”:211,“function”:“invokeMethod”,“class”:“Sabre\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/apps/dav/lib/Server.php”,“line”:424,“function”:“start”,“class”:“OCA\\DAV\\Connector\\Sabre\\Server”,“type”:“->”},{“file”:“/web/service/apps/dav/appinfo/v2/remote.php”,“line”:22,“function”:“exec”,“class”:“OCA\\DAV\\Server”,“type”:“->”},{“file”:“/web/service/remote.php”,“line”:151,“args”:\[“/web/service/apps/dav/appinfo/v2/remote.php”\],“function”:“require_once”}\],“File”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“Line”:108,“Previous”:{“Exception”:“OCP\\AppFramework\\QueryException”,“Message”:“Could not resolve OCP\\ILogger! Class can not be instantiated”,“Code”:0,“Trace”:\[{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:140,“function”:“resolve”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/ServerContainer.php”,“line”:154,“function”:“query”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:320,“function”:“query”,“class”:“OC\\ServerContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:90,“function”:“query”,“class”:“OC\\AppFramework\\DependencyInjection\\DIContainer”,“type”:“->”},{“function”:“OC\\AppFramework\\Utility\\{closure}”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”,“args”:\["*** sensitive parameters replaced \*\*\*”\]},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:77,“function”:“array_map”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:72,“function”:“buildClassConstructorParameters”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:122,“function”:“buildClass”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:140,“function”:“resolve”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:352,“function”:“query”,“class”:“OC\\AppFramework\\Utility\\SimpleContainer”,“type”:“->”},{“file”:“/web/service/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:324,“function”:“queryNoFallback”,“class”:“OC\\AppFramework\\DependencyInjection\\DIContainer”,“type”:“->”},{“file”:“/web/service/apps/ransomware_protection/lib/AppInfo/Application.php”,“line”:70,“function”:“query”,“class”:“OC\\AppFramework\\DependencyInjection\\DIContainer”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Mount/MountPoint.php”,“line”:240,“function”:“addStorageWrapperCallback”,“class”:“OCA\\RansomwareProtection\\AppInfo\\Application”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Storage/StorageFactory.php”,“line”:29,“function”:“wrapStorage”,“class”:“OC\\Files\\Mount\\MountPoint”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Filesystem.php”,“line”:183,“function”:“addStorageWrapper”,“class”:“OC\\Files\\Storage\\StorageFactory”,“type”:“->”},{“file”:“/web/service/apps/ransomware_protection/lib/AppInfo/Application.php”,“line”:58,“function”:“addStorageWrapper”,“class”:“OC\\Files\\Filesystem”,“type”:“::”},{“file”:“/web/service/lib/private/legacy/OC_Hook.php”,“line”:85,“function”:“addStorageWrapper”,“class”:“OCA\\RansomwareProtection\\AppInfo\\Application”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:233,“function”:“emit”,“class”:“OC_Hook”,“type”:“::”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:313,“function”:“oneTimeUserSetup”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:204,“function”:“setupForUserWith”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/SetupManager.php”,“line”:390,“function”:“setupForUser”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/Mount/Manager.php”,“line”:75,“function”:“setupForPath”,“class”:“OC\\Files\\SetupManager”,“type”:“->”},{“file”:“/web/service/lib/private/Files/View.php”,“line”:1420,"

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

PASTE HERE{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "eva.ir.in",
            "ecl.ir.in"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "overwrite.cli.url": "https:\/\/ecloud.ir.in",
        "version": "32.0.3.2",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "objectstore": {
            "class": "\\OC\\Files\\ObjectStore\\S3",
            "arguments": {
                "bucket": "vaultdata",
                "autocreate": true,
                "key": "***REMOVED SENSITIVE VALUE***",
                "secret": "***REMOVED SENSITIVE VALUE***",
                "hostname": "s3-pdc.ir.in",
                "port": 443,
                "use_ssl": true,
                "region": "optional",
                "use_path_style": true
            }
        },
        "maintenance": false,
        "bulkupload.enabled": "false",
        "filelocking.enabled": true,
        "knowledgebaseenabled": false,
        "logtimezone": "Asia\/Kolkata",
        "log_rotate_size": 52428800,
        "loglevel": 3,
        "lost_password_link": "https:\/\/adauth.ipr.res.in\/forget-password",
        "app_install_overwrite": [
            "ojsxc",
            "ldapcontacts",
            "w2g2",
            "groupfolders",
            "ransomware_protection",
            "files_lock",
            "files_retention",
            "admin_notifications"
        ],
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "auth.webauthn.enabled": false,
        "htaccess.RewriteBase": "\/",
        "onlyoffice": {
            "verify_peer_off": true
        },
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "auth.bruteforce.protection.enabled": true,
        "session_lifetime": 7200,
        "session_keepalive": false,
        "auto_logout": true,
        "remember_login_cookie_lifetime": 1296000,
        "allow_local_remote_servers": true,
        "forbidden_filename_basenames": [
            "con",
            "prn",
            "aux",
            "nul",
            "com0",
            "com1",
            "com2",
            "com3",
            "com4",
            "com5",
            "com6",
            "com7",
            "com8",
            "com9",
            "com\u00b9",
            "com\u00b2",
            "com\u00b3",
            "lpt0",
            "lpt1",
            "lpt2",
            "lpt3",
            "lpt4",
            "lpt5",
            "lpt6",
            "lpt7",
            "lpt8",
            "lpt9",
            "lpt\u00b9",
            "lpt\u00b2",
            "lpt\u00b3"
        ],
        "forbidden_filename_characters": [
            "<",
            ">",
            ":",
            "\"",
            "|",
            "?",
            "*",
            "\\",
            "\/"
        ],
        "forbidden_filename_extensions": [
            " ",
            ".",
            ".filepart",
            ".part"
        ],
        "defaultapp": "",
        "files.chunked_upload.max_size": 40971520000
    }
}

Apps

The output of occ app:list (if possible).

Enabled:

  • activity: 5.0.0-dev.0
  • admin_audit: 1.22.0
  • bruteforcesettings: 5.0.0-dev.0
  • calendar_resource_management: 0.10.0
  • circles: 32.0.0
  • cloud_federation_api: 1.16.0
  • comments: 1.22.0
  • contacts: 8.1.1
  • dashboard: 7.12.0
  • dav: 1.34.2
  • federatedfilesharing: 1.22.0
  • federation: 1.22.0
  • files: 2.4.0
  • files_accesscontrol: 3.0.2
  • files_downloadlimit: 5.0.0-dev.0
  • files_external: 1.24.0
  • files_pdfviewer: 5.0.0-dev.0
  • files_retention: 3.0.0
  • files_sharing: 1.24.1
  • files_trashbin: 1.22.0
  • files_versions: 1.25.0
  • firstrunwizard: 5.0.0-dev.0
  • forms: 5.2.3
  • groupfolders: 20.1.6
  • impersonate: 3.0.0
  • logreader: 5.0.0-dev.0
  • lookup_server_connector: 1.20.0
  • nextcloud_announcements: 4.0.0-dev.0
  • notes: 4.12.4
  • notifications: 5.0.0-dev.0
  • oauth2: 1.20.0
  • ownershiptransfer: 1.3.0
  • password_policy: 4.0.0-dev.0
  • photos: 5.0.0-dev.1
  • profile: 1.1.0
  • provisioning_api: 1.22.0
  • ransomware_protection: 1.14.0
  • recommendations: 5.0.0-dev.0
  • related_resources: 3.0.0-dev.0
  • richdocuments: 9.0.2
  • serverinfo: 4.0.0-dev.0
  • settings: 1.15.1
  • sharebymail: 1.22.0
  • survey_client: 4.0.0-dev.0
  • systemtags: 1.22.0
  • text: 6.0.1
  • theming: 2.7.0
  • theming_customcss: 1.19.0
  • twofactor_backupcodes: 1.21.0
  • updatenotification: 1.22.0
  • user_ldap: 1.23.0
  • viewer: 5.0.0-dev.0
  • weather_status: 1.12.0
  • webhook_listeners: 1.3.0
  • workflowengine: 2.14.0

Tips for increasing the likelihood of a response

In my instance the option exists for folders existing since NC19 so it’s not a general issue. I would recommend you start with client side - test another browser (incognito mode) delete cache, cookies etc. If this doesn’t help continue with bigger caliber like occ files:scan if still no luck - dig deep into browser console log and Nextcloud app on debug level.

Hard luck…the occ files:scan doesn’t work.

I’m looking into the console logs but unable to digout anything specific.

Do you have all the required php modules, especially those for zipping?