From 0125349eb1bda36d96a5ae61567e4ded0c52941e Mon Sep 17 00:00:00 2001 From: "Joseph.Rawlings" Date: Tue, 16 Dec 2025 07:56:49 -0500 Subject: [PATCH] Add error handling to prevent lazy loading from getting stuck - Wrap bandwidth throttling check in try-catch in Server.php - Wrap loadVmStatus in try-catch in Component.php mount() - Add fallback UI in server.blade.php when status is unavailable - Show 'Unavailable' state instead of infinite skeleton loading --- .../Servers/Proxmox/Livewire/Component.php | 9 +++++++- .../Servers/Proxmox/Livewire/Server.php | 10 +++++++-- .../Servers/Proxmox/views/server.blade.php | 21 +++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/extensions/Servers/Proxmox/Livewire/Component.php b/extensions/Servers/Proxmox/Livewire/Component.php index 32997a9c1..0c7875dbc 100644 --- a/extensions/Servers/Proxmox/Livewire/Component.php +++ b/extensions/Servers/Proxmox/Livewire/Component.php @@ -34,7 +34,14 @@ class Component extends BaseComponent abort(403); } - $this->loadVmStatus(); + try { + $this->loadVmStatus(); + } catch (\Throwable $e) { + \Log::error('Failed to load VM status for server ' . $server->id, [ + 'error' => $e->getMessage(), + ]); + $this->status = null; + } } /** diff --git a/extensions/Servers/Proxmox/Livewire/Server.php b/extensions/Servers/Proxmox/Livewire/Server.php index e62ca7f63..08606ad9e 100644 --- a/extensions/Servers/Proxmox/Livewire/Server.php +++ b/extensions/Servers/Proxmox/Livewire/Server.php @@ -13,8 +13,14 @@ class Server extends Component { parent::mount($server); - // Check and enforce bandwidth throttling if exceeded - $this->checkAndEnforceBandwidthLimit(); + // Check and enforce bandwidth throttling if exceeded (wrapped in try-catch to prevent lazy load failures) + try { + $this->checkAndEnforceBandwidthLimit(); + } catch (\Throwable $e) { + \Log::warning('Failed to check bandwidth limit for server ' . $server->id, [ + 'error' => $e->getMessage(), + ]); + } } public function getMonthlyTrafficProperty() diff --git a/extensions/Servers/Proxmox/views/server.blade.php b/extensions/Servers/Proxmox/views/server.blade.php index 5e4f21486..d7152312e 100644 --- a/extensions/Servers/Proxmox/views/server.blade.php +++ b/extensions/Servers/Proxmox/views/server.blade.php @@ -1,4 +1,5 @@
+ @if($status)
@@ -145,4 +146,24 @@
+ @else + {{-- Status unavailable - show error state --}} + +
+
+
+
+ +
+ {{ $server->hostname ?? 'Server #' . $server->id }} +
+
+ + Unavailable +
+
+

Unable to retrieve server status. Click to view details or try again.

+
+
+ @endif