Skip to content

[Bug]: files app unable to browse images #3003

@isdnfan

Description

@isdnfan

⚠️ This issue respects the following points: ⚠️

Bug description

after upgrading from NC 31.0.9 to NC 32.0.1 I notice it is impossible to browse images. I organise my images in folder and view them from the files app. with 32.0.1 the image opens but it is impossible to switch to the next/previous image using arrow keys or clicking on the arrow buttons shown on the image. Same functionality works in Photos and Memories apps.

Steps to reproduce

  1. save multiple images in a folder (predefined images are enough)
  2. enter the folder in the files app
  3. click on an image and see it is displayed in full-screen
  4. click on left/right arrow shown on the side
  5. press left/right arrow on the keyboard

Looks the issue only occurs with OIDC login (keycloak + user_oidc app) - with a test instance using NC login I don't see this issue.

Expected behavior

displayed image should change to previous/next image

Nextcloud Server version

32

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.3

Web server

Apache (supported)

Database engine version

PostgreSQL

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

Upgraded to a MAJOR version (ex. 31 to 32)

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": {
        "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
            }
        ],
        "overwritehost": "dev-nc.mydomain.tld",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "dev-nc.weikum.ch"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "32.0.1.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,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "default_phone_region": "CH",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": true,
        "mail_smtpport": "465",
        "allow_local_remote_servers": true,
        "trashbin_retention_obligation": "15, 180",
        "app_install_overwrite": [
            "suspicious_login",
            "privatedata",
            "forms"
        ],
        "serverinfo": {
            "token": "***REMOVED SENSITIVE VALUE***"
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "remember_login_cookie_lifetime": "35",
        "session_keepalive": "false",
        "session_lifetime": "900",
        "auto_logout": "true",
        "overwrite.cli.url": "https:\/\/dev-nc.mydomain.tld",
        "theme": "",
        "session_relaxed_expiry": "false",
        "updater.release.channel": "stable",
        "enabledPreviewProviders": [
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Krita",
            "OC\\Preview\\Imaginary"
        ],
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_concurrency_all": "12",
        "preview_concurrency_new": "8",
        "log_rotate_size": "26214400",
        "log_rotate_size_audit": "52428800",
        "loglevel": 1,
        "maintenance_window_start": 1,
        "upgrade.disable-web": true,
        "user_oidc": {
            "use_pkce": true
        },
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "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"
        ]
    }
}

List of activated Apps

Enabled:
  - activity: 5.0.0-dev.0
  - admin_audit: 1.22.0
  - app_api: 32.0.0
  - bruteforcesettings: 5.0.0-dev.0
  - calendar: 6.0.2
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - collectives: 3.2.3
  - comments: 1.22.0
  - contacts: 8.0.4
  - contactsinteraction: 1.13.1
  - dashboard: 7.12.0
  - dav: 1.34.2
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_downloadlimit: 5.0.0-dev.0
  - files_external: 1.24.0
  - files_pdfviewer: 5.0.0-dev.0
  - files_reminders: 1.5.0
  - files_sharing: 1.24.0
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0-dev.0
  - forms: 5.2.2
  - groupfolders: 20.1.2
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - mail: 5.5.11
  - notes: 4.12.3
  - notifications: 5.0.0-dev.0
  - notify_push: 1.2.0
  - oauth2: 1.20.0
  - ocs_api_viewer: 1.0.11
  - password_policy: 4.0.0-dev.0
  - photos: 5.0.0-dev.1
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - richdocuments: 9.0.1
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - spreed: 22.0.1
  - support: 4.0.0-dev.0
  - survey_client: 4.0.0-dev.0
  - suspicious_login: 10.0.0-dev.0
  - systemtags: 1.22.0
  - tables: 1.0.0
  - text: 6.0.1
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - twofactor_totp: 14.0.0
  - twofactor_webauthn: 2.4.1
  - unroundedcorners: 1.1.5
  - user_oidc: 8.1.0
  - user_status: 1.12.0
  - viewer: 5.0.0-dev.0
  - webhook_listeners: 1.3.0
  - workflowengine: 2.14.0
Disabled:
  - encryption: 2.20.0
  - nextcloud_announcements: 4.0.0-dev.0 (installed 3.0.0)
  - updatenotification: 1.22.0 (installed 1.21.0)
  - user_ldap: 1.23.0
  - weather_status: 1.12.0 (installed 1.3.0)

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{"reqId":"O1b7GizIyWpmBVszWkb4","level":1,"time":"2025-10-25T09:36:37+00:00","remoteAddr":"192.168.11.203","user":"willi","app":"no app in context","method":"PROPFIND","url":"/remote.php/dav/files/willi/Photos/PICT5656.JPG","message":"Uncaught exception","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","version":"32.0.1.2","exception":{"Exception":"Sabre\\DAV\\Exception\\NotAuthenticated","Message":"CSRF check not passed.","Code":0,"Trace":[{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":106,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMethod:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","Line":169,"message":"Uncaught exception","exception":{},"CustomMessage":"Uncaught exception"}}

browser console I see following log after each key/button press

TypeError: can't access property "mime", e is undefined
    openFileFromList Viewer.vue:820
    next Viewer.vue:1087
    VueJS 4
    next NcModal.mjs:432
    VueJS 3

and this is shown when the viewer opens the file

[INFO] viewer: Opening viewer for file  
Object { app: "viewer", uid: "willi", level: 1, path: "/Photos/PICT5665.JPG" }
[index.mjs:48:17](https://dev-nc.mydomain.tld/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
[WARN] viewer: No files provided, skipping update 
Object { app: "viewer", uid: "willi", level: 1 }
[index.mjs:51:17](https://dev-nc.mydomain.tld/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
File info for /Photos/PICT5665.JPG fetched 
Object { filename: "/Photos/PICT5665.JPG", basename: "PICT5665.JPG", lastmod: "Wed, 12 Mar 2008 18:49:22 GMT", size: 2391616, type: "file", etag: "5dd23e02d70fcbfc98d5eff33b840bf4", mime: "image/jpeg", tags: "", getcontentlength: 2391616, getcontenttype: "image/jpeg", … }
[Viewer.vue:669:1](https://dev-nc.mydomain.tld/apps/viewer/src/views/Viewer.vue)
Could not open file /Photos/PICT5665.JPG TypeError: can't access property "filename", a is undefined
    currentIndex Viewer.vue:802
    openFileInfo Viewer.vue:802
    openFile Viewer.vue:670
    file Viewer.vue:460
    VueJS 11
    open Viewer.js:313
    $5 viewerAction.ts:82
    execDefaultAction FileEntryMixin.ts:327
    click FileEntry.vue:5
    VueJS 33
[Viewer.vue:681:1](https://dev-nc.mydomain.tld/apps/viewer/src/views/Viewer.vue)
TypeError: can't access property "mime", e is undefined
    openFileFromList Viewer.vue:820
    next Viewer.vue:1087
    VueJS 4
    next NcModal.mjs:432
    VueJS 3

Additional info

No response

Metadata

Metadata

Assignees

Labels

3. to reviewWaiting for reviewsbugSomething isn't workinghighHigh priorityregressionRegression of a previous working feature

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions