Leantime 3.2.0 update issue
-
@nebulon, version 3.2.0 has an issue that breaks Leantime if upgrade from an earlier version without first disabling all the plugins and deleting some files/folders. All very well, however the first you know about this is when the automatic upgrade has run and broken Leantime, by which time it is too late.
@marcelfolaron has kindly released a fix in version 3.2.1 which will allow us to get back up and running, however we cannot manually install it as we don't want to break the Cloudron updates system.
Can you give an idea on when you might be able to pull this new version?
Thank you for your help -
Same boat here can you please update this?
-
I have reverted the previous package version for a start to not break more updates.
We haven't released version 3.2.1 yet since that version crashes on startup:
09:13:45 - ErrorException: foreach() argument must be of type array|object, null given in /app/code/vendor/illuminate/collections/Arr.php:255 09:13:45 - Stack trace: 09:13:45 - #0 /app/code/app/Core/Exceptions/HandleExceptions.php(255): Leantime\Core\Exceptions\HandleExceptions->handleError() 09:13:45 - #1 /app/code/vendor/illuminate/collections/Arr.php(255): Leantime\Core\Exceptions\HandleExceptions->Leantime\Core\Exceptions\{closure}() 09:13:45 - #2 /app/code/app/Core/Console/ConsoleKernel.php(154): Illuminate\Support\Arr::flatten() 09:13:45 - #3 /app/code/app/Core/Console/ConsoleKernel.php(36): Leantime\Core\Console\ConsoleKernel->commands() 09:13:45 - #4 /app/code/app/Core/Console/ConsoleKernel.php(233): Leantime\Core\Console\ConsoleKernel->bootstrap() 09:13:45 - #5 /app/code/app/Core/Bootstrap/Bootloader.php(163): Leantime\Core\Console\ConsoleKernel->handle() 09:13:45 - #6 /app/code/app/Core/Bootstrap/Bootloader.php(129): Leantime\Core\Bootstrap\Bootloader->handleRequest() 09:13:45 - #7 /app/code/bin/leantime(14): Leantime\Core\Bootstrap\Bootloader->boot() 09:13:45 - #8 {main}
we are investigating...
-
-
-
So far the upstream change which breaks the latest version seems to be https://github.com/Leantime/leantime/commit/cfe45394bc837ef358a3adc7f891cd3074f13f45
Something with
session()
getting replaced withCache::store('installation')->set()
breaking the bootstrapping, but my php/laravel knowledge is not that deep to quickly see what that really means. -
I reached out via the leantime discord but no reply.
-
Currently the latest version available on the cloudron app store seems to be 3.4.1 despite version 3.2.0 being listed in the package updates.
Any info on this?
I am having variouse issues with leantime on cloudron:
- users are logged out suddenly
- language settings are randomly reset
- installing and activating a plugin permanently crashes the app --> you have to delete the plugins folder /app/data/plugins to get access to the app again
I think it would be better to remove this app from the app store as long it does not work properly or at least mark it as "unstable".
-
Hi @nebulon I think there's a fix for this on Github, revert the changes in app/Core/Console/ConsoleKernel.php and apparently the error will disappear. See https://github.com/Leantime/leantime/issues/2710
Meanwhile I have chased @marcelfolaron for support.
-
Hi All
Marcel here with Leantime.I can understand the frustration and I wanted to bring some background on our support abilities:
- 3.2.1 does fix all the plugin issues that were introduced with 3.2. There were several breaking changes that we outlined in our release notes: https://github.com/Leantime/leantime/releases/tag/v3.2.0 one of them requiring the disablement of all plugins before updates.
- We test our releases and offer support for our provided docker-compose environment and "bare-metal installs" on linux. Due to our small size we cannot offer support for installations that fall outside of these 2 scenarios.
Now to the bugs above:
-
With 3.2 we moved all of our home grown session management to the much more stable and sophisticted Laravel's handler. With that comes a custom "session" folder that lives in the root of the leantime application. The session folder needs to be accessible by the php executing user of the system.
-
Plugins and plugin versions have compatibility listings for each plugin. We know that we need to clean up the validation process so that "Cross version compatibility issues" are caught before installation.
Please make sure to review the plugin versions before installing. -
Plugins are installed inside of the app/Plugins directory. That folder needs to be mounted to the host so that plugins don't get deleted after a restart.
@nebulon I'll take a look at the command line tool. Which command were you trying to run that caused the error?
Thank you all for your patience as the cloudron team and us will figure out how to improve testing processes.
-
-
@leantime thanks for all that info. For background, the app packaging code is at https://git.cloudron.io/cloudron/leantime-app
Currently 3.2.1 builds fine but on initial startup it crashes with:
=> DB initialisation Created directory: /var/lib/snmp/cert_indexes ErrorException: foreach() argument must be of type array|object, null given in /app/code/vendor/illuminate/collections/Arr.php:255 Stack trace: #0 /app/code/app/Core/Exceptions/HandleExceptions.php(255): Leantime\Core\Exceptions\HandleExceptions->handleError() #1 /app/code/vendor/illuminate/collections/Arr.php(255): Leantime\Core\Exceptions\HandleExceptions->Leantime\Core\Exceptions\{closure}() #2 /app/code/app/Core/Console/ConsoleKernel.php(154): Illuminate\Support\Arr::flatten() #3 /app/code/app/Core/Console/ConsoleKernel.php(36): Leantime\Core\Console\ConsoleKernel->commands() #4 /app/code/app/Core/Console/ConsoleKernel.php(233): Leantime\Core\Console\ConsoleKernel->bootstrap() #5 /app/code/app/Core/Bootstrap/Bootloader.php(163): Leantime\Core\Console\ConsoleKernel->handle() #6 /app/code/app/Core/Bootstrap/Bootloader.php(129): Leantime\Core\Bootstrap\Bootloader->handleRequest() #7 /app/code/bin/leantime(14): Leantime\Core\Bootstrap\Bootloader->boot() #8 {main}
This is at https://git.cloudron.io/cloudron/leantime-app/-/blob/main/start.sh?ref_type=heads#L64 maybe we set some configs wrong or miss a necessary command. I will have more time in the afternoon to dive into it again.