Update AppImage

This commit is contained in:
MacRimi
2025-11-04 12:11:08 +01:00
parent ab0e59215c
commit b4b93f0572

View File

@@ -107,6 +107,24 @@ export function StorageOverview() {
console.log("[v0] Storage data received:", data) console.log("[v0] Storage data received:", data)
console.log("[v0] Proxmox storage data received:", proxmoxData) console.log("[v0] Proxmox storage data received:", proxmoxData)
if (proxmoxData && proxmoxData.storage) {
const activeStorages = proxmoxData.storage.filter(
(s: any) => s && s.total > 0 && s.used >= 0 && s.status?.toLowerCase() === "active",
)
console.log("[v0] Active storage volumes:", activeStorages.length)
console.log(
"[v0] Total used across all volumes (GB):",
activeStorages.reduce((sum: number, s: any) => sum + s.used, 0),
)
// Check for potential cluster node duplication
const storageNames = activeStorages.map((s: any) => s.name)
const uniqueNames = new Set(storageNames)
if (storageNames.length !== uniqueNames.size) {
console.warn("[v0] WARNING: Duplicate storage names detected - possible cluster node issue")
}
}
setStorageData(data) setStorageData(data)
setProxmoxStorage(proxmoxData) setProxmoxStorage(proxmoxData)
} catch (error) { } catch (error) {
@@ -402,15 +420,22 @@ export function StorageOverview() {
const diskHealthBreakdown = getDiskHealthBreakdown() const diskHealthBreakdown = getDiskHealthBreakdown()
const diskTypesBreakdown = getDiskTypesBreakdown() const diskTypesBreakdown = getDiskTypesBreakdown()
// Only sum storage that belongs to the current node or filter appropriately
const totalProxmoxUsed = const totalProxmoxUsed =
proxmoxStorage && proxmoxStorage.storage proxmoxStorage && proxmoxStorage.storage
? proxmoxStorage.storage ? proxmoxStorage.storage
.filter( .filter(
(storage) => storage && storage.total > 0 && storage.status && storage.status.toLowerCase() === "active", (storage) =>
storage &&
storage.total > 0 &&
storage.used >= 0 && // Added check for valid used value
storage.status &&
storage.status.toLowerCase() === "active",
) )
.reduce((sum, storage) => sum + storage.used, 0) .reduce((sum, storage) => sum + storage.used, 0)
: 0 : 0
// Convert storageData.total from TB to GB before calculating percentage
const usagePercent = const usagePercent =
storageData && storageData.total > 0 ? ((totalProxmoxUsed / (storageData.total * 1024)) * 100).toFixed(2) : "0.00" storageData && storageData.total > 0 ? ((totalProxmoxUsed / (storageData.total * 1024)) * 100).toFixed(2) : "0.00"
@@ -520,7 +545,14 @@ export function StorageOverview() {
<CardContent> <CardContent>
<div className="space-y-4"> <div className="space-y-4">
{proxmoxStorage.storage {proxmoxStorage.storage
.filter((storage) => storage && storage.name && storage.total > 0) .filter(
(storage) =>
storage &&
storage.name &&
storage.total > 0 &&
storage.used >= 0 && // Ensure used is not negative
storage.available >= 0, // Ensure available is not negative
)
.sort((a, b) => a.name.localeCompare(b.name)) .sort((a, b) => a.name.localeCompare(b.name))
.map((storage) => ( .map((storage) => (
<div key={storage.name} className="border rounded-lg p-4"> <div key={storage.name} className="border rounded-lg p-4">