Skip to content

[Bug]: ObjectStorePreviewStorage returns size 0 with OpenStack Swift, causing “Unable to write preview file” #63801

Description

@gloewl

⚠️ This issue respects the following points: ⚠️

  • This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
  • This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
  • I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
  • I agree to follow Nextcloud's Code of Conduct.
  • I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.

Bug description

Environment:

  • Nextcloud 34.0.3
  • Primary object storage: OpenStack Swift
  • Preview storage: ObjectStorePreviewStorage

Symptom:

  • Preview generation uploads the generated image to Swift, but subsequently throws: RuntimeException: Unable to write preview file
  • The preview is not registered in oc_previews, so Nextcloud retries generation repeatedly.

Steps to reproduce

** Root cause:**
ObjectStorePreviewStorage::writePreview() wraps the preview stream using CountWrapper. The callback that updates $size is only invoked when the wrapper stream is closed.
The Swift writeObject() implementation consumes the supplied stream but does not close it. Therefore $size is still zero when writePreview() returns, even though the object upload succeeded.

Affected source:
https://github.com/nextcloud/server/blob/stable34/lib/private/Preview/Storage/ObjectStorePreviewStorage.php

Working fix:

try {
    $store->writeObject($urn, $countStream);
} catch (\Exception $exception) {
    throw new NotPermittedException(
        'Unable to save preview to object store',
        previous: $exception
    );
} finally {
    if (is_resource($countStream)) {
        fclose($countStream);
    }
}

return $size;

Closing the wrapper triggers the CountWrapper callback before $size is returned. The finally block also ensures that the stream is closed when the object-store implementation throws an exception.

Verification:

The previously failing occ preview:generate command succeeds.
A corresponding row is inserted into oc_previews.
Repeated preview generation succeeds.
No further “Unable to write preview file” errors occur.

Expected behavior

The preview is registered in oc_previews, so Nextcloud does not retriy generation repeatedly.

Nextcloud Server version

34

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.5

Web server

Apache (supported)

Database engine version

MariaDB

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

