feat: Update Proxmox extension with various improvements and bug fixes

- Change listStates method to accept nullable integer for limit parameter.
- Modify TechnitiumDns class to return structured error messages on failure.
- Enhance VNC and xterm popup routes with user authorization checks.
- Update backups view to improve loading states and add unique keys for dynamic elements.
- Refactor cloud-init view to ensure proper data binding and improve user experience.
- Add wire:key attributes to various elements in views for better Livewire performance.
- Improve error handling and user feedback in the firewall view.
- Update server overview and statistics views to handle potential null values gracefully.
- Add new migration files to extend database schema with user-set icons and notes for Proxmox nodes.
This commit is contained in:
2026-02-23 17:23:01 -05:00
parent 9aff64be93
commit f394483daa
48 changed files with 442 additions and 268 deletions

View File

@@ -44,7 +44,10 @@ Route::group([
// Popup console routes (minimal layout for popup windows)
Route::get('{server}/vnc-popup', function (Server $server) {
if (!$server->node->vnc_enabled) {
if ((int) $server->user_id !== (int) auth()->id()) {
abort(403);
}
if (!$server->node?->vnc_enabled) {
abort(403, 'VNC is not enabled on this server node.');
}
$proxmox = new Proxmox;
@@ -55,7 +58,10 @@ Route::group([
})->name('server.vnc-popup');
Route::get('{server}/xterm-popup', function (Server $server) {
if (!$server->node->vnc_enabled) {
if ((int) $server->user_id !== (int) auth()->id()) {
abort(403);
}
if (!$server->node?->vnc_enabled) {
abort(403, 'Console access is not enabled on this server node.');
}
$proxmox = new Proxmox;