Problem with file access via web frontend after update 28.0.4 -> 28.0.5

Ubuntu 22.04.4 LTS
Using PHP 8.1.2-1ubuntu2.17
postgres (external cluster)
apache-Reverse Proxy

After update (cli: sudo -u www-data php updater/updater.phar -vvv) from 28.0.4 to 28.0.5 have some users problems to acces folders in the files (/index.php/apps/files/files).
Clicking in an folder didnt open the folder but download an html file (foldername.htm) insteed. Content of this file is:

[This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.]

Access this files direct via windows webdav client works fine → files/database are not corrupt.

This behavior does not affect all users - under my (steffen) account, for example, I can work in the web browser without any problems.

We try this from different browsers and computers → evertime same result

Kind Regards
Steffen

PS: a further update to version 29 did not solve the problem :frowning:

######### Here is the log file for the affected kuko team account #######

login-sequence

{“reqId”:“2jvbWlDZe9RwcgHFngLK”,“level”:0,“time”:“2024-05-08 09:47:20”,“remoteAddr”:“10.100.0.4”,“user”:“kuko-team”,“app”:“no app in context”,“method”:“POST”,“url”:“/index.php/login”,“message”:“dirty table reads: SELECT * FROM *PREFIX*authtoken WHERE uid = :dcValue1 ORDER BY id ASC LIMIT 1”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0”,“version”:“29.0.0.19”,“exception”:{“Exception”:“Exception”,“Message”:“dirty table reads: SELECT * FROM *PREFIX*authtoken WHERE uid = :dcValue1 ORDER BY id ASC LIMIT 1”,“Code”:0,“Trace”:[{“file”:“/nc_data/userhtml/nextcloud.my-company.de/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php”,“line”:348,“function”:“executeQuery”,“class”:“OC\DB\Connection”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php”,“line”:384,“function”:“executeQuery”,“class”:“Doctrine\DBAL\Query\QueryBuilder”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/DB/QueryBuilder/QueryBuilder.php”,“line”:280,“function”:“execute”,“class”:“Doctrine\DBAL\Query\QueryBuilder”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/DB/QueryBuilder/QueryBuilder.php”,“line”:293,“function”:“execute”,“class”:“OC\DB\QueryBuilder\QueryBuilder”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Token/PublicKeyTokenMapper.php”,“line”:259,“function”:“executeQuery”,“class”:“OC\DB\QueryBuilder\QueryBuilder”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Token/PublicKeyTokenProvider.php”,“line”:123,“function”:“getFirstTokenForUser”,“class”:“OC\Authentication\Token\PublicKeyTokenMapper”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Token/Manager.php”,“line”:72,“function”:“generateToken”,“class”:“OC\Authentication\Token\PublicKeyTokenProvider”,“type”:“->”,“args”:[“*** sensitive parameters replaced “]},{“file”:”/nc_data/userhtml/nextcloud.my-company.de/lib/private/User/Session.php",“line”:708,“function”:“generateToken”,“class”:“OC\Authentication\Token\Manager”,“type”:“->”,“args”:[" sensitive parameters replaced “]},{“file”:”/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/CreateSessionTokenCommand.php",“line”:68,“function”:“createSessionToken”,“class”:“OC\User\Session”,“type”:“->”,“args”:[" sensitive parameters replaced “]},{“file”:”/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php",“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\CreateSessionTokenCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/CompleteLoginCommand.php”,“line”:47,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php”,“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\CompleteLoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/LoggedInCheckCommand.php”,“line”:60,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php”,“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\LoggedInCheckCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/EmailLoginCommand.php”,“line”:68,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php”,“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\EmailLoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/UidLoginCommand.php”,“line”:53,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php”,“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\UidLoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/UserDisabledCheckCommand.php”,“line”:57,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/ALoginCommand.php”,“line”:39,“function”:“process”,“class”:“OC\Authentication\Login\UserDisabledCheckCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/PreLoginHookCommand.php”,“line”:52,“function”:“processNextOrFinishSuccessfully”,“class”:“OC\Authentication\Login\ALoginCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Authentication/Login/Chain.php”,“line”:107,“function”:“process”,“class”:“OC\Authentication\Login\PreLoginHookCommand”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/core/Controller/LoginController.php”,“line”:351,“function”:“process”,“class”:“OC\Authentication\Login\Chain”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/AppFramework/Http/Dispatcher.php”,“line”:232,“function”:“tryLogin”,“class”:“OC\Core\Controller\LoginController”,“type”:“->”,“args”:[" sensitive parameters replaced ***”]},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/AppFramework/Http/Dispatcher.php”,“line”:138,“function”:“executeController”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/AppFramework/App.php”,“line”:184,“function”:“dispatch”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/Route/Router.php”,“line”:338,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:“::”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/lib/base.php”,“line”:1050,“function”:“match”,“class”:“OC\Route\Router”,“type”:“->”},{“file”:“/nc_data/userhtml/nextcloud.my-company.de/index.php”,“line”:49,“function”:“handleRequest”,“class”:“OC”,“type”:“::”}],“File”:“/nc_data/userhtml/nextcloud.my-company.de/lib/private/DB/Connection.php”,“Line”:300,“message”:“dirty table reads: SELECT * FROM *PREFIX*authtoken WHERE uid = :dcValue1 ORDER BY id ASC LIMIT 1”,“tables”:[“oc_preferences”,“oc_authtoken”],“reads”:[“oc_authtoken”],“exception”:{},“CustomMessage”:“dirty table reads: SELECT * FROM *PREFIX*authtoken WHERE uid = :dcValue1 ORDER BY id ASC LIMIT 1”}}

