Update status refreshing to have a better interval

This commit is contained in:
LukeGus
2025-08-31 23:41:05 -05:00
parent 2fe9c0f854
commit 25178928a0
2 changed files with 6 additions and 7 deletions

View File

@@ -97,13 +97,12 @@ export function Server({
if (currentHostConfig?.id && isVisible) {
fetchStatus();
fetchMetrics();
// Only poll when component is visible to reduce unnecessary connections
intervalId = window.setInterval(() => {
if (isVisible) {
fetchStatus();
fetchMetrics();
}
}, 300_000); // 5 minutes instead of 10 seconds
}, 300_000);
}
return () => {
@@ -116,7 +115,6 @@ export function Server({
const leftMarginPx = sidebarState === 'collapsed' ? 16 : 8;
const bottomMarginPx = 8;
// Check if a file manager tab for this host is already open
const isFileManagerAlreadyOpen = React.useMemo(() => {
if (!currentHostConfig) return false;
return tabs.some((tab: any) =>
@@ -172,7 +170,7 @@ export function Server({
}}
title="Refresh status and metrics"
>
Refresh
Refresh Status
</Button>
{currentHostConfig?.enableFileManager && (
<Button

View File

@@ -35,15 +35,15 @@ interface HostProps {
export function Host({host}: HostProps): React.ReactElement {
const {addTab} = useTabs();
const [serverStatus, setServerStatus] = useState<'online' | 'offline'>('offline');
const [serverStatus, setServerStatus] = useState<'online' | 'offline' | 'degraded'>('degraded');
const tags = Array.isArray(host.tags) ? host.tags : [];
const hasTags = tags.length > 0;
const title = host.name?.trim() ? host.name : `${host.username}@${host.ip}:${host.port}`;
useEffect(() => {
let cancelled = false;
let intervalId: number | undefined;
let cancelled = false;
const fetchStatus = async () => {
try {
@@ -57,7 +57,8 @@ export function Host({host}: HostProps): React.ReactElement {
};
fetchStatus();
intervalId = window.setInterval(fetchStatus, 60_000);
intervalId = window.setInterval(fetchStatus, 30000);
return () => {
cancelled = true;