[GH-ISSUE #425] Nextcloud 21 incompatibility #91

Closed
opened 2026-02-26 05:33:03 +03:00 by kerem · 28 comments
Owner

Originally created by @strites on GitHub (Feb 20, 2021).
Original GitHub issue: https://github.com/nextcloud/twofactor_gateway/issues/425

My nextcloud decided to upgrade to 21.
This extension is marked as incompatible.

Tried to enable it anyway.

Result: Nextcloud stopped completely working. Even OCC command broke with this output:

root@nextcloud:~# nextcloud_occ app:list
An unhandled exception has been thrown:
Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61
Stack trace:
#0 /var/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler()
#1 /var/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create()
#2 /var/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct()
#3 /var/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient()
#4 /var/www/nextcloud/lib/private/Server.php(1251): OC\OCS\DiscoveryService->__construct()
#5 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
#6 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#7 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
#8 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
#9 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query()
#10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#13 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#14 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#15 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#16 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#17 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#19 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#20 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#21 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#22 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#23 /var/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#24 /var/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query()
#25 /var/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml()
#26 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#27 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')

Solution was to move temporarily away the /var/www/nextcloud/apps/twofactor_gateway/ folder. Then Nextcloud worked again (and I could disable the app by settings page)

Originally created by @strites on GitHub (Feb 20, 2021). Original GitHub issue: https://github.com/nextcloud/twofactor_gateway/issues/425 My nextcloud decided to upgrade to 21. This extension is marked as incompatible. Tried to enable it anyway. Result: Nextcloud stopped completely working. Even OCC command broke with this output: ``` root@nextcloud:~# nextcloud_occ app:list An unhandled exception has been thrown: Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61 Stack trace: #0 /var/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler() #1 /var/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create() #2 /var/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct() #3 /var/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient() #4 /var/www/nextcloud/lib/private/Server.php(1251): OC\OCS\DiscoveryService->__construct() #5 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}() #6 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #7 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet() #8 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query() #9 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query() #10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #13 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #14 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #15 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #16 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #17 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #19 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #20 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #21 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #22 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #23 /var/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #24 /var/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query() #25 /var/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml() #26 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands() #27 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...') ``` Solution was to move temporarily away the /var/www/nextcloud/apps/twofactor_gateway/ folder. Then Nextcloud worked again (and I could disable the app by settings page)
kerem 2026-02-26 05:33:03 +03:00
Author
Owner

@zauguin commented on GitHub (Feb 20, 2021):

The extension seems to work in Nextcloud 21 if you delete the .../apps/twofactor_gateway/vendor/guzzlehttp directory.
(It bundles a library guzzlehttp which is also bundled by Nextcloud 21, but in another version. The two versions interfere with one another, triggering the error. After removing the directory, both use the newer version from Nextcloud)

<!-- gh-comment-id:782743161 --> @zauguin commented on GitHub (Feb 20, 2021): The extension seems to work in Nextcloud 21 if you delete the `.../apps/twofactor_gateway/vendor/guzzlehttp` directory. (It bundles a library guzzlehttp which is also bundled by Nextcloud 21, but in another version. The two versions interfere with one another, triggering the error. After removing the directory, both use the newer version from Nextcloud)
Author
Owner

@strites commented on GitHub (Feb 21, 2021):

Thank you for the advice!
Indeed removing the guzlehttp directory made Telegram 2fa working again!

<!-- gh-comment-id:782839409 --> @strites commented on GitHub (Feb 21, 2021): Thank you for the advice! Indeed removing the guzlehttp directory made Telegram 2fa working again!
Author
Owner

@strites commented on GitHub (Feb 21, 2021):

BUT
There is now a diarrhea of error logs about not being able to import the deleted folder
And 2fa is no more configurable in settings page

<!-- gh-comment-id:782840146 --> @strites commented on GitHub (Feb 21, 2021): BUT There is now a diarrhea of error logs about not being able to import the deleted folder And 2fa is no more configurable in settings page
Author
Owner

@ChristophWurst commented on GitHub (Feb 22, 2021):

The extension seems to work in Nextcloud 21 if you delete the .../apps/twofactor_gateway/vendor/guzzlehttp directory.
(It bundles a library guzzlehttp which is also bundled by Nextcloud 21, but in another version. The two versions interfere with one another, triggering the error. After removing the directory, both use the newer version from Nextcloud)

Good observation: this has also causes issues in the past: https://github.com/nextcloud/twofactor_gateway/issues/349

<!-- gh-comment-id:783147402 --> @ChristophWurst commented on GitHub (Feb 22, 2021): > The extension seems to work in Nextcloud 21 if you delete the `.../apps/twofactor_gateway/vendor/guzzlehttp` directory. > (It bundles a library guzzlehttp which is also bundled by Nextcloud 21, but in another version. The two versions interfere with one another, triggering the error. After removing the directory, both use the newer version from Nextcloud) Good observation: this has also causes issues in the past: https://github.com/nextcloud/twofactor_gateway/issues/349
Author
Owner

@joekerna commented on GitHub (Mar 1, 2021):

I've removed the guzzlehttp directory and logging in is working again.
But my logfile is getting flooded with messages like:

Failed opening '/var/www/nextcloud/apps/twofactor_gateway/vendor/composer/../guzzlehttp/guzzle/src/RedirectMiddleware.php' for inclusion

<!-- gh-comment-id:787878627 --> @joekerna commented on GitHub (Mar 1, 2021): I've removed the `guzzlehttp` directory and logging in is working again. But my logfile is getting flooded with messages like: > Failed opening '/var/www/nextcloud/apps/twofactor_gateway/vendor/composer/../guzzlehttp/guzzle/src/RedirectMiddleware.php' for inclusion
Author
Owner

@pcburcham commented on GitHub (Mar 4, 2021):

If the log errors are driving anyone loopy, after deleting the guzzlehttp dir open /twofactor_gateway/vendor/composer and comment out guzzlehttp lines in autoload_classmap.php, autoload_files.php, autoload_namespaces.php, autoload_psr4.php, and autoload_static.php. In a couple of those files there is a reference to guzzlehttp that is associated with Telegram - just leave those uncommented.

Alternatively, create a autoload_file.php.old backup and a new autoload_file.php of each file and remove the entries. It may be easier to do this, as you will find arrays that need commenting/removed.

This took care of all of my log errors and enabled the app's config again.

<!-- gh-comment-id:790801963 --> @pcburcham commented on GitHub (Mar 4, 2021): If the log errors are driving anyone loopy, after deleting the guzzlehttp dir open /twofactor_gateway/vendor/composer and comment out guzzlehttp lines in autoload_classmap.php, autoload_files.php, autoload_namespaces.php, autoload_psr4.php, and autoload_static.php. In a couple of those files there is a reference to guzzlehttp that is associated with Telegram - just leave those uncommented. Alternatively, create a autoload_file.php.old backup and a new autoload_file.php of each file and remove the entries. It may be easier to do this, as you will find arrays that need commenting/removed. This took care of all of my log errors and enabled the app's config again.
Author
Owner

@joekerna commented on GitHub (Mar 5, 2021):

In my case that's 154 lines of code... I'm scared!

<!-- gh-comment-id:791256889 --> @joekerna commented on GitHub (Mar 5, 2021): In my case that's 154 lines of code... I'm scared!
Author
Owner

@pcburcham commented on GitHub (Mar 5, 2021):

In my case that's 154 lines of code... I'm scared!

LOL, it's quite a few but with each file backed up you should be ok. Just mind the commas when commenting or deleting arrays.

<!-- gh-comment-id:791288352 --> @pcburcham commented on GitHub (Mar 5, 2021): > In my case that's 154 lines of code... I'm scared! LOL, it's quite a few but with each file backed up you should be ok. Just mind the commas when commenting or deleting arrays.
Author
Owner

@tetebueno commented on GitHub (Mar 6, 2021):

@pcburcham's approach worked for me (I'm using NC on Docker). Here's what I executed in order to follow his instructions:

