From 32c6cff86ec8c1f781f414dd462de7b5a9a74c0c Mon Sep 17 00:00:00 2001 From: "Joseph.Rawlings" Date: Thu, 4 Dec 2025 22:23:30 -0500 Subject: [PATCH] fix: optimize firewall log retrieval by removing unnecessary reversal and ensuring proper sorting --- extensions/Servers/Proxmox/Livewire/Firewall.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/extensions/Servers/Proxmox/Livewire/Firewall.php b/extensions/Servers/Proxmox/Livewire/Firewall.php index b8a725ffc..ad4e08b4b 100644 --- a/extensions/Servers/Proxmox/Livewire/Firewall.php +++ b/extensions/Servers/Proxmox/Livewire/Firewall.php @@ -1351,9 +1351,9 @@ class Firewall extends Component return []; } - $reversedLogs = array_reverse($this->firewallLogs); + // Logs are already sorted by timestamp (most recent first) in parseFirewallLogs $offset = ($this->currentPage - 1) * $this->perPage; - return array_slice($reversedLogs, $offset, $this->perPage); + return array_slice($this->firewallLogs, $offset, $this->perPage); } public function getTotalPagesProperty(): int @@ -1417,6 +1417,13 @@ class Firewall extends Component } } + // Sort logs by timestamp in descending order (most recent first) + usort($parsed, function($a, $b) { + $timeA = strtotime($a['timestamp_iso'] ?? $a['timestamp'] ?? '0'); + $timeB = strtotime($b['timestamp_iso'] ?? $b['timestamp'] ?? '0'); + return $timeB <=> $timeA; // Descending order + }); + return $parsed; }