From a95bbbb63bf8906232ae766d12e418884c5768e0 Mon Sep 17 00:00:00 2001
From: Max Frederiksen <maxfrederiksen@Maxs-MacBook-Air.local>
Date: Fri, 22 Nov 2024 09:50:16 +0100
Subject: [PATCH] Use isExpanded to abort polling

---
 src/components/common/Loki/LokiPanel.jsx           | 8 ++------
 src/components/deployments/DeploymentJobOutput.jsx | 6 +-----
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/components/common/Loki/LokiPanel.jsx b/src/components/common/Loki/LokiPanel.jsx
index 81f268c8..36002739 100644
--- a/src/components/common/Loki/LokiPanel.jsx
+++ b/src/components/common/Loki/LokiPanel.jsx
@@ -40,7 +40,6 @@ export function LokiPanel({ hostName, iocName, isSyslog, isExpanded }) {
   const [periodChange, setPeriodChange] = useState(false);
   const [alertIds, setAlertIds] = useState([]);
   const [html, setHtml] = useState("");
-  const [abortPolling, setAbortPolling] = useState(false);
 
   const preprocessLog = useCallback(
     (logData, showWarning, timeRange, alertIds, setAlertIds) => {
@@ -115,14 +114,14 @@ export function LokiPanel({ hostName, iocName, isSyslog, isExpanded }) {
     getSysLogData,
     { data: sysLogData, error: sysLogError, isLoading: sysDataIsLoading }
   ] = useLazyFetchSyslogLinesQuery({
-    pollingInterval: !abortPolling ? LOG_POLL_INTERVAL : 0
+    pollingInterval: isExpanded ? LOG_POLL_INTERVAL : 0
   });
 
   const [
     getProcServLog,
     { data: procServLog, error: procServLogError, isLoading: procDataIsLoading }
   ] = useLazyFetchProcServLogLinesQuery({
-    pollingInterval: !abortPolling ? LOG_POLL_INTERVAL : 0
+    pollingInterval: isExpanded ? LOG_POLL_INTERVAL : 0
   });
 
   const hasLogError = !!sysLogError || !!procServLogError;
@@ -150,14 +149,11 @@ export function LokiPanel({ hostName, iocName, isSyslog, isExpanded }) {
 
   useEffect(() => {
     if (isExpanded) {
-      setAbortPolling(false);
       if (isSyslog === true) {
         getSysLogData(params);
       } else {
         getProcServLog(params);
       }
-    } else {
-      setAbortPolling(true);
     }
   }, [getSysLogData, getProcServLog, isSyslog, isExpanded, params]);
 
diff --git a/src/components/deployments/DeploymentJobOutput.jsx b/src/components/deployments/DeploymentJobOutput.jsx
index 7044c085..40168276 100644
--- a/src/components/deployments/DeploymentJobOutput.jsx
+++ b/src/components/deployments/DeploymentJobOutput.jsx
@@ -11,7 +11,6 @@ const LOG_POLL_INTERVAL = 5000;
 export function DeploymentJobOutput({ job, isExpanded }) {
   const [consoleDialogOpen, setConsoleDialogOpen] = useState(false);
   const finalResultsNeeded = useRef(true);
-  const [abortPolling, setAbortPolling] = useState(false);
   const params = useMemo(
     () => ({
       awx_job_id: job.awxJobId
@@ -20,18 +19,15 @@ export function DeploymentJobOutput({ job, isExpanded }) {
   );
   const [getLogById, { data: log, isSuccess: logDataReady, error: logError }] =
     useLazyFetchDeploymentJobLogQuery({
-      pollingInterval: !abortPolling ? LOG_POLL_INTERVAL : 0
+      pollingInterval: isExpanded ? LOG_POLL_INTERVAL : 0
     });
 
   useEffect(() => {
     if (isExpanded) {
-      setAbortPolling(false);
       if (!job.finishedAt || finalResultsNeeded.current) {
         getLogById(params);
         finalResultsNeeded.current = !job.finishedAt;
       }
-    } else {
-      setAbortPolling(true);
     }
   }, [job.finishedAt, job.jobId, isExpanded, getLogById, params]);
 
-- 
GitLab