mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-11-17 19:16:25 +00:00
Update AppImage
This commit is contained in:
@@ -1788,13 +1788,15 @@ export default function Hardware() {
|
||||
{selectedDisk.rotation_rate !== undefined && selectedDisk.rotation_rate !== null && (
|
||||
<div className="flex justify-between border-b border-border/50 pb-2">
|
||||
<span className="text-sm font-medium text-muted-foreground">Rotation Rate</span>
|
||||
<span className="text-sm">
|
||||
{typeof selectedDisk.rotation_rate === "number" && selectedDisk.rotation_rate > 0
|
||||
? `${selectedDisk.rotation_rate} rpm`
|
||||
: typeof selectedDisk.rotation_rate === "string"
|
||||
? selectedDisk.rotation_rate
|
||||
: "Solid State Device"}
|
||||
</span>
|
||||
<div className="text-sm">
|
||||
{typeof selectedDisk.rotation_rate === "number" && selectedDisk.rotation_rate === -1
|
||||
? "N/A"
|
||||
: typeof selectedDisk.rotation_rate === "number" && selectedDisk.rotation_rate > 0
|
||||
? `${selectedDisk.rotation_rate} rpm`
|
||||
: typeof selectedDisk.rotation_rate === "string"
|
||||
? selectedDisk.rotation_rate
|
||||
: "Solid State Device"}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
@@ -211,6 +211,12 @@ export function StorageOverview() {
|
||||
if (diskName.startsWith("nvme")) {
|
||||
return "NVMe"
|
||||
}
|
||||
// rotation_rate = -1 means HDD but RPM is unknown (detected via kernel rotational flag)
|
||||
// rotation_rate = 0 or undefined means SSD
|
||||
// rotation_rate > 0 means HDD with known RPM
|
||||
if (rotationRate === -1) {
|
||||
return "HDD"
|
||||
}
|
||||
if (!rotationRate || rotationRate === 0) {
|
||||
return "SSD"
|
||||
}
|
||||
|
||||
@@ -1387,6 +1387,23 @@ def get_smart_data(disk_name):
|
||||
smart_data['health'] = 'warning'
|
||||
# print(f"[v0] Health: WARNING (temperature {smart_data['temperature']}°C)")
|
||||
pass
|
||||
|
||||
# CHANGE: Use -1 to indicate HDD with unknown RPM instead of inventing 7200 RPM
|
||||
# Fallback: Check kernel's rotational flag if smartctl didn't provide rotation_rate
|
||||
# This fixes detection for older disks that don't report RPM via smartctl
|
||||
if smart_data['rotation_rate'] == 0:
|
||||
try:
|
||||
rotational_path = f"/sys/block/{disk_name}/queue/rotational"
|
||||
if os.path.exists(rotational_path):
|
||||
with open(rotational_path, 'r') as f:
|
||||
rotational = int(f.read().strip())
|
||||
if rotational == 1:
|
||||
# Disk is rotational (HDD), use -1 to indicate "HDD but RPM unknown"
|
||||
smart_data['rotation_rate'] = -1
|
||||
# If rotational == 0, it's an SSD, keep rotation_rate as 0
|
||||
except Exception as e:
|
||||
pass # If we can't read the file, leave rotation_rate as is
|
||||
|
||||
|
||||
except FileNotFoundError:
|
||||
# print(f"[v0] ERROR: smartctl not found - install smartmontools for disk monitoring.")
|
||||
|
||||
Reference in New Issue
Block a user