{“reqId”:“JSyPVC6wTHTYFJAmPv2X”,“level”:0,“time”:“2024-05-08 09:47:22”,“remoteAddr”:“10.100.0.4”,“user”:“kuko-team”,“app”:“dav”,“method”:“GET”,“url”:“/ocs/v2.php/apps/user_status/api/v1/user_status”,“message”:“No calendar events found for status check”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0)
Gecko/20100101 Firefox/125.0”,“version”:“29.0.0.19”,“data”:{“app”:“dav”,“user”:“kuko-team”}}

{“reqId”:“vT6z75IUpWzuUF5LEJAl”,“level”:0,“time”:“2024-05-08 09:47:22”,“remoteAddr”:“10.100.0.4”,“user”:“kuko-team”,“app”:“dav”,“method”:“PUT”,“url”:“/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json”,“message”:“No calendar events found for status check”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64;
rv:125.0) Gecko/20100101 Firefox/125.0”,“version”:“29.0.0.19”,“data”:{“app”:“dav”,“user”:“kuko-team”}}

here we try to open an folder (example 03_xyz)

but no log entry happen

folder 03_xyz did not open - but a file 03_xyz.htm download

content: This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.

logoff-sequence

{“reqId”:“lkHW5aMCDUBGbgIdzMTJ”,“level”:0,“time”:“2024-05-08 09:47:52”,“remoteAddr”:“10.100.0.4”,“user”:“kuko-team”,“app”:“no app in context”,“method”:“GET”,“url”:“/index.php/logout?requesttoken=r%2FMMdqdy%2F%2B4DQX73VOW3fClbqwBgijgCCPx1yGkGuNU%3D%3A1sZKB%2BUQhsU0FQ2aJK3NMEUL5VEa8H13J4ovjg1t0KA%3D”,“message”:“Session token invalidated before logout”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0”,“version”:“29.0.0.19”,“data”:{“user”:“kuko-team”}}

{“reqId”:“lkHW5aMCDUBGbgIdzMTJ”,“level”:0,“time”:“2024-05-08 09:47:52”,“remoteAddr”:“10.100.0.4”,“user”:“kuko-team”,“app”:“no app in context”,“method”:“GET”,“url”:“/index.php/logout?requesttoken=r%2FMMdqdy%2F%2B4DQX73VOW3fClbqwBgijgCCPx1yGkGuNU%3D%3A1sZKB%2BUQhsU0FQ2aJK3NMEUL5VEa8H13J4ovjg1t0KA%3D”,“message”:“Logging out”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0”,“version”:“29.0.0.19”,“data”:{“user”:“kuko-team”}}

Same problem here. As file owner everything working. But shared folder to users will be send html file and don’t open the folder. This stay in html file:

This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.

Now the question why users will be routed with their browser to webdav?

As far as I know, Nextcloud uses a javascript webdav implementation for the browser GUI. So I think the GET request is the real problem.

Is the app richtdocuments (Nextcloud Office) installed? I suspect a bug in this app is preventing other apps (files, files_sharing) from fully loading in the browser, so the browser fianally makes a GET request on the link.

For me the problem only occurs with users who are not allowed to use richtdocuments. If I share the app with everyone (clear the user_groups and edit_groups fields), the error no longer occurs.

Gotcha Nextcloud Office App deactivated and access is working. So i won’t that all users can use Nextcloud Office. A prefer only a small group to use this.
I hope there is a fix soon.

deactivate “Nextcloud Office” helps also in my environment

thank you for the magic hint :slight_smile:

bug report: Browsing folders is broken in 28.0.5 if restrict usage is active · Issue #3670 · nextcloud/richdocuments · GitHub
fix: fix: Avoid loading file actions if app is disabled for users by juliushaertl · Pull Request #3672 · nextcloud/richdocuments · GitHub

I had updated to 29.0.0 it’s affected also.

However, the problem must first become apparent through the NC update.

I only updated the NC and not the office (as far as I can remember :-))
but as long as deactivating office helps…

today “found” a new update

richdocuments new version available: 8.4.2
richdocuments updated

after this the “bug” is gone - also if office is activated again