Passwords: 2023.12.10 doesn't work

After upgrading the passwords app today to 2023.12.10, any login is answered with “Internal server error …”
When I deactivate the app,
sudo -u www-data php occ app:disable passwords
the server works (although everybody can get in then).
After re-enabling it, the error message comes again.
A reboot of the machine does not help.
Did anybody encounter a similar behaviour?

php-version: 7.4.3-4ubuntu2.19 (cli)
OS: Ubuntu 20.04
Nextcloud version: 25.0.13.2

Error message in Nextcloud in Firefox:
( Interner Serverfehler

Der Server konnte die Anfrage nicht fertig stellen.

Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an deinen Server-Administrator.

Weitere Details können im Server-Protokoll gefunden werden.

Technische Details…)

Nextcloud.log contains:
{“reqId”:“–removed”,“level”:3,“time”:“2023-12-13T18:20:01+00:00”,“remoteAddr”:“–removed–”,“user”:“–removed–”,“app”:“index”,“method”:“GET”,“url”:“/nextcloud/index.php/apps/dashboard/”,“message”:“Interface ‘OCP\Dashboard\IConditionalWidget’ not found in file ‘/var/www/html/nextcloud/apps/passwords/lib/Dashboard/PasswordsWidget.php’ line 27”,“userAgent”:“Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0”,“version”:“25.0.13.2”,“exception”:{“Exception”:“Exception”,“Message”:“Interface ‘OCP\Dashboard\IConditionalWidget’ not found in file ‘/var/www/html/nextcloud/apps/passwords/lib/Dashboard/PasswordsWidget.php’ line 27”,“Code”:0,“Trace”:[{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/App.php”,“line”:172,“function”:“dispatch”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/Route/Router.php”,“line”:298,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:“::”},{“file”:“/var/www/html/nextcloud/lib/base.php”,“line”:1053,“function”:“match”,“class”:“OC\Route\Router”,“type”:“->”},{“file”:“/var/www/html/nextcloud/index.php”,“line”:36,“function”:“handleRequest”,“class”:“OC”,“type”:“::”}],“File”:“/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“Line”:165,“Previous”:{“Exception”:“Error”,“Message”:“Interface ‘OCP\Dashboard\IConditionalWidget’ not found”,“Code”:0,“Trace”:[{“file”:“/var/www/html/nextcloud/lib/composer/composer/ClassLoader.php”,“line”:571,“function”:“include”},{“file”:“/var/www/html/nextcloud/lib/composer/composer/ClassLoader.php”,“line”:428,“function”:“Composer\Autoload\includeFile”},{“function”:“loadClass”,“class”:“Composer\Autoload\ClassLoader”,“type”:“->”},{“function”:“spl_autoload_call”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:114,“function”:“__construct”,“class”:“ReflectionClass”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:134,“function”:“resolve”,“class”:“OC\AppFramework\Utility\SimpleContainer”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php”,“line”:466,“function”:“query”,“class”:“OC\AppFramework\Utility\SimpleContainer”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/ServerContainer.php”,“line”:145,“function”:“queryNoFallback”,“class”:“OC\AppFramework\DependencyInjection\DIContainer”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php”,“line”:57,“function”:“query”,“class”:“OC\ServerContainer”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/Dashboard/Manager.php”,“line”:78,“function”:“get”,“class”:“OC\AppFramework\Utility\SimpleContainer”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/Dashboard/Manager.php”,“line”:134,“function”:“loadLazyPanels”,“class”:“OC\Dashboard\Manager”,“type”:“->”},{“file”:“/var/www/html/nextcloud/apps/dashboard/lib/Controller/DashboardController.php”,“line”:101,“function”:“getWidgets”,“class”:“OC\Dashboard\Manager”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“line”:225,“function”:“index”,“class”:“OCA\Dashboard\Controller\DashboardController”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“line”:133,“function”:“executeController”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/AppFramework/App.php”,“line”:172,“function”:“dispatch”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”},{“file”:“/var/www/html/nextcloud/lib/private/Route/Router.php”,“line”:298,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:“::”},{“file”:“/var/www/html/nextcloud/lib/base.php”,“line”:1053,“function”:“match”,“class”:“OC\Route\Router”,“type”:“->”},{“file”:“/var/www/html/nextcloud/index.php”,“line”:36,“function”:“handleRequest”,“class”:“OC”,“type”:“::”}],“File”:“/var/www/html/nextcloud/apps/passwords/lib/Dashboard/PasswordsWidget.php”,“Line”:27},“CustomMessage”:“–”}}

Yeah - had the same issue. Also, I removed the passwords app, because I wanted to re-install it and now I am stranded with no password app at all, since the legacy version cannot be installed, because it isn’t on the app store…

Nextcloud 25 went out of support (Maintenance and Release Schedule · nextcloud/server Wiki · GitHub) in October.
However you’ll need a php version >= 8.0:
First maintenance release for Hub 5 - #2 by tflidd

And the maintainer is very strict about the supported NC versions and php versions:

At least from version 2023.7.20 php >= 8.0 is required.

Yep, to get fixes you’ll all need to move to Nextcloud 28. Or, install an earlier version of the app.

Passwords 2023.12.10 supports both, Nextcloud 25 and PHP 7.4. The issue of OP is a bug in the Dashboard widget and will be fixed with an update.

Support for NC 25 and PHP 7.4 ends in january.

1 Like

Yeah, that was my first issue as well, this triggered the whole chain of events. Thanks for taking care of that!

Passwords 2023.12.*1 is out and should fix the issue with the Dashboard.

Thanks a lot mdw for this solution, YOU solved the problem.
IMHO the post from tflidd was not the optimum solution (to put it mildly).

How could it be that 2023.7.20 requires php 8.0 when the passwords app version 2023.10.11 works flawlessly with php 7.4 on my system?
Is it probably due to the fact that there seems to be a flavour of the passwords app for legacy systems?

Yes. There is a system in place that automatically rewrites the code to work with PHP 7.4. The build process creates three versions of which two are for older systems.

Why? Everything tflidd posted was 100% accurate and true. Even included links to confirm all three points.

The information is meta-information from the app. It doesn’t seem that it is enforced.

Code usually is backwards compatible, if the app is not using any exclusive features of the 8.0+ versions, it still can work without problems.

Running out-dated versions is not only a security concern, for any bug it won’t be fixed in older version and nothing is tested there either.

Well, it is because of MDW’s answer, which says that the app is maintained for Nextcloud 25 and PHP7.4 until January: quote
“Passwords 2023.12.10 supports both, Nextcloud 25 and PHP 7.4. The issue of OP is a bug in the Dashboard widget and will be fixed with an update.
Support for NC 25 and PHP 7.4 ends in january.”
So the immediate, quick and viable solution to the problem was update 2023.10.11 of the app.
That I need to upgrade to a higher Nextcloud version is a different topic.