Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle hashids exception appropriately #5032

Open
3 tasks done
devnote-dev opened this issue Mar 14, 2024 · 6 comments
Open
3 tasks done

Handle hashids exception appropriately #5032

devnote-dev opened this issue Mar 14, 2024 · 6 comments
Labels
not confirmed Report seems plausible but requires additional testing or 3rd part confirmation.

Comments

@devnote-dev
Copy link
Contributor

devnote-dev commented Mar 14, 2024

Current Behavior

When making a request to an endpoint that involves some sort of hashing (namely with the /api/client/servers/<id>/databases?include=password endpoint) an exception is thrown if the HASHIDS_SALT or HASHIDS_LENGTH environment variables are not set, thus returning a 500 internal server error response. The logs for this are also ambiguous which does not help non-experienced users with debugging the issue.

Expected Behavior

While this effectively comes down to a user configuration issue, such exceptions should still be handled by the panel appropriately. Given that this is a server issue, 5xx responses would probably be best suited, but it doesn't really fit into one specific status code. Status code 424 could potentially work here but it's unclear if this exception fits under this status; resources I've found thus far mostly point to a failed PROPPATCH command being an example use case for the status code. Worst case scenario the panel returns 500 with a detailed error message instead of the current one.

Steps to Reproduce

  1. Unset the HASHIDS_SALT or HASHIDS_LENGTH environment variables
  2. Create a server database
  3. View the database in the server or request GET /api/client/servers/<id>/databases?include=password

Panel Version

>= 1.11.4

Wings Version

N/A

Games and/or Eggs Affected

N/A

Docker Image

N/A

Error Logs

(taken from original post by Loki_101 on Discord)