Updated from a MINOR version (ex. 32.0.1 to 32.0.2)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
    "system": {
        "serverid": 1,
        "maintenance_window_start": 1,
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\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
            }
        ],
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "objectstore": {
            "class": "OC\\Files\\ObjectStore\\Swift",
            "arguments": {
                "autocreate": true,
                "user": {
                    "name": "***REMOVED SENSITIVE VALUE***",
                    "password": "***REMOVED SENSITIVE VALUE***",
                    "domain": {
                        "name": "Default"
                    }
                },
                "scope": {
                    "project": {
                        "name": "PCP-W7GRJFG",
                        "domain": {
                            "name": "Default"
                        }
                    }
                },
                "serviceName": "swift",
                "region": "dc3-a",
                "url": "https:\/\/api.pub1.infomaniak.cloud\/identity\/v3",
                "bucket": "nextcloud"
            }
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "nc.gegesloewl.com",
        "overwriteprotocol": "https",
        "default_phone_region": "CH",
        "upgrade.disable-web": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "nc.gegesloewl.com",
            "188.213.128.96"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "34.0.3.2",
        "overwrite.cli.url": "https:\/\/nc.gegesloewl.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": 3,
        "maintainance": {
            "true": ""
        },
        "maintainance:mode": {
            "on": ""
        },
        "maintenance": false,
        "updater.release.channel": "stable",
        "theme": "",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": [
            "admin",
            "user"
        ],
        "app_install_overwrite": [],
        "log_rotate_size": 52428800
    },
    "apps": {
        "activity": {
            "enabled": "yes",
            "installed_version": "7.0.0",
            "types": "filesystem"
        },
        "app_api": {
            "enabled": "no",
            "installed_version": "34.0.0",
            "types": ""
        },
        "appstore": {
            "enabled": "yes",
            "installed_version": "1.0.0",
            "types": ""
        },
        "backgroundjob": {
            "lastjob": "119239589184413697"
        },
        "bruteForce": {
            "whitelist_1": "84.226.90.114\/1",
            "whitelist_2": "172.25.0.1\/1"
        },
        "bruteforcesettings": {
            "enabled": "yes",
            "installed_version": "7.0.0",
            "types": ""
        },
        "calendar": {
            "enabled": "yes",
            "installed_version": "6.5.4",
            "types": ""
        },
        "circles": {
            "enabled": "yes",
            "installed_version": "34.0.0",
            "loopback_tmp_scheme": "https",
            "maintenance_run": "0",
            "maintenance_update": "{\"3\":1788089418,\"2\":1788090017,\"1\":1788090317}",
            "migration_22": "1",
            "migration_run": "0",
            "types": "filesystem,dav",
            "remove_share_tokens_done": true
        },
        "cloud_federation_api": {
            "enabled": "yes",
            "installed_version": "1.18.0",
            "types": "filesystem"
        },
        "comments": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "logging"
        },
        "contacts": {
            "enabled": "yes",
            "installed_version": "8.7.7",
            "types": "dav"
        },
        "contactsinteraction": {
            "enabled": "yes",
            "installed_version": "1.15.0",
            "types": "dav"
        },
        "core": {
            "backgroundjobs_mode": "cron",
            "emailTestSuccessful": "1",
            "group.sortBy": "2",
            "installedat": "1734011243.7557",
            "lastcron": 1788090317,
            "lastupdateResult": "[]",
            "lastupdatedat": 1788086556,
            "metadataGenerationDone": true,
            "moveavatarsdone": "yes",
            "previewMovedDone": true,
            "previewsCleanedUp": "1",
            "public_files": "files_sharing\/public.php",
            "vendor": "nextcloud",
            "files_metadata": {
                "photos-original_date_time": {
                    "value": null,
                    "type": "int",
                    "etag": "",
                    "indexed": true,
                    "editPermission": 0
                },
                "photos-size": {
                    "value": null,
                    "type": "array",
                    "etag": "",
                    "indexed": false,
                    "editPermission": 0
                },
                "photos-exif": {
                    "value": null,
                    "type": "array",
                    "etag": "",
                    "indexed": false,
                    "editPermission": 0
                },
                "photos-ifd0": {
                    "value": null,
                    "type": "array",
                    "etag": "",
                    "indexed": false,
                    "editPermission": 0
                },
                "blurhash": {
                    "value": null,
                    "type": "string",
                    "etag": "699c829418bb5",
                    "indexed": false,
                    "editPermission": 0
                },
                "files-live-photo": {
                    "value": null,
                    "type": "string",
                    "etag": "",
                    "indexed": false,
                    "editPermission": 2
                }
            },
            "oc.integritycheck.checker": []
        },
        "dashboard": {
            "enabled": "yes",
            "installed_version": "7.14.0",
            "types": ""
        },
        "dav": {
            "buildCalendarReminderIndex": "yes",
            "buildCalendarSearchIndex": "yes",
            "builtSocialSearchIndex": "yes",
            "checked_for_classified_activity": true,
            "chunks_migrated": "1",
            "enabled": "yes",
            "generateBirthdayCalendar": "no",
            "installed_version": "1.40.0",
            "regeneratedBirthdayCalendarsForYearFix": "yes",
            "types": "filesystem"
        },
        "federatedfilesharing": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": ""
        },
        "federation": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "authentication"
        },
        "files": {
            "default_quota": "60 GB",
            "enabled": "yes",
            "installed_version": "2.6.0",
            "mimetype_version": "33.0.0.16",
            "types": "filesystem"
        },
        "files_downloadlimit": {
            "enabled": "yes",
            "installed_version": "5.2.0",
            "types": ""
        },
        "files_lock": {
            "enabled": "yes",
            "installed_version": "34.0.1",
            "types": "filesystem,dav"
        },
        "files_mindmap": {
            "enabled": "no",
            "installed_version": "0.0.33",
            "types": ""
        },
        "files_pdfviewer": {
            "enabled": "yes",
            "installed_version": "7.0.0-dev.0",
            "types": ""
        },
        "files_reminders": {
            "enabled": "yes",
            "installed_version": "1.7.0",
            "types": ""
        },
        "files_sharing": {
            "enabled": "yes",
            "installed_version": "1.26.0",
            "outgoing_server2server_group_share_enabled": "yes",
            "types": "filesystem"
        },
        "files_trashbin": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "filesystem,dav"
        },
        "files_versions": {
            "enabled": "yes",
            "installed_version": "1.27.0",
            "types": "filesystem,dav"
        },
        "firstrunwizard": {
            "enabled": "yes",
            "installed_version": "7.0.0-dev.0",
            "types": ""
        },
        "gpxpod": {
            "enabled": "no",
            "installed_version": "8.3.1",
            "types": ""
        },
        "logreader": {
            "enabled": "yes",
            "installed_version": "7.0.0",
            "shownLevels": "[3,4]",
            "types": "logging"
        },
        "lookup_server_connector": {
            "enabled": "yes",
            "installed_version": "1.22.0",
            "types": "authentication"
        },
        "nextcloud_announcements": {
            "enabled": "yes",
            "installed_version": "6.0.0",
            "pub_date": "Thu, 24 Oct 2019 00:00:00 +0200",
            "types": "logging"
        },
        "notifications": {
            "enabled": "yes",
            "installed_version": "7.0.0-dev.1",
            "types": "logging",
            "webpush_vapid_privkey": "***REMOVED SENSITIVE VALUE***",
            "webpush_vapid_pubkey": "BC_fbdFv9-Dq2csI5AbUwsyO0fvi41gM9Xz_w3KtG-i5_iUS_E0dcGuQGMgLy3R-HkSlkcY4oEpeleQ1d3uw3pM"
        },
        "oauth2": {
            "enabled": "yes",
            "installed_version": "1.22.0",
            "types": "authentication"
        },
        "office": {
            "enabled": "yes",
            "installed_version": "1.0.0",
            "types": ""
        },
        "openotp_auth": {
            "enabled": "no",
            "installed_version": "1.30.5",
            "rcdevsopenotp_allow_user_administer_openotp": "off",
            "rcdevsopenotp_api_key": "",
            "rcdevsopenotp_authentication_method": "",
            "rcdevsopenotp_client_id": "",
            "rcdevsopenotp_disable_otp_local_users": "on",
            "rcdevsopenotp_proxy_host": "",
            "rcdevsopenotp_proxy_password": "",
            "rcdevsopenotp_proxy_port": "",
            "rcdevsopenotp_proxy_username": "",
            "rcdevsopenotp_server_url1": "",
            "rcdevsopenotp_server_url2": "",
            "types": ""
        },
        "password_policy": {
            "enabled": "yes",
            "enforceNumericCharacters": "1",
            "enforceUpperLowerCase": "1",
            "installed_version": "6.0.0-dev.0",
            "types": "authentication"
        },
        "photos": {
            "enabled": "yes",
            "installed_version": "7.0.0",
            "lastPlaceMappedUser": "admin",
            "lastPlaceMappingDone": "true",
            "types": "authentication,dav"
        },
        "privacy": {
            "enabled": "yes",
            "installed_version": "6.0.0-dev.1",
            "readableLocation": "ch",
            "types": ""
        },
        "profile": {
            "enabled": "yes",
            "installed_version": "1.3.0",
            "types": ""
        },
        "provisioning_api": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "prevent_group_restriction"
        },
        "quota_warning": {
            "enabled": "yes",
            "initialised": "yes",
            "installed_version": "1.24.0",
            "types": "filesystem"
        },
        "recommendations": {
            "enabled": "yes",
            "installed_version": "7.0.0",
            "types": ""
        },
        "related_resources": {
            "enabled": "yes",
            "installed_version": "5.0.0-dev.0",
            "types": ""
        },
        "richdocuments": {
            "canonical_webroot": "",
            "disable_certificate_verification": "",
            "doc_format": "ooxml",
            "enabled": "yes",
            "external_apps": "",
            "installed_version": "11.1.0",
            "public_wopi_url": "https:\/\/office.gegesloewl.com",
            "types": "filesystem,prevent_group_restriction",
            "wopi_allowlist": "172.25.0.0\/0,172.26.0.0\/0",
            "wopi_callback_url": "",
            "wopi_url": "https:\/\/office.gegesloewl.com"
        },
        "richdocumentscode": {
            "enabled": "no",
            "installed_version": "24.4.1002",
            "types": ""
        },
        "serverinfo": {
            "cached_count_appdata_files": 1923,
            "cached_count_filecache": 88791,
            "cached_count_storages": 10,
            "enabled": "yes",
            "installed_version": "6.0.0",
            "size_appdata_storage": 10992945,
            "types": ""
        },
        "settings": {
            "enabled": "yes",
            "installed_version": "1.17.0",
            "types": ""
        },
        "sharebymail": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "filesystem"
        },
        "support": {
            "SwitchUpdaterServerHasRun": "yes",
            "enabled": "yes",
            "installed_version": "6.0.0",
            "types": "session"
        },
        "survey_client": {
            "enabled": "yes",
            "installed_version": "6.0.0-dev.0",
            "last_sent": 1787611816,
            "types": "",
            "last_report": "{\"id\":\"ocnsh2rz4922\",\"items\":[[\"server\",\"version\",\"34.0.3.2\"],[\"server\",\"code\",\"other\"],[\"server\",\"enable_avatars\",\"yes\"],[\"server\",\"enable_previews\",\"yes\"],[\"server\",\"memcache.local\",\"\\\\OC\\\\Memcache\\\\APCu\"],[\"server\",\"memcache.distributed\",\"\\\\OC\\\\Memcache\\\\Redis\"],[\"server\",\"asset-pipeline.enabled\",\"no\"],[\"server\",\"filelocking.enabled\",\"yes\"],[\"server\",\"memcache.locking\",\"\\\\OC\\\\Memcache\\\\Redis\"],[\"server\",\"debug\",\"no\"],[\"server\",\"cron\",\"cron\"],[\"php\",\"version\",\"8.5.9\"],[\"php\",\"memory_limit\",17179869184],[\"php\",\"max_execution_time\",0],[\"php\",\"upload_max_filesize\",21474836480],[\"database\",\"type\",\"mysql\"],[\"database\",\"version\",\"11.8.8\"],[\"database\",\"size\",513916928],[\"apps\",\"activity\",\"7.0.0\"],[\"apps\",\"app_api\",\"34.0.0\"],[\"apps\",\"appstore\",\"1.0.0\"],[\"apps\",\"bruteforcesettings\",\"7.0.0\"],[\"apps\",\"calendar\",\"6.5.3\"],[\"apps\",\"circles\",\"34.0.0\"],[\"apps\",\"cloud_federation_api\",\"1.18.0\"],[\"apps\",\"comments\",\"1.24.0\"],[\"apps\",\"contacts\",\"8.7.6\"],[\"apps\",\"contactsinteraction\",\"1.15.0\"],[\"apps\",\"dashboard\",\"7.14.0\"],[\"apps\",\"dav\",\"1.40.0\"],[\"apps\",\"federatedfilesharing\",\"1.24.0\"],[\"apps\",\"federation\",\"1.24.0\"],[\"apps\",\"files\",\"2.6.0\"],[\"apps\",\"files_downloadlimit\",\"5.2.0\"],[\"apps\",\"files_lock\",\"34.0.1\"],[\"apps\",\"files_mindmap\",\"disabled\"],[\"apps\",\"files_pdfviewer\",\"7.0.0-dev.0\"],[\"apps\",\"files_reminders\",\"1.7.0\"],[\"apps\",\"files_sharing\",\"1.26.0\"],[\"apps\",\"files_trashbin\",\"1.24.0\"],[\"apps\",\"files_versions\",\"1.27.0\"],[\"apps\",\"firstrunwizard\",\"7.0.0-dev.0\"],[\"apps\",\"gpxpod\",\"disabled\"],[\"apps\",\"logreader\",\"7.0.0\"],[\"apps\",\"lookup_server_connector\",\"1.22.0\"],[\"apps\",\"nextcloud_announcements\",\"6.0.0\"],[\"apps\",\"notifications\",\"7.0.0-dev.1\"],[\"apps\",\"oauth2\",\"1.22.0\"],[\"apps\",\"office\",\"1.0.0\"],[\"apps\",\"openotp_auth\",\"disabled\"],[\"apps\",\"password_policy\",\"6.0.0-dev.0\"],[\"apps\",\"photos\",\"7.0.0\"],[\"apps\",\"privacy\",\"6.0.0-dev.1\"],[\"apps\",\"profile\",\"1.3.0\"],[\"apps\",\"provisioning_api\",\"1.24.0\"],[\"apps\",\"quota_warning\",\"1.24.0\"],[\"apps\",\"recommendations\",\"7.0.0\"],[\"apps\",\"related_resources\",\"5.0.0-dev.0\"],[\"apps\",\"richdocuments\",\"11.1.0\"],[\"apps\",\"richdocumentscode\",\"disabled\"],[\"apps\",\"serverinfo\",\"6.0.0\"],[\"apps\",\"settings\",\"1.17.0\"],[\"apps\",\"sharebymail\",\"1.24.0\"],[\"apps\",\"support\",\"6.0.0\"],[\"apps\",\"survey_client\",\"6.0.0-dev.0\"],[\"apps\",\"systemtags\",\"1.24.0\"],[\"apps\",\"text\",\"8.0.0\"],[\"apps\",\"theming\",\"2.9.0\"],[\"apps\",\"twofactor_backupcodes\",\"1.23.0\"],[\"apps\",\"twofactor_totp\",\"16.0.0\"],[\"apps\",\"updatenotification\",\"1.24.0\"],[\"apps\",\"user_status\",\"1.14.0\"],[\"apps\",\"viewer\",\"7.0.0-dev.0\"],[\"apps\",\"weather_status\",\"1.14.0\"],[\"apps\",\"webhook_listeners\",\"1.6.0\"],[\"apps\",\"workflowengine\",\"2.16.0\"],[\"stats\",\"num_files\",88653],[\"stats\",\"num_users\",5],[\"stats\",\"num_storages\",10],[\"stats\",\"num_storages_local\",1],[\"stats\",\"num_storages_home\",2],[\"stats\",\"num_storages_other\",7],[\"stats\",\"num_comments\",0],[\"stats\",\"num_comment_markers\",0],[\"stats\",\"num_systemtags\",0],[\"stats\",\"num_systemtags_mappings\",0],[\"files_sharing\",\"num_shares\",12],[\"files_sharing\",\"num_shares_user\",1],[\"files_sharing\",\"num_shares_groups\",0],[\"files_sharing\",\"num_shares_link\",11],[\"files_sharing\",\"num_shares_link_no_password\",11],[\"files_sharing\",\"num_fed_shares_sent\",0],[\"files_sharing\",\"num_fed_shares_received\",0],[\"files_sharing\",\"permissions_3_17\",11],[\"files_sharing\",\"permissions_0_31\",1],[\"encryption\",\"enabled\",\"no\"],[\"encryption\",\"default_module\",\"no\"]]}"
        },
        "systemtags": {
            "enabled": "yes",
            "installed_version": "1.24.0",
            "types": "logging"
        },
        "text": {
            "enabled": "yes",
            "installed_version": "8.0.0",
            "types": "dav"
        },
        "theming": {
            "cachebuster": "3",
            "enabled": "yes",
            "faviconMime": "image\/png",
            "installed_version": "2.9.0",
            "logoDimensions": "1750x1750",
            "logoMime": "image\/png",
            "types": "logging"
        },
        "twofactor_backupcodes": {
            "enabled": "yes",
            "installed_version": "1.23.0",
            "types": ""
        },
        "twofactor_totp": {
            "enabled": "yes",
            "installed_version": "16.0.0",
            "types": ""
        },
        "updatenotification": {
            "calendar": "6.5.4",
            "contacts": "8.7.7",
            "core": "34.0.3.2",
            "enabled": "yes",
            "installed_version": "1.24.0",
            "openotp_auth": "1.30.5",
            "quota_warning": "1.24.0",
            "richdocuments": "11.1.0",
            "types": "",
            "update_check_errors": 0
        },
        "user_status": {
            "enabled": "yes",
            "installed_version": "1.14.0",
            "types": ""
        },
        "viewer": {
            "enabled": "yes",
            "installed_version": "7.0.0-dev.0",
            "types": ""
        },
        "weather_status": {
            "enabled": "yes",
            "installed_version": "1.14.0",
            "types": ""
        },
        "webhook_listeners": {
            "enabled": "yes",
            "installed_version": "1.6.0",
            "types": "filesystem"
        },
        "workflowengine": {
            "enabled": "yes",
            "installed_version": "2.16.0",
            "types": "filesystem"
        }
    }
}