rm -r /var/www/html/custom_apps/twofactor_gateway/vendor/guzzlehttp
sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_classmap.php
sed -i -r "s/^.+'\/guzzlehttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_files.php
sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_psr4.php
sed -i -r "s/^.+'\/guzzlehttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_static.php
sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_static.php

Then enabled the app and that was it.

Hope it helps until this is fixed.

<!-- gh-comment-id:791854896 --> @tetebueno commented on GitHub (Mar 6, 2021): @pcburcham's approach worked for me (I'm using NC on Docker). Here's what I executed in order to follow his instructions: ```bash rm -r /var/www/html/custom_apps/twofactor_gateway/vendor/guzzlehttp sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_classmap.php sed -i -r "s/^.+'\/guzzlehttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_files.php sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_psr4.php sed -i -r "s/^.+'\/guzzlehttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_static.php sed -i -r "s/^.+'GuzzleHttp.+$//g" /var/www/html/custom_apps/twofactor_gateway/vendor/composer/autoload_static.php ``` Then enabled the app and that was it. Hope it helps until this is fixed.
Author
Owner

@boppy commented on GitHub (Apr 7, 2021):

Can (at least) one of you verify my PR in #438 is working? I tested it with a fresh installation but it would be nice, if you could verify...

<!-- gh-comment-id:814790761 --> @boppy commented on GitHub (Apr 7, 2021): Can (at least) one of you verify my PR in #438 is working? I tested it with a fresh installation but it would be nice, if you could verify...
Author
Owner

