Show error toast in centralized way for query (#117)

This commit is contained in:
Will Chen
2025-05-08 22:32:50 -07:00
committed by GitHub
parent b6eeaab1bb
commit 8d61659c60
3 changed files with 33 additions and 3 deletions

View File

@@ -19,7 +19,7 @@ export function useCurrentBranch(appId: number | null) {
return ipcClient.getCurrentBranch(appId);
},
enabled: appId !== null,
meta: { showErrorToast: false },
meta: { showErrorToast: true },
});
return {

View File

@@ -29,6 +29,7 @@ export function useVersions(appId: number | null) {
},
enabled: appId !== null,
initialData: [],
meta: { showErrorToast: true },
});
useEffect(() => {

View File

@@ -5,12 +5,41 @@ import { RouterProvider } from "@tanstack/react-router";
import { PostHogProvider } from "posthog-js/react";
import posthog from "posthog-js";
import { getTelemetryUserId, isTelemetryOptedIn } from "./hooks/useSettings";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import {
QueryCache,
QueryClient,
QueryClientProvider,
} from "@tanstack/react-query";
import { showError } from "./lib/toast";
// @ts-ignore
console.log("Running in mode:", import.meta.env.MODE);
const queryClient = new QueryClient();
interface MyMeta extends Record<string, unknown> {
showErrorToast: boolean;
}
declare module "@tanstack/react-query" {
interface Register {
queryMeta: MyMeta;
mutationMeta: MyMeta;
}
}
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
},
},
queryCache: new QueryCache({
onError: (error, query) => {
if (query.meta?.showErrorToast) {
showError(error);
}
},
}),
});
const posthogClient = posthog.init(
"phc_5Vxx0XT8Ug3eWROhP6mm4D6D2DgIIKT232q4AKxC2ab",