From 6a5672673488f8568b48d19d97e864c24bc5195a Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 14 Aug 2025 22:48:35 +0200 Subject: [PATCH] fix: refresh proccesses only if summary tab is opened --- packages/web/src/tabs/ServerSummaryTab.svelte | 11 +++++++++-- packages/web/src/widgets/SummaryProcesses.svelte | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/web/src/tabs/ServerSummaryTab.svelte b/packages/web/src/tabs/ServerSummaryTab.svelte index e716d5123..e923e73d8 100644 --- a/packages/web/src/tabs/ServerSummaryTab.svelte +++ b/packages/web/src/tabs/ServerSummaryTab.svelte @@ -28,9 +28,12 @@ import SummaryVariables from '../widgets/SummaryVariables.svelte'; import SummaryProcesses from '../widgets/SummaryProcesses.svelte'; import SummaryDatabases from '../widgets/SummaryDatabases.svelte'; - import { serverSummarySelectedTab } from '../stores'; + import { activeTabId, serverSummarySelectedTab } from '../stores'; + import { getContext } from 'svelte'; export let conid; + const tabid = getContext('tabid'); + $: isActiveTab = tabid === $activeTabId; let refreshToken = 0; @@ -107,7 +110,11 @@ { label: _t('serverSummaryTab.processes', { defaultMessage: 'Processes' }), component: SummaryProcesses, - props: { processes: summary.processes || [], conid }, + props: { + processes: summary.processes || [], + isSummaryOpened: isActiveTab, + conid, + }, }, { label: _t('serverSummaryTab.databases', { defaultMessage: 'Databases' }), diff --git a/packages/web/src/widgets/SummaryProcesses.svelte b/packages/web/src/widgets/SummaryProcesses.svelte index a6f51c832..175546c58 100644 --- a/packages/web/src/widgets/SummaryProcesses.svelte +++ b/packages/web/src/widgets/SummaryProcesses.svelte @@ -8,6 +8,7 @@ import { showSnackbarError, showSnackbarSuccess } from '../utility/snackbar'; export let conid; + export let isSummaryOpened: boolean = false; export let processes: DatabaseProcess[] = []; export let refreshInterval: number = 1000; export let tabVisible: boolean = false; @@ -53,7 +54,7 @@ onMount(() => { const intervalId = setInterval(() => { - if (!tabVisible) return; + if (!tabVisible || !isSummaryOpened) return; refreshProcesses(); }, refreshInterval);