@tetebueno commented on GitHub (Apr 7, 2021):

Hi, the PR didn't work for me. Here are the stepse I followed:

I cloned the repo (checked out the branch), moved the project folder into the custom_apps folder under NC installation, then executed in the terminal:

$ occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating <twofactor_gateway> ...
Updated <twofactor_gateway> to 0.18.0
...
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Resetting log level

It seems the update was detected considering what the output shows.

When I get into NC I see the log messages mentioned here, the configuration for Telegram 2FA seems to have been reset and, when testing the functionality, I get an error message after inputting credentials and logging in (the URL is login/challenge/gateway_telegram).

<!-- gh-comment-id:814984897 --> @tetebueno commented on GitHub (Apr 7, 2021): Hi, the PR didn't work for me. Here are the stepse I followed: I cloned the repo (checked out the branch), moved the project folder into the `custom_apps` folder under NC installation, then executed in the terminal: ``` $ occ upgrade Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Setting log level to debug Turned on maintenance mode Updating database schema Updated database Updating <twofactor_gateway> ... Updated <twofactor_gateway> to 0.18.0 ... Starting code integrity check... Finished code integrity check Update successful Turned off maintenance mode Resetting log level ``` It seems the update was detected considering what the output shows. When I get into NC I see the log messages mentioned [here](https://github.com/nextcloud/twofactor_gateway/issues/425#issuecomment-782840146), the configuration for Telegram 2FA seems to have been reset and, when testing the functionality, I get an error message after inputting credentials and logging in (the URL is `login/challenge/gateway_telegram`).
Author
Owner

@tetebueno commented on GitHub (Apr 7, 2021):

I've also tried installing from scratch but got the same flood of log messages and wasn't able to configure Telegram 2FA after running occ twofactorauth:gateway:configure telegram.

<!-- gh-comment-id:815028971 --> @tetebueno commented on GitHub (Apr 7, 2021): I've also tried installing from scratch but got the same flood of log messages and wasn't able to configure Telegram 2FA after running `occ twofactorauth:gateway:configure telegram`.
Author
Owner

@boppy commented on GitHub (Apr 7, 2021):

I've also tried installing from scratch but got the same flood of log messages and wasn't able to configure Telegram 2FA after running occ twofactorauth:gateway:configure telegram.

