Skip to content

Error 500 on /studio/add-link #959

Description

@Ti-Tom

When adding a link (url = /studio/add-link), the Yaml lib seems to be missing when doing a composer install --no-dev.
The error appeared on the latest version of the docker image.

A composer install solves the problem but install unnecessary libs.

Image

Activity

  1. kerashistorm commented on Jan 28, 2026

    @kerashistorm

    Same issue. After trying the "compose install" the page started working, sort of, but not properly. I have a spinny thing on the page that doesn't finish. As the last changelog references removing a discontinued dependency, it's likely that doing so broke something.

  2. tomster105 commented on Feb 1, 2026

    @tomster105

    Also having this issue.

  3. dvweiss commented on Feb 2, 2026

    @dvweiss

    Just installed an instance on ProxMox in an lxc via community-scripts, and I get the same 500 error. I tried an apt install composer and rebooted the lxc, but no change for me.

    v4.8.5
    /studio/add-link

    Stack trace:
    Error:
    Class "Symfony\Component\Yaml\Yaml" not found

    at /var/www/html/linkstack/app/Models/LinkType.php:44
    at App\Models\LinkType::get()
    (/var/www/html/linkstack/app/Http/Controllers/UserController.php:192)
    at App\Http\Controllers\UserController->AddUpdateLink()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54)
    at Illuminate\Routing\Controller->callAction()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43)
    at Illuminate\Routing\ControllerDispatcher->dispatch()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php:259)
    at Illuminate\Routing\Route->runController()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php:205)
    at Illuminate\Routing\Route->run()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php:798)
    at Illuminate\Routing\Router->Illuminate\Routing{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php:30)
    at Illuminate\Auth\Middleware\EnsureEmailIsVerified->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/app/Http/Middleware/Impersonate.php:159)
    at App\Http\Middleware\Impersonate->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/app/Http/Middleware/CheckBlockedUser.php:27)
    at App\Http\Middleware\CheckBlockedUser->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50)
    at Illuminate\Routing\Middleware\SubstituteBindings->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:44)
    at Illuminate\Auth\Middleware\Authenticate->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78)
    at Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49)
    at Illuminate\View\Middleware\ShareErrorsFromSession->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121)
    at Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64)
    at Illuminate\Session\Middleware\StartSession->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37)
    at Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67)
    at Illuminate\Cookie\Middleware\EncryptCookies->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
    at Illuminate\Pipeline\Pipeline->then()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php:797)
    at Illuminate\Routing\Router->runRouteWithinStack()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php:776)
    at Illuminate\Routing\Router->runRoute()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php:740)
    at Illuminate\Routing\Router->dispatchToRoute()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php:729)
    at Illuminate\Routing\Router->dispatch()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:190)
    at Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/livewire/livewire/src/DisableBrowserCache.php:19)
    at Livewire\DisableBrowserCache->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/app/Http/Middleware/Headers.php:25)
    at App\Http\Middleware\Headers->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
    at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31)
    at Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
    at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:40)
    at Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27)
    at Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:86)
    at Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:49)
    at Illuminate\Http\Middleware\HandleCors->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/fideloper/proxy/src/TrustProxies.php:57)
    at Fideloper\Proxy\TrustProxies->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustHosts.php:48)
    at Illuminate\Http\Middleware\TrustHosts->handle()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
    at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
    at Illuminate\Pipeline\Pipeline->then()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:165)
    at Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
    (/var/www/html/linkstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:134)
    at Illuminate\Foundation\Http\Kernel->handle()
    (/var/www/html/linkstack/index.php:63)

    Image
  4. xanathon commented on Feb 4, 2026

    @xanathon

    I installed using SQLite on premium shared hosting and have the same problem.

  5. xanathon commented on Feb 4, 2026

    @xanathon

    I will now downgrade to 4.8.4 to see if that works.

  6. xanathon commented on Feb 4, 2026

    @xanathon

    Confirmed: 4.8.4 works.

  7. schnippendullerich commented on Feb 4, 2026

    @schnippendullerich

    Same error. Sorry for the extra post. Shall I delete it?

  8. electricsteve commented on Feb 8, 2026

    @electricsteve

    Yes definitely one of these changes caused it: v4.8.4...v4.8.5

  9. mpca86 commented on Feb 8, 2026

    @mpca86

    Hi, i have same problem in shared hosting:

    Image
  10. lastsamurai26 commented on Feb 9, 2026

    @lastsamurai26
    Member

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4.
    This can be done manually by placing the update package for version 4.8.4 in the httpdocs folder.

    If you use Docker, This is not a Docker bug.
    The Docker images only provide the version at the time of build once; all other versions are provided via the internal Linkstack Updater, so downgrading via tags is not possible.

  11. mbirth commented on Feb 11, 2026

    @mbirth

    Looks like symfony/yaml is only required by some development package, but not by the prod packages. Thus no autoload information is generated for it.

    This fixed it for me:

    composer require "symfony/yaml ^6.0|^7.0" --update-no-dev
    
  12. hoonsubin commented on Feb 11, 2026

    @hoonsubin

    also having the same issue. Hope the new version fixes it.

  13. ruderl commented on Feb 15, 2026

    @ruderl

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4. This can be done manually by placing the update package for version 4.8.4 in the httpdocs folder.

    If you use Docker, This is not a Docker bug. The Docker images only provide the version at the time of build once; all other versions are provided via the internal Linkstack Updater, so downgrading via tags is not possible.

    Same problem here -- Can you please illuminate where I can downgrade to 4.8.4? I cannot find a docker pull image for that, the tags don't seem to work...

  14. electricsteve commented on Feb 15, 2026

    @electricsteve
  15. GustelDE commented on Feb 16, 2026

    @GustelDE

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4.

    You guys are aware of this? Then why on earth do you still propagate this failed update through the updater??!!
    I have to copy now the 4.8.4 stuff from backup. Wasted time, nonsense, because you guys cant think beyond the end of your nose.

  16. kerashistorm commented on Feb 16, 2026

    @kerashistorm

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4.

    You guys are aware of this? Then why on earth do you still propagate this failed update through the updater??!! I have to copy now the 4.8.4 stuff from backup. Wasted time, nonsense, because you guys cant think beyond the end of your nose.

    Agreed, this update should have been pulled weeks ago when it was discovered that even a fresh install would not work. There's no reason why the only docker version should be completely nonfunctional without messing around with extra steps.

  17. electricsteve commented on Feb 16, 2026

    @electricsteve

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4.

    You guys are aware of this? Then why on earth do you still propagate this failed update through the updater??!! I have to copy now the 4.8.4 stuff from backup. Wasted time, nonsense, because you guys cant think beyond the end of your nose.

    I do agree it is baffling they keep the update up/don't release a quick patch. But please keep it civil.

  18. zurielbm commented on Feb 16, 2026

    @zurielbm

    We are aware of this bug and ask for your patience. At this time, it is only possible to downgrade to 4.8.4. This can be done manually by placing the update package for version 4.8.4 in the httpdocs folder.
    If you use Docker, This is not a Docker bug. The Docker images only provide the version at the time of build once; all other versions are provided via the internal Linkstack Updater, so downgrading via tags is not possible.

    Same problem here -- Can you please illuminate where I can downgrade to 4.8.4? I cannot find a docker pull image for that, the tags don't seem to work...

    I found "alexbabel/linkstack:latest" which is version 4.8.0 and "ilyavassyutovich/linkstack:v4.8.4" version 4.8.4. Test both and they worked so far.

  19. lastsamurai26 commented on Feb 17, 2026

    @lastsamurai26
    Member

    This fixed it for me:

    composer require "symfony/yaml ^6.0|^7.0" --update-no-dev
    

    Mistakes happen all over the world, so there's no reason to be rude.
    We all do this in our spare time. There are nice people here in the community who offer help and have even given tips on how to work with version 4.8.5 if you can't downgrade yourself.

    We are not full-stack developers; as mentioned at the beginning, we do this in our spare time.
    I am currently trying to integrate this into a Docker image so that the latest version is loaded automatically, but this is proving difficult because Linkstack itself was not actually made for Docker, but is only a bonus feature.
    Therefore, the Docker images are only adapted by the OS and the packages, and not by the software itself.

    I have now defined version 4.8.5 as a pre-release for the time being.

    To downgrade, download the appropriate Update.zip file for the version and manually overwrite the docker mount or docker volume with it.

    Another option is to use the beta version of Linkstack. This also works.

    To do this, set join_beta= true in .env. (not the docker .env) and then use the updater

  20. dvweiss commented on Feb 17, 2026

    @dvweiss

    Thank you for all your hard work on this. I know programming a product—even as a full time job—can be an incredible challenge.

    I will attest to the “join_beta=true” method. I set it, clicked update in the nav bar, and it fixed the add link problem right up. Then I switched back to “false” and will patiently await the next stable version.

    I have a few UI suggestions for the future, but I’ll keep them to myself until the next stable comes out.

    Thanks again.
    Dan

    This fixed it for me:

    composer require "symfony/yaml ^6.0|^7.0" --update-no-dev
    

    Mistakes happen all over the world, so there's no reason to be rude. We all do this in our spare time. There are nice people here in the community who offer help and have even given tips on how to work with version 4.8.5 if you can't downgrade yourself.

    We are not full-stack developers; as mentioned at the beginning, we do this in our spare time. I am currently trying to integrate this into a Docker image so that the latest version is loaded automatically, but this is proving difficult because Linkstack itself was not actually made for Docker, but is only a bonus feature. Therefore, the Docker images are only adapted by the OS and the packages, and not by the software itself.

    I have now defined version 4.8.5 as a pre-release for the time being.

    To downgrade, download the appropriate Update.zip file for the version and manually overwrite the docker mount or docker volume with it.

    Another option is to use the beta version of Linkstack. This also works.

    To do this, set join_beta= true in .env. (not the docker .env) and then use the updater

  21. BabyFnord commented on Feb 17, 2026

    @BabyFnord

    Looks like symfony/yaml is only required by some development package, but not by the prod packages. Thus no autoload information is generated for it.

    This fixed it for me:

    composer require "symfony/yaml ^6.0|^7.0" --update-no-dev
    

    Welp … I tried this in my linkstack root folder, but it didn't work out:

    [linkstack]$ composer require "symfony/yaml ^6.0|^7.0" --update-no-dev
    ./composer.json has been updated
    Running composer update symfony/yaml
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - laravel/framework is locked to version 9.x-dev and an update of this package was not requested.
        - laravel/framework 9.x-dev requires league/commonmark ^2.2.1 -> satisfiable by league/commonmark[2.8.0].
        - league/commonmark 2.8.0 requires league/config ^1.1.1 -> satisfiable by league/config[v1.2.0].
        - league/config v1.2.0 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.5].
        - nette/schema v1.2.5 requires php 7.1 - 8.3 -> your php version (8.4.17) does not satisfy that requirement.
    
    Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    [linkstack]$
    

    Or am I mistaken and this is a line of code to be changed in which file?

  22. mbirth commented on Feb 17, 2026

    @mbirth

    Or am I mistaken and this is a line of code to be changed in which file?

    Hmm ... I had also tried:

    composer require "symfony/yaml ^6.0|^7.0" --ignore-platform-reqs --update-no-dev
    

    Maybe that was what worked. And maybe run this afterwards - just to be sure:

    composer dump-autoload
    

    You can check for success by running:

    grep -F 'Yaml\\\\Yaml' vendor/composer/autoload_*
    
  23. lastsamurai26 commented on Feb 18, 2026

    @lastsamurai26
    Member

    it should work with 4.8.6

    For anyone using Docker, the images were only customized for the initial creation. If you pull the latest images again, the link stack will not change.

    Please use the internal updater once.

  24. Ti-Tom commented on Feb 18, 2026

    @Ti-Tom
    Author

    it should work with 4.8.6

    For anyone using Docker, the images were only customized for the initial creation. If you pull the latest images again, the link stack will not change.

    Please use the internal updater once.

    Seem good for me.
    Thanks

  25. BabyFnord commented on Feb 18, 2026

    @BabyFnord

    Thx for coming back to this 👍 I don't use Docker, prior upgrades were done through the integrated updater, including 4.8.6.

    composer require "symfony/yaml ^6.0|^7.0" --ignore-platform-reqs --update-no-dev
    

    This returns

    ...
    Processing LaravelLang\Attributes\Provider...
    Processing LaravelLang\HttpStatuses\Provider...
    Processing LaravelLang\Lang\Provider...
    Saving changes...
    > echo.> storage/app/ISINSTALLED
    sh: echo.: command not found
    Script echo.> storage/app/ISINSTALLED handling the post-update-cmd event returned with error code 127
    
    composer dump-autoload
    

    No problems identified.

    You can check for success by running:

    grep -F 'Yaml\\\\Yaml' vendor/composer/autoload_*
    

    No output here ... adding/modifying links now is functional. Thanks so much @mbirth !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions