From b3a69680e78db3cbab8b531369fcca76abbfa0bb Mon Sep 17 00:00:00 2001 From: Luke Heath Date: Mon, 6 Dec 2021 20:02:52 -0600 Subject: [PATCH] Fix duplicate hosts on render when host_id URL params are present (#3189) --- changes/issue-3064-duplicate-hosts | 1 + frontend/pages/queries/QueryPage/QueryPage.tsx | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 changes/issue-3064-duplicate-hosts diff --git a/changes/issue-3064-duplicate-hosts b/changes/issue-3064-duplicate-hosts new file mode 100644 index 0000000000..54f41379ae --- /dev/null +++ b/changes/issue-3064-duplicate-hosts @@ -0,0 +1 @@ +* Fix duplicate hosts on render when host_id URL params are present diff --git a/frontend/pages/queries/QueryPage/QueryPage.tsx b/frontend/pages/queries/QueryPage/QueryPage.tsx index e79f60a618..49399448f2 100644 --- a/frontend/pages/queries/QueryPage/QueryPage.tsx +++ b/frontend/pages/queries/QueryPage/QueryPage.tsx @@ -56,6 +56,9 @@ const QueryPage = ({ setLastEditedQueryObserverCanRun, } = useContext(QueryContext); + const [queryParamHostsAdded, setQueryParamHostsAdded] = useState( + false + ); const [step, setStep] = useState(QUERIES_PAGE_STEPS[1]); const [selectedTargets, setSelectedTargets] = useState([]); const [isLiveQueryRunnable, setIsLiveQueryRunnable] = useState(true); @@ -94,7 +97,7 @@ const QueryPage = ({ "hostFromURL", () => hostAPI.load(parseInt(URLQuerySearch.host_ids as string, 10)), { - enabled: !!URLQuerySearch.host_ids, + enabled: !!URLQuerySearch.host_ids && !queryParamHostsAdded, select: (data: IHostResponse) => data.host, onSuccess: (data) => { const targets = selectedTargets; @@ -104,6 +107,10 @@ const QueryPage = ({ targets.push(hostTarget as IHost); setSelectedTargets([...targets]); + + if (!queryParamHostsAdded) { + setQueryParamHostsAdded(true); + } }, } );