On a "scratch install"? I also tested a totally fresh install in a totally fresh Docker container and was able to successfully activate and configure the gateway... That's weird. I'll try to have a look tomorrow.

<!-- gh-comment-id:815047773 --> @boppy commented on GitHub (Apr 7, 2021): > I've also tried installing from scratch but got the same flood of log messages and wasn't able to configure Telegram 2FA after running `occ twofactorauth:gateway:configure telegram`. On a "scratch install"? I also tested a totally fresh install in a totally fresh Docker container and was able to successfully activate and configure the gateway... That's weird. I'll try to have a look tomorrow.
Author
Owner

@tetebueno commented on GitHub (Apr 7, 2021):

Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know.

<!-- gh-comment-id:815057999 --> @tetebueno commented on GitHub (Apr 7, 2021): Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know.
Author
Owner

@doreks commented on GitHub (Apr 10, 2021):

Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know.

hi!
im running NC into a docker. Im having the same issue, :

root@2cc3fdb5b135:/data# occ status 
An unhandled exception has been thrown:
Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /config/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61
Stack trace:
#0 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler()
#1 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create()
#2 /config/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct()
#3 /config/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient()
#4 /config/www/nextcloud/lib/private/Server.php(1264): OC\OCS\DiscoveryService->__construct()
#5 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
#6 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#7 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
#8 /config/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
#9 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query()
#10 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#13 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#14 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#15 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#16 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#17 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#19 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#20 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#21 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#22 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#23 /config/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#24 /config/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query()
#25 /config/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml()
#26 /config/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#27 /config/www/nextcloud/occ(11): require_once('/config/www/nex...')

What would you recommend to solve it?

thanks for your support!

<!-- gh-comment-id:817171905 --> @doreks commented on GitHub (Apr 10, 2021): > Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know. hi! im running NC into a docker. Im having the same issue, : ``` root@2cc3fdb5b135:/data# occ status An unhandled exception has been thrown: Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /config/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61 Stack trace: #0 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler() #1 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create() #2 /config/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct() #3 /config/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient() #4 /config/www/nextcloud/lib/private/Server.php(1264): OC\OCS\DiscoveryService->__construct() #5 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}() #6 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #7 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet() #8 /config/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query() #9 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query() #10 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #12 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #13 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #14 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #15 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #16 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #17 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #19 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #20 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #21 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #22 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #23 /config/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #24 /config/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query() #25 /config/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml() #26 /config/www/nextcloud/console.php(99): OC\Console\Application->loadCommands() #27 /config/www/nextcloud/occ(11): require_once('/config/www/nex...') ``` What would you recommend to solve it? thanks for your support!
Author
Owner

@boppy commented on GitHub (Apr 12, 2021):

Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know.

I cannot reproduce a problem here... I just installed a nc20 on php 7.4, configured the app (+ telegram) with 0.17.0, updated to 0.18.0 and have no problems at all. I also ran an update to 21.0.1 - also worked flawlessly.

Main note

The config should not have to be wiped, because only the transport-class has been swapped, so config stays where it was - destroying BC is always bad ^^. What has to be wiped is the vendor folder of the old app. Best practice might be to rename the old app and install the new one (since config is in DB, no problem should arise). Like:

cd apps
mv twofactor_gateway twofactor_gateway-0.17.0
git clone https://github.com/boppy/twofactor_gateway.git
cd twofactor_gateway
git checkout php8-nc21
composer install
npm install
npm run build
<!-- gh-comment-id:817879448 --> @boppy commented on GitHub (Apr 12, 2021): > Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know. I cannot reproduce a problem here... I just installed a nc20 on php 7.4, configured the app (+ telegram) with 0.17.0, updated to 0.18.0 and have no problems at all. I also ran an update to 21.0.1 - also worked flawlessly. ## Main note The config should not have to be wiped, because only the transport-class has been swapped, so config stays where it was - destroying BC is always bad ^^. What **has to be wiped** is the vendor folder of the old app. Best practice might be to rename the old app and install the new one (since config is in DB, no problem should arise). Like: ```bash cd apps mv twofactor_gateway twofactor_gateway-0.17.0 git clone https://github.com/boppy/twofactor_gateway.git cd twofactor_gateway git checkout php8-nc21 composer install npm install npm run build ```
Author
Owner

