Skip to content

Commit 4ff42a3

Browse files
[Security Solution][Endpoint] Clean up resolver query params on component dismount (#72902) (#73157)
1 parent 4bc149e commit 4ff42a3

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

x-pack/plugins/security_solution/public/resolver/view/map.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import React, { useContext } from 'react';
1212
import { useSelector } from 'react-redux';
13+
import { useEffectOnce } from 'react-use';
1314
import { EuiLoadingSpinner } from '@elastic/eui';
1415
import { FormattedMessage } from '@kbn/i18n/react';
1516
import * as selectors from '../store/selectors';
@@ -19,6 +20,7 @@ import { ProcessEventDot } from './process_event_dot';
1920
import { useCamera } from './use_camera';
2021
import { SymbolDefinitions, useResolverTheme } from './assets';
2122
import { useStateSyncingActions } from './use_state_syncing_actions';
23+
import { useResolverQueryParams } from './use_resolver_query_params';
2224
import { StyledMapContainer, StyledPanel, GraphContainer } from './styles';
2325
import { entityId } from '../../../common/endpoint/models/event';
2426
import { SideEffectContext } from './side_effect_context';
@@ -66,6 +68,10 @@ export const ResolverMap = React.memo(function ({
6668
const hasError = useSelector(selectors.hasError);
6769
const activeDescendantId = useSelector(selectors.ariaActiveDescendant);
6870
const { colorMap } = useResolverTheme();
71+
const { cleanUpQueryParams } = useResolverQueryParams();
72+
useEffectOnce(() => {
73+
return () => cleanUpQueryParams();
74+
});
6975

7076
return (
7177
<StyledMapContainer className={className} backgroundColor={colorMap.resolverBackground}>

x-pack/plugins/security_solution/public/resolver/view/use_resolver_query_params.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,19 @@ export function useResolverQueryParams() {
6363
};
6464
}, [urlSearch, uniqueCrumbIdKey, uniqueCrumbEventKey]);
6565

66+
const cleanUpQueryParams = () => {
67+
const crumbsToPass = {
68+
...querystring.parse(urlSearch.slice(1)),
69+
};
70+
delete crumbsToPass[uniqueCrumbIdKey];
71+
delete crumbsToPass[uniqueCrumbEventKey];
72+
const relativeURL = { search: querystring.stringify(crumbsToPass) };
73+
history.replace(relativeURL);
74+
};
75+
6676
return {
6777
pushToQueryParams,
6878
queryParams,
79+
cleanUpQueryParams,
6980
};
7081
}

0 commit comments

Comments
 (0)