pelican-dev / panel

https://pelican.dev
GNU Affero General Public License v3.0
715 stars 78 forks source link

Unable to edit resource for server #201

Closed andyondrya closed 3 months ago

andyondrya commented 3 months ago

Current Behavior

Returns 500 Server Error. Looks like its trying to validate a string instead of integer.

Expected Behavior

Server RAM/CPU Usage/Disk Allocations would be updated.

Steps to Reproduce

Go to a server that is already installed and edit the server allocations usage > Save Changes

Panel Version

1.0.0-beta1

Wings Version

1.0.0-beta1

Games and/or Eggs Affected

No response

Docker Image

No response

Error Logs

[2024-05-12 16:36:32] production.ERROR: Could not save App\Models\ServerVariable[6]: failed to validate data: {"variable_value":["The variable value must be a string."]} {"userId":1,"exception":"[object] (App\\Exceptions\\Model\\DataValidationException(code: 0): Could not save App\\Models\\ServerVariable[6]: failed to validate data: {\"variable_value\":[\"The variable value must be a string.\"]} at /var/www/pelican/app/Models/Model.php:46)
[stacktrace]
#0 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(458): App\\Models\\Model::App\\Models\\{closure}()
#1 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(286): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}()
#2 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(266): Illuminate\\Events\\Dispatcher->invokeListeners()
#3 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(232): Illuminate\\Events\\Dispatcher->dispatch()
#4 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php(215): Illuminate\\Events\\Dispatcher->until()
#5 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1126): Illuminate\\Database\\Eloquent\\Model->fireModelEvent()
#6 /var/www/pelican/vendor/filament/forms/src/Components/Repeater.php(901): Illuminate\\Database\\Eloquent\\Model->save()
#7 /var/www/pelican/vendor/filament/support/src/Concerns/EvaluatesClosures.php(35): Filament\\Forms\\Components\\Repeater::Filament\\Forms\\Components\\{closure}()
#8 /var/www/pelican/vendor/filament/forms/src/Components/Concerns/BelongsToModel.php(49): Filament\\Support\\Components\\Component->evaluate()
#9 /var/www/pelican/vendor/filament/forms/src/Concerns/BelongsToModel.php(33): Filament\\Forms\\Components\\Component->saveRelationships()#10 /var/www/pelican/vendor/filament/forms/src/Concerns/BelongsToModel.php(30): Filament\\Forms\\ComponentContainer->saveRelationships()
#11 /var/www/pelican/vendor/filament/forms/src/Concerns/HasState.php(232): Filament\\Forms\\ComponentContainer->saveRelationships()
#12 /var/www/pelican/vendor/filament/filament/src/Resources/Pages/EditRecord.php(143): Filament\\Forms\\ComponentContainer->getState()
#13 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Filament\\Resources\\Pages\\EditRecord->save()#14 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#15 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()#16 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#17 /var/www/pelican/vendor/livewire/livewire/src/Wrapped.php(23): Illuminate\\Container\\BoundMethod::call()
#18 /var/www/pelican/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(468): Livewire\\Wrapped->__call()
#19 /var/www/pelican/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(100): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->callMethods()
#20 /var/www/pelican/vendor/livewire/livewire/src/LivewireManager.php(96): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->update()
#21 /var/www/pelican/vendor/livewire/livewire/src/Mechanisms/HandleRequests/HandleRequests.php(89): Livewire\\LivewireManager->update()
#22 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(46): Livewire\\Mechanisms\\HandleRequests\\HandleRequests->handleUpdate()
#23 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()#24 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Route.php(206): Illuminate\\Routing\\Route->runController()
#25 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#26 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#27 /var/www/pelican/app/Http/Middleware/LanguageMiddleware.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\LanguageMiddleware->handle()
#29 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#30 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#31 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#33 /var/www/pelican/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#35 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#37 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle()
#38 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#40 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#42 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then()
#44 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack()
#45 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute()
#46 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute()
#47 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#48 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#49 /var/www/pelican/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle()
#51 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#53 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#55 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#56 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#57 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#58 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#59 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#60 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()
#61 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#62 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#63 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#64 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#65 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#66 /var/www/pelican/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1168): Illuminate\\Foundation\\Http\\Kernel->handle()
#67 /var/www/pelican/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest()
#68 {main}
"}

Is there an existing issue for this?

notAreYouScared commented 3 months ago

This is an egg rule validation logic issue on the edit page. If the field has nullable|string, the validator still wants a string.

an example is the paper egg. Create Egg works with nullable, edit page does not.

mrfr4nk0 commented 1 month ago

Same problem for me, with Satisfactory egg. How can I fix this? I can't delete the server and I can't add any new. Basically the whole panel is unusable now.

Boy132 commented 1 month ago

Same problem for me, with Satisfactory egg. How can I fix this? I can't delete the server and I can't add any new. Basically the whole panel is unusable now.

Update to beta6.