@boppy commented on GitHub (Apr 12, 2021):

What would you recommend to solve it?

You could either try what @tetebueno suggested in this response or you could wait until a version is released that has compatibility with Nextcloud 21.

<!-- gh-comment-id:817889407 --> @boppy commented on GitHub (Apr 12, 2021): > What would you recommend to solve it? You could either try what @tetebueno suggested in [this response](https://github.com/nextcloud/twofactor_gateway/issues/425#issuecomment-791854896) or you could wait until a version is released that has compatibility with Nextcloud 21.
Author
Owner

@rickgardner077 commented on GitHub (Apr 21, 2021):

Stumbled on this thread from checking compatibility in my NC instance. So there is no easy way to enable 2FA on NC21 for the time being? Will there be an update or is there a different module to enable 2FA and upüdate to NC21?

<!-- gh-comment-id:824030561 --> @rickgardner077 commented on GitHub (Apr 21, 2021): Stumbled on this thread from checking compatibility in my NC instance. So there is no easy way to enable 2FA on NC21 for the time being? Will there be an update or is there a different module to enable 2FA and upüdate to NC21?
Author
Owner

@nursoda commented on GitHub (Apr 21, 2021):

There are other 2FA ways that work already, but Gateway (SMS, Telegram, etc.) currently does not.

<!-- gh-comment-id:824359372 --> @nursoda commented on GitHub (Apr 21, 2021): There are other 2FA ways that work already, but Gateway (SMS, Telegram, etc.) currently does not.
Author
Owner

@ChristophWurst commented on GitHub (Apr 22, 2021):

I suggest that someone tests https://github.com/nextcloud/twofactor_gateway/pull/438 and then this can slowly move forward.

<!-- gh-comment-id:824575404 --> @ChristophWurst commented on GitHub (Apr 22, 2021): I suggest that someone tests https://github.com/nextcloud/twofactor_gateway/pull/438 and then this can slowly move forward.
Author
Owner

@matthias-pelger commented on GitHub (Apr 27, 2021):

Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know.

I cannot reproduce a problem here... I just installed a nc20 on php 7.4, configured the app (+ telegram) with 0.17.0, updated to 0.18.0 and have no problems at all. I also ran an update to 21.0.1 - also worked flawlessly.

Main note

The config should not have to be wiped, because only the transport-class has been swapped, so config stays where it was - destroying BC is always bad ^^. What has to be wiped is the vendor folder of the old app. Best practice might be to rename the old app and install the new one (since config is in DB, no problem should arise). Like:

cd apps
mv twofactor_gateway twofactor_gateway-0.17.0
git clone https://github.com/boppy/twofactor_gateway.git
cd twofactor_gateway
git checkout php8-nc21
composer install
npm install
npm run build

Thanks for this. worked smoothly on an existing NC install!
Can I somehoe help you with something (logs?) to include this to the final version?

<!-- gh-comment-id:827427102 --> @matthias-pelger commented on GitHub (Apr 27, 2021): > > > > Sorry, I checked and the existing configuration wasn't wiped, so, no, I wasn't able to test it from scratch. I could only test that, with existing configuration, doing an uprgade, things don't seem to work quite right. I'll try to clean everything, test again and let you know. > > I cannot reproduce a problem here... I just installed a nc20 on php 7.4, configured the app (+ telegram) with 0.17.0, updated to 0.18.0 and have no problems at all. I also ran an update to 21.0.1 - also worked flawlessly. > ## Main note > > The config should not have to be wiped, because only the transport-class has been swapped, so config stays where it was - destroying BC is always bad ^^. What **has to be wiped** is the vendor folder of the old app. Best practice might be to rename the old app and install the new one (since config is in DB, no problem should arise). Like: > > ```shell > cd apps > mv twofactor_gateway twofactor_gateway-0.17.0 > git clone https://github.com/boppy/twofactor_gateway.git > cd twofactor_gateway > git checkout php8-nc21 > composer install > npm install > npm run build > ``` Thanks for this. worked smoothly on an existing NC install! Can I somehoe help you with something (logs?) to include this to the final version?
Author
Owner

@boppy commented on GitHub (Apr 27, 2021):

@ChristophWurst Is there anything we/I can do to finalize this? I checked with a NC 20@PHP7.4 + update, a fresh NC 21@php8 and we now have two responses that it's working. Since there is no change beside the transport helping class, I do not see any drawback or BC brake that might appear.

<!-- gh-comment-id:827445100 --> @boppy commented on GitHub (Apr 27, 2021): @ChristophWurst Is there anything we/I can do to finalize this? I checked with a NC 20@PHP7.4 + update, a fresh NC 21@php8 and we now have two responses that it's working. Since there is no change beside the transport helping class, I do not see any drawback or BC brake that might appear.
Author
Owner

@jandr commented on GitHub (May 19, 2021):

I have checked this on NC21 with PHP8.0, on an installation that was running version 0.17 of twofactor_gateway, and with the instructions stated, it worked for me.

<!-- gh-comment-id:843956545 --> @jandr commented on GitHub (May 19, 2021): I have checked this on NC21 with PHP8.0, on an installation that was running version 0.17 of twofactor_gateway, and with the instructions stated, it worked for me.
Author
Owner

@doreks commented on GitHub (Jun 15, 2021):

any idea to fix the issue and can use the app?

An unhandled exception has been thrown:
Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /config/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61
Stack trace:
#0 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler()
#1 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create()
#2 /config/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct()
#3 /config/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient()
#4 /config/www/nextcloud/lib/private/Server.php(1264): OC\OCS\DiscoveryService->__construct()
#5 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
#6 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#7 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
#8 /config/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
#9 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query()
#10 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#13 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#14 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#15 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#16 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#17 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query()
#18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#19 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map()
#20 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass()
#21 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve()
#22 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query()
#23 /config/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#24 /config/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query()
#25 /config/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml()
#26 /config/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#27 /config/www/nextcloud/occ(11): require_once('/config/www/nex...')
<!-- gh-comment-id:861657226 --> @doreks commented on GitHub (Jun 15, 2021): any idea to fix the issue and can use the app? ``` An unhandled exception has been thrown: Error: Call to undefined method GuzzleHttp\Utils::chooseHandler() in /config/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/functions.php:61 Stack trace: #0 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/HandlerStack.php(42): GuzzleHttp\choose_handler() #1 /config/www/nextcloud/apps/twofactor_gateway/vendor/guzzlehttp/guzzle/src/Client.php(66): GuzzleHttp\HandlerStack::create() #2 /config/www/nextcloud/lib/private/Http/Client/ClientService.php(62): GuzzleHttp\Client->__construct() #3 /config/www/nextcloud/lib/private/OCS/DiscoveryService.php(55): OC\Http\Client\ClientService->newClient() #4 /config/www/nextcloud/lib/private/Server.php(1264): OC\OCS\DiscoveryService->__construct() #5 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}() #6 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #7 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet() #8 /config/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query() #9 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(434): OC\ServerContainer->query() #10 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #11 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #12 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #13 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #14 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #15 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #16 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(431): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #17 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query() #18 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}() #19 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): array_map() #20 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass() #21 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve() #22 /config/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(459): OC\AppFramework\Utility\SimpleContainer->query() #23 /config/www/nextcloud/lib/private/ServerContainer.php(146): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback() #24 /config/www/nextcloud/lib/private/Console/Application.php(221): OC\ServerContainer->query() #25 /config/www/nextcloud/lib/private/Console/Application.php(136): OC\Console\Application->loadCommandsFromInfoXml() #26 /config/www/nextcloud/console.php(99): OC\Console\Application->loadCommands() #27 /config/www/nextcloud/occ(11): require_once('/config/www/nex...') ```
Author
Owner

@nursoda commented on GitHub (Jun 15, 2021):

No fixed version has been released yet, not sure why. @ChristophWurst ?

seyfahnis PR did fix the issues on master. But since a new build is created upon each PR, you may just use the latest, currently that would be https://github.com/nextcloud/twofactor_gateway/suites/2976746507/artifacts/67151078 . On my systems, I installed the version built right after seyfahnis merges, which is https://github.com/nextcloud/twofactor_gateway/suites/2969422777/artifacts/66939279. Mind that these PR builds come as .tar.gz.zip. If you want a fixed but nightlyish version, all you need to do is to download, unzip, ungzip/untar and move the unpacked directory to apps.

<!-- gh-comment-id:861826765 --> @nursoda commented on GitHub (Jun 15, 2021): No fixed version has been released yet, not sure why. @ChristophWurst ? seyfahnis PR did fix the issues on master. But since a new build is created upon each PR, you may just use the latest, currently that would be https://github.com/nextcloud/twofactor_gateway/suites/2976746507/artifacts/67151078 . On my systems, I installed the version built right after seyfahnis merges, which is https://github.com/nextcloud/twofactor_gateway/suites/2969422777/artifacts/66939279. Mind that these PR builds come as .tar.gz.zip. If you want a fixed but nightlyish version, all you need to do is to download, unzip, ungzip/untar and move the unpacked directory to apps.
Author
Owner

@doreks commented on GitHub (Jun 16, 2021):

thanks @nursoda is what I assumed... but of course this scenario of downtime is happening every time there is a version upgrade in NC and I do not know up to what point you can keep as valid application that causes an unavailability of the environment and of course, to fix the issues apply WA downloading packages, removing here, moving over there.....

The point I would like to reason is , we know this app gives problems , shouldn't it be blocked from the app shop so users are not exposed to these problems until this is fixed?

this is just a thought , of course I am open to any comments.
thanks for your support

<!-- gh-comment-id:862160148 --> @doreks commented on GitHub (Jun 16, 2021): thanks @nursoda is what I assumed... but of course this scenario of downtime is happening every time there is a version upgrade in NC and I do not know up to what point you can keep as valid application that causes an unavailability of the environment and of course, to fix the issues apply WA downloading packages, removing here, moving over there..... The point I would like to reason is , we know this app gives problems , shouldn't it be blocked from the app shop so users are not exposed to these problems until this is fixed? this is just a thought , of course I am open to any comments. thanks for your support
Author
Owner

@boppy commented on GitHub (Jun 16, 2021):

shouldn't it be blocked from the app shop so users are not exposed to these problems until this is fixed?

The App-Store states that there is no NC 21 compatible version of this App. Also the pre-update routine points out that this app is incompatible to NC 21. If anyone ignores all this info and installs the app, I would assume that it is done intentionally.

<!-- gh-comment-id:862195154 --> @boppy commented on GitHub (Jun 16, 2021): > shouldn't it be blocked from the app shop so users are not exposed to these problems until this is fixed? The App-Store states that there is no NC 21 compatible version of this App. Also the pre-update routine points out that this app is incompatible to NC 21. If anyone ignores all this info and installs the app, I would assume that it is done intentionally.
Author
Owner

@ChristophWurst commented on GitHub (Jun 25, 2021):

No fixed version has been released yet, not sure why. @ChristophWurst ?

Lack of time. I'm doing this now.

<!-- gh-comment-id:868353863 --> @ChristophWurst commented on GitHub (Jun 25, 2021): > No fixed version has been released yet, not sure why. @ChristophWurst ? Lack of time. I'm doing this now.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/twofactor_gateway-nextcloud#91
No description provided.