testing.ERROR: Hashids\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /app/app/Providers/HashidsServiceProvider.php on line 23 {"userId":6,"exception":"[object] (TypeError(code: 0): Hashids\\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /app/app/Providers/HashidsServiceProvider.php on line 23 at /app/vendor/hashids/hashids/src/Hashids.php:33)

Is there an existing issue for this?

  • I have searched the existing issues before opening this issue.
  • I have provided all relevant details, including the specific game and Docker images I am using if this issue is related to running a server.
  • I have checked in the Discord server and believe this is a bug with the software, and not a configuration issue with my specific system.
@devnote-dev devnote-dev added the not confirmed Report seems plausible but requires additional testing or 3rd part confirmation. label Mar 14, 2024
@Shandeika
Copy link

What needs to be specified in HASHIDS_SALT or HASHIDS_LENGTH for this to work properly? It's corny inconvenient to use the panel when I can't quickly look at the connection data

*The panel is used for personal use. No commerce

@Gronsak
Copy link

Gronsak commented Apr 3, 2024

Was troubleshooting what I think is a unrelated schedule problem and I'm getting what seems to be an error related to this on my installation of the panel running on docker.

The panel version is 1.11.5.

[2024-04-03 14:08:35] production.ERROR: Hashids\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /var/www/html/app/Providers/HashidsServiceProvider.php on line 20 {"userId":1,"exception":"[object] (TypeError(code: 0): Hashids\\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /var/www/html/app/Providers/HashidsServiceProvider.php on line 20 at /var/www/html/vendor/hashids/hashids/src/Hashids.php:33)
[stacktrace]
#0 /var/www/html/app/Providers/HashidsServiceProvider.php(20): Hashids\\Hashids->__construct()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): Pterodactyl\\Providers\\HashidsServiceProvider->Pterodactyl\\Providers\\{closure}()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(935): Illuminate\\Container\\Container->resolve()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\\Foundation\\Application->resolve()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(920): Illuminate\\Container\\Container->make()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(181): Illuminate\\Foundation\\Application->make()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(124): Illuminate\\Container\\BoundMethod::addDependencyForCallParameter()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Container\\BoundMethod::getMethodDependencies()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(661): Illuminate\\Container\\BoundMethod::call()
#13 /var/www/html/app/Transformers/Api/Application/BaseTransformer.php(31): Illuminate\\Container\\Container->call()
#14 [internal function]: Pterodactyl\\Transformers\\Api\\Application\\BaseTransformer->__construct()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(929): ReflectionClass->newInstanceArgs()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(935): Illuminate\\Container\\Container->resolve()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\\Foundation\\Application->resolve()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(920): Illuminate\\Container\\Container->make()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(120): Illuminate\\Foundation\\Application->make()
#21 /var/www/html/app/Transformers/Api/Application/BaseTransformer.php(55): app()
#22 /var/www/html/app/Http/Controllers/Api/Client/ClientApiController.php(54): Pterodactyl\\Transformers\\Api\\Application\\BaseTransformer::fromRequest()
#23 /var/www/html/app/Http/Controllers/Api/Client/Servers/DatabaseController.php(38): Pterodactyl\\Http\\Controllers\\Api\\Client\\ClientApiController->getTransformer()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Pterodactyl\\Http\\Controllers\\Api\\Client\\Servers\\DatabaseController->index()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#30 /var/www/html/app/Http/Middleware/Api/Client/Server/ResourceBelongsToServer.php(84): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\Server\\ResourceBelongsToServer->handle()
#32 /var/www/html/app/Http/Middleware/Api/Client/Server/AuthenticateServerAccess.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\Server\\AuthenticateServerAccess->handle()
#34 /var/www/html/app/Http/Middleware/Activity/ServerSubject.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Activity\\ServerSubject->handle()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(92): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(54): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#40 /var/www/html/app/Http/Middleware/Api/Client/RequireClientApiKey.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\RequireClientApiKey->handle()
#42 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/html/app/Http/Middleware/Api/Client/SubstituteClientBindings.php(31): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#44 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\SubstituteClientBindings->handle()
#45 /var/www/html/app/Http/Middleware/Api/AuthenticateIPAccess.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\AuthenticateIPAccess->handle()
#47 /var/www/html/app/Http/Middleware/RequireTwoFactorAuthentication.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\RequireTwoFactorAuthentication->handle()
#49 /var/www/html/app/Http/Middleware/Activity/TrackAPIKey.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Activity\\TrackAPIKey->handle()
#51 /var/www/html/app/Http/Middleware/Api/IsValidJson.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\IsValidJson->handle()
#53 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(45): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#55 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#56 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->Laravel\\Sanctum\\Http\\Middleware\\{closure}()
#57 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#58 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#59 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#60 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#61 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#62 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#63 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#64 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#65 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#66 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#67 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(162): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->Laravel\\Sanctum\\Http\\Middleware\\{closure}()
#68 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(32): Illuminate\\Pipeline\\Pipeline->then()
#70 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->handle()
#71 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#72 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(797): Illuminate\\Pipeline\\Pipeline->then()
#73 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#74 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#75 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#76 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#77 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#78 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#79 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#80 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#81 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#82 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#83 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#84 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#85 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#86 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#87 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#88 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#89 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#90 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#91 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#92 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#93 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#94 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#95 /var/www/html/public/index.php(67): Illuminate\\Foundation\\Http\\Kernel->handle()
#96 {main}
"}

@Boy132
Copy link
Contributor

Boy132 commented Apr 4, 2024

Was troubleshooting what I think is a unrelated schedule problem and I'm getting what seems to be an error related to this on my installation of the panel running on docker.

The panel version is 1.11.5.

[2024-04-03 14:08:35] production.ERROR: Hashids\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /var/www/html/app/Providers/HashidsServiceProvider.php on line 20 {"userId":1,"exception":"[object] (TypeError(code: 0): Hashids\\Hashids::__construct(): Argument #1 ($salt) must be of type string, null given, called in /var/www/html/app/Providers/HashidsServiceProvider.php on line 20 at /var/www/html/vendor/hashids/hashids/src/Hashids.php:33)
[stacktrace]
#0 /var/www/html/app/Providers/HashidsServiceProvider.php(20): Hashids\\Hashids->__construct()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): Pterodactyl\\Providers\\HashidsServiceProvider->Pterodactyl\\Providers\\{closure}()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(935): Illuminate\\Container\\Container->resolve()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\\Foundation\\Application->resolve()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(920): Illuminate\\Container\\Container->make()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(181): Illuminate\\Foundation\\Application->make()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(124): Illuminate\\Container\\BoundMethod::addDependencyForCallParameter()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Container\\BoundMethod::getMethodDependencies()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(661): Illuminate\\Container\\BoundMethod::call()
#13 /var/www/html/app/Transformers/Api/Application/BaseTransformer.php(31): Illuminate\\Container\\Container->call()
#14 [internal function]: Pterodactyl\\Transformers\\Api\\Application\\BaseTransformer->__construct()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(929): ReflectionClass->newInstanceArgs()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(935): Illuminate\\Container\\Container->resolve()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\\Foundation\\Application->resolve()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(920): Illuminate\\Container\\Container->make()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(120): Illuminate\\Foundation\\Application->make()
#21 /var/www/html/app/Transformers/Api/Application/BaseTransformer.php(55): app()
#22 /var/www/html/app/Http/Controllers/Api/Client/ClientApiController.php(54): Pterodactyl\\Transformers\\Api\\Application\\BaseTransformer::fromRequest()
#23 /var/www/html/app/Http/Controllers/Api/Client/Servers/DatabaseController.php(38): Pterodactyl\\Http\\Controllers\\Api\\Client\\ClientApiController->getTransformer()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Pterodactyl\\Http\\Controllers\\Api\\Client\\Servers\\DatabaseController->index()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#30 /var/www/html/app/Http/Middleware/Api/Client/Server/ResourceBelongsToServer.php(84): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\Server\\ResourceBelongsToServer->handle()
#32 /var/www/html/app/Http/Middleware/Api/Client/Server/AuthenticateServerAccess.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\Server\\AuthenticateServerAccess->handle()
#34 /var/www/html/app/Http/Middleware/Activity/ServerSubject.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Activity\\ServerSubject->handle()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(92): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(54): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#40 /var/www/html/app/Http/Middleware/Api/Client/RequireClientApiKey.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\RequireClientApiKey->handle()
#42 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/html/app/Http/Middleware/Api/Client/SubstituteClientBindings.php(31): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#44 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\Client\\SubstituteClientBindings->handle()
#45 /var/www/html/app/Http/Middleware/Api/AuthenticateIPAccess.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\AuthenticateIPAccess->handle()
#47 /var/www/html/app/Http/Middleware/RequireTwoFactorAuthentication.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\RequireTwoFactorAuthentication->handle()
#49 /var/www/html/app/Http/Middleware/Activity/TrackAPIKey.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Activity\\TrackAPIKey->handle()
#51 /var/www/html/app/Http/Middleware/Api/IsValidJson.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Pterodactyl\\Http\\Middleware\\Api\\IsValidJson->handle()
#53 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(45): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#55 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#56 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->Laravel\\Sanctum\\Http\\Middleware\\{closure}()
#57 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#58 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#59 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#60 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#61 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#62 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#63 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#64 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#65 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#66 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#67 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(162): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->Laravel\\Sanctum\\Http\\Middleware\\{closure}()
#68 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /var/www/html/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php(32): Illuminate\\Pipeline\\Pipeline->then()
#70 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful->handle()
#71 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#72 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(797): Illuminate\\Pipeline\\Pipeline->then()
#73 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#74 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#75 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#76 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#77 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#78 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#79 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#80 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#81 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#82 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#83 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#84 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#85 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#86 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#87 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#88 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#89 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#90 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#91 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#92 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#93 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#94 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#95 /var/www/html/public/index.php(67): Illuminate\\Foundation\\Http\\Kernel->handle()
#96 {main}
"}

Please visit the Discord and see the #panel-in-docker channel. This issue is not about the hashid error itself but about the error handling.

@Gronsak
Copy link

Gronsak commented Apr 5, 2024

Ah, sorry for the confusion.

@devnote-dev
Copy link
Contributor Author

What needs to be specified in HASHIDS_SALT or HASHIDS_LENGTH for this to work properly? It's corny inconvenient to use the panel when I can't quickly look at the connection data

*The panel is used for personal use. No commerce

@Shandeika HASHIDS_SALT should be a string of 20 random characters and HASHIDS_LENGTH should be 8.

@Shandeika
Copy link

I set these variables and it started working! Thanks for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
not confirmed Report seems plausible but requires additional testing or 3rd part confirmation.
Projects
None yet
Development

No branches or pull requests

4 participants