Skip to content

Commit 8cbeffa

Browse files
committed
Fix: Add isQueryActive helper function and refetch SearchActionsDocument only if query is active
Fix: Add isQueryActive helper function and refetch SearchActionsDocument only if query is active
1 parent 6f68c84 commit 8cbeffa

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

src/components/v5/common/ActionSidebar/partials/ActionSidebarContent/ActionSidebarContent.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { ActionForm } from '~shared/Fields/index.ts';
1515
import { DecisionMethod } from '~types/actions.ts';
1616
import { getDraftDecisionFromStore } from '~utils/decisions.ts';
1717
import { formatText } from '~utils/intl.ts';
18+
import { isQueryActive } from '~utils/isQueryActive.ts';
1819
import FormTextareaBase from '~v5/common/Fields/TextareaBase/FormTextareaBase.tsx';
1920
import NotificationBanner from '~v5/shared/NotificationBanner/index.ts';
2021

@@ -222,9 +223,11 @@ const ActionSidebarContent: FC<ActionSidebarContentProps> = ({
222223
className="flex h-full flex-col"
223224
innerRef={formRef}
224225
onSuccess={() => {
225-
client.refetchQueries({
226-
include: [SearchActionsDocument],
227-
});
226+
if (isQueryActive('SearchActions')) {
227+
client.refetchQueries({
228+
include: [SearchActionsDocument],
229+
});
230+
}
228231
}}
229232
>
230233
<ActionSidebarFormContent

src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/utils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { apolloClient } from '~apollo';
22
import { ColonyActionType, SearchActionsDocument } from '~gql';
33
import { type MotionAction } from '~types/motions.ts';
4+
import { isQueryActive } from '~utils/isQueryActive.ts';
45
import { updateContributorVerifiedStatus } from '~utils/members.ts';
56

67
export const handleMotionFinalized = (action: MotionAction) => {
@@ -26,7 +27,9 @@ export const handleMotionFinalized = (action: MotionAction) => {
2627
break;
2728
}
2829
case ColonyActionType.CreateDecisionMotion: {
29-
apolloClient.refetchQueries({ include: [SearchActionsDocument] });
30+
if (isQueryActive('SearchActions')) {
31+
apolloClient.refetchQueries({ include: [SearchActionsDocument] });
32+
}
3033

3134
break;
3235
}

src/utils/isQueryActive.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { apolloClient } from '~apollo';
2+
3+
export const isQueryActive = (queryName: string) => {
4+
const activeQueries = apolloClient.getObservableQueries();
5+
return Array.from(activeQueries.values()).some((query) => {
6+
return query.queryName?.includes(queryName);
7+
});
8+
};

0 commit comments

Comments
 (0)