fix(app): handle CancelledError from cancelled provider usage queries (#1885)
Move canFetch guard before first await so disabled refresh bails out synchronously instead of entering async path. Add .catch() swallow for fire-and-forget call to prevent unhandled promise rejections when react-query cancels pending queries during rapid tooltip open/close cycles.
This commit is contained in:
@@ -117,7 +117,7 @@ export function ContextWindowMeter({
|
|||||||
(nextOpen: boolean) => {
|
(nextOpen: boolean) => {
|
||||||
setIsTooltipOpen(nextOpen);
|
setIsTooltipOpen(nextOpen);
|
||||||
if (nextOpen) {
|
if (nextOpen) {
|
||||||
void refreshProviderUsage();
|
void refreshProviderUsage().catch(() => {});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[refreshProviderUsage],
|
[refreshProviderUsage],
|
||||||
|
|||||||
@@ -58,10 +58,8 @@ export function useProviderUsage(
|
|||||||
});
|
});
|
||||||
|
|
||||||
const refresh = useCallback(async () => {
|
const refresh = useCallback(async () => {
|
||||||
|
if (!canFetch) return;
|
||||||
await queryClient.invalidateQueries({ queryKey });
|
await queryClient.invalidateQueries({ queryKey });
|
||||||
if (!canFetch) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
await queryClient.fetchQuery({
|
await queryClient.fetchQuery({
|
||||||
queryKey,
|
queryKey,
|
||||||
queryFn,
|
queryFn,
|
||||||
|
|||||||
Reference in New Issue
Block a user