diff --git a/web/package.json b/web/package.json
index 4264f5323..9cfda3c4d 100644
--- a/web/package.json
+++ b/web/package.json
@@ -35,6 +35,7 @@
"@supabase/supabase-js": "^2.48.1",
"@tailwindcss/forms": "^0.5.10",
"@tanstack/react-query": "^5.66.9",
+ "@tanstack/react-query-devtools": "^5.66.9",
"@vercel/speed-insights": "^1.2.0",
"ahooks": "^3.8.4",
"antd": "5.23.3",
@@ -116,7 +117,8 @@
"@storybook/nextjs": "^8.5.8",
"@storybook/react": "^8.5.8",
"@storybook/test": "^8.5.8",
- "@tailwindcss/postcss": "^4.0.8",
+ "@tailwindcss/postcss": "^4.0.9",
+ "@tanstack/eslint-plugin-query": "^5.66.1",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
"@testing-library/user-event": "^14.6.1",
diff --git a/web/src/context/BusterReactQuery/BusterReactQueryAndApi.tsx b/web/src/context/BusterReactQuery/BusterReactQueryAndApi.tsx
index 49d35eac3..14093f271 100644
--- a/web/src/context/BusterReactQuery/BusterReactQueryAndApi.tsx
+++ b/web/src/context/BusterReactQuery/BusterReactQueryAndApi.tsx
@@ -7,6 +7,7 @@ import { defaultRequestHandler } from '@/api/createInstance';
import nextApi from '@/api/next/instances';
import { useSupabaseContext } from '../Supabase/SupabaseContextProvider';
import { getQueryClient } from './getQueryClient';
+import { ReactQueryDevtoolsPanel } from '@tanstack/react-query-devtools';
export const BusterReactQueryProvider = ({ children }: { children: React.ReactElement }) => {
const accessToken = useSupabaseContext((state) => state.accessToken);
@@ -20,5 +21,10 @@ export const BusterReactQueryProvider = ({ children }: { children: React.ReactEl
nextApi.interceptors.request.use((v) => defaultRequestHandler(v, { accessToken }));
}, [accessToken]);
- return {children};
+ return (
+
+ {children}
+
+
+ );
};
diff --git a/web/src/context/Chats/ChatProvider/useChatUpdate.ts b/web/src/context/Chats/ChatProvider/useChatUpdate.ts
index 8b20d3a7e..e6b20eee5 100644
--- a/web/src/context/Chats/ChatProvider/useChatUpdate.ts
+++ b/web/src/context/Chats/ChatProvider/useChatUpdate.ts
@@ -1,11 +1,9 @@
-import { useBusterWebSocket } from '@/context/BusterWebSocket';
import { useMemoizedFn } from 'ahooks';
-import { useTransition, type MutableRefObject } from 'react';
+import { useTransition } from 'react';
import type { IBusterChat, IBusterChatMessage } from '../interfaces';
import { useSocketQueryMutation } from '@/api/buster_socket_query';
import { useQueryClient } from '@tanstack/react-query';
import { queryKeys } from '@/api/query_keys';
-import { create } from 'mutative';
export const useChatUpdate = () => {
const [isPending, startTransition] = useTransition();
diff --git a/web/src/context/Dashboards/DashboardIndividualProvider/useDashboardUpdateConfig.ts b/web/src/context/Dashboards/DashboardIndividualProvider/useDashboardUpdateConfig.ts
index 430fcc8c8..3b5e96eb1 100644
--- a/web/src/context/Dashboards/DashboardIndividualProvider/useDashboardUpdateConfig.ts
+++ b/web/src/context/Dashboards/DashboardIndividualProvider/useDashboardUpdateConfig.ts
@@ -6,7 +6,6 @@ import {
import { queryKeys } from '@/api/query_keys';
import { DashboardUpdate } from '@/api/buster_socket/dashboards';
-import { useBusterWebSocket } from '@/context/BusterWebSocket';
import { useSocketQueryMutation } from '@/api/buster_socket_query';
import { useMemoizedFn } from 'ahooks';
import { create } from 'mutative';
diff --git a/web/src/context/Metrics/BusterMetricsIndividualProvider/BusterMetricsIndividualProvider.tsx b/web/src/context/Metrics/BusterMetricsIndividualProvider/BusterMetricsIndividualProvider.tsx
index 93ef1f9a4..f0c9fae91 100644
--- a/web/src/context/Metrics/BusterMetricsIndividualProvider/BusterMetricsIndividualProvider.tsx
+++ b/web/src/context/Metrics/BusterMetricsIndividualProvider/BusterMetricsIndividualProvider.tsx
@@ -32,9 +32,7 @@ const useBusterMetricsIndividual = () => {
return resolveEmptyMetric(data, _metricId);
});
- //STATE UPDATERS
-
- // EMITTERS
+ // STATE UPDATERS
const metricUpdateConfig = useUpdateMetricConfig({
getMetricId,
diff --git a/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateAssosciations.ts b/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateAssosciations.ts
index 783292ead..e70a47b33 100644
--- a/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateAssosciations.ts
+++ b/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateAssosciations.ts
@@ -1,10 +1,7 @@
import { useMemoizedFn } from 'ahooks';
-import last from 'lodash/last';
import { IBusterMetric } from '../interfaces';
-import { useBusterWebSocket } from '../../BusterWebSocket';
import { useUserConfigContextSelector } from '../../Users';
import { useBusterNotifications } from '../../BusterNotifications';
-import { useBusterDashboardContextSelector } from '../../Dashboards';
import { useUpdateMetricConfig } from './useMetricUpdateConfig';
export const useUpdateMetricAssosciations = ({
@@ -56,8 +53,6 @@ export const useUpdateMetricAssosciations = ({
dashboardId: string;
useConfirmModal?: boolean;
}) => {
- // const prev = metricsRef.current;
-
const method = async () => {
await updateMetricMutation({
id: metricId,
diff --git a/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateConfig.ts b/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateConfig.ts
index bcd8bbd39..a28b6df24 100644
--- a/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateConfig.ts
+++ b/web/src/context/Metrics/BusterMetricsIndividualProvider/useMetricUpdateConfig.ts
@@ -3,7 +3,7 @@ import type { IBusterMetric } from '../interfaces';
import {
BusterMetric,
DEFAULT_CHART_CONFIG,
- IBusterMetricChartConfig,
+ type IBusterMetricChartConfig,
ShareRole,
VerificationStatus
} from '@/api/asset_interfaces';