List of activated Apps

Enabled:
  - activity: 7.0.0
  - appstore: 1.0.0
  - bruteforcesettings: 7.0.0
  - calendar: 6.5.4
  - circles: 34.0.0
  - cloud_federation_api: 1.18.0
  - comments: 1.24.0
  - contacts: 8.7.7
  - contactsinteraction: 1.15.0
  - dashboard: 7.14.0
  - dav: 1.40.0
  - federatedfilesharing: 1.24.0
  - federation: 1.24.0
  - files: 2.6.0
  - files_downloadlimit: 5.2.0
  - files_lock: 34.0.1
  - files_pdfviewer: 7.0.0-dev.0
  - files_reminders: 1.7.0
  - files_sharing: 1.26.0
  - files_trashbin: 1.24.0
  - files_versions: 1.27.0
  - firstrunwizard: 7.0.0-dev.0
  - logreader: 7.0.0
  - lookup_server_connector: 1.22.0
  - nextcloud_announcements: 6.0.0
  - notifications: 7.0.0-dev.1
  - oauth2: 1.22.0
  - office: 1.0.0
  - password_policy: 6.0.0-dev.0
  - photos: 7.0.0
  - privacy: 6.0.0-dev.1
  - profile: 1.3.0
  - provisioning_api: 1.24.0
  - quota_warning: 1.24.0
  - recommendations: 7.0.0
  - related_resources: 5.0.0-dev.0
  - richdocuments: 11.1.0
  - serverinfo: 6.0.0
  - settings: 1.17.0
  - sharebymail: 1.24.0
  - support: 6.0.0
  - survey_client: 6.0.0-dev.0
  - systemtags: 1.24.0
  - text: 8.0.0
  - theming: 2.9.0
  - twofactor_backupcodes: 1.23.0
  - twofactor_totp: 16.0.0
  - updatenotification: 1.24.0
  - user_status: 1.14.0
  - viewer: 7.0.0-dev.0
  - weather_status: 1.14.0
  - webhook_listeners: 1.6.0
  - workflowengine: 2.16.0
Disabled:
  - admin_audit: 1.24.0
  - app_api: 34.0.0 (installed 34.0.0)
  - encryption: 2.22.0
  - files_external: 1.26.0
  - gpxpod: 8.3.1 (installed 8.3.1)
  - suspicious_login: 12.0.0-dev.0
  - twofactor_nextcloud_notification: 8.0.0
  - user_ldap: 1.25.0

Nextcloud Signing status

Nextcloud Logs

RuntimeException
Unable to write preview file

Additional info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmap34-feedbackbug

    Type

    Projects

    Status
    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions