diff --git a/frontend-modern/src/components/Settings/Settings.tsx b/frontend-modern/src/components/Settings/Settings.tsx index 7b52edb9f..fbdfea0a9 100644 --- a/frontend-modern/src/components/Settings/Settings.tsx +++ b/frontend-modern/src/components/Settings/Settings.tsx @@ -41,6 +41,10 @@ const Settings: Component = () => { const [autoUpdateEnabled, setAutoUpdateEnabled] = createSignal(false); const [autoUpdateCheckInterval, setAutoUpdateCheckInterval] = createSignal(24); const [autoUpdateTime, setAutoUpdateTime] = createSignal('03:00'); + + // Diagnostics + const [diagnosticsData, setDiagnosticsData] = createSignal(null); + const [runningDiagnostics, setRunningDiagnostics] = createSignal(false); const tabs: { id: SettingsTab; label: string; icon: string }[] = [ { @@ -861,6 +865,99 @@ const Settings: Component = () => {

System Diagnostics

+ {/* Live Connection Diagnostics */} +
+

Connection Diagnostics

+

+ Test all configured node connections and view detailed status +

+ + + +
+ {/* System Info */} +
+
System
+
+
Version: {diagnosticsData()?.version || 'Unknown'}
+
Uptime: {Math.floor((diagnosticsData()?.uptime || 0) / 60)} minutes
+
Runtime: {diagnosticsData()?.system?.goVersion || 'Unknown'}
+
Memory: {diagnosticsData()?.system?.memoryMB || 0} MB
+
+
+ + {/* Nodes Status */} + 0}> +
+
PVE Nodes
+ + {(node: any) => ( +
+
+ {node.name} + + {node.connected ? 'Connected' : 'Failed'} + +
+
+
Host: {node.host}
+
Auth: {node.authMethod?.replace('_', ' ')}
+ +
{node.error}
+
+
+
+ )} +
+
+
+ + {/* PBS Status */} + 0}> +
+
PBS Instances
+ + {(pbs: any) => ( +
+
+ {pbs.name} + + {pbs.connected ? 'Connected' : 'Failed'} + +
+ +
{pbs.error}
+
+
+ )} +
+
+
+
+
+
{/* System Information */}

System Information