From e9c7b9d600ab027b8a829e48ef694af8a6feae92 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 15 May 2026 19:07:13 -0400 Subject: [PATCH] fix: suppress uncaught promise rejections from fire-and-forget useAsync calls in useEffect --- src/app/components/AuthFlowsLoader.tsx | 2 +- src/app/components/CapabilitiesLoader.tsx | 2 +- src/app/components/MediaConfigLoader.tsx | 2 +- src/app/components/SpecVersionsLoader.tsx | 2 +- src/app/components/url-preview/UrlPreviewCard.tsx | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/components/AuthFlowsLoader.tsx b/src/app/components/AuthFlowsLoader.tsx index f21bad044..227551f7d 100644 --- a/src/app/components/AuthFlowsLoader.tsx +++ b/src/app/components/AuthFlowsLoader.tsx @@ -49,7 +49,7 @@ export function AuthFlowsLoader({ fallback, error, children }: AuthFlowsLoaderPr ); useEffect(() => { - load(); + load().catch(() => {}); }, [load]); if (state.status === AsyncStatus.Idle || state.status === AsyncStatus.Loading) { diff --git a/src/app/components/CapabilitiesLoader.tsx b/src/app/components/CapabilitiesLoader.tsx index 667191e90..e53423c3e 100644 --- a/src/app/components/CapabilitiesLoader.tsx +++ b/src/app/components/CapabilitiesLoader.tsx @@ -12,7 +12,7 @@ export function CapabilitiesLoader({ children }: CapabilitiesLoaderProps) { const [state, load] = useAsyncCallback(useCallback(() => mx.getCapabilities(), [mx])); useEffect(() => { - load(); + load().catch(() => {}); }, [load]); return children(state.status === AsyncStatus.Success ? state.data : undefined); diff --git a/src/app/components/MediaConfigLoader.tsx b/src/app/components/MediaConfigLoader.tsx index 9fd99330a..4734428a9 100644 --- a/src/app/components/MediaConfigLoader.tsx +++ b/src/app/components/MediaConfigLoader.tsx @@ -12,7 +12,7 @@ export function MediaConfigLoader({ children }: MediaConfigLoaderProps) { const [state, load] = useAsyncCallback(useCallback(() => mx.getMediaConfig(), [mx])); useEffect(() => { - load(); + load().catch(() => {}); }, [load]); return children(state.status === AsyncStatus.Success ? state.data : undefined); diff --git a/src/app/components/SpecVersionsLoader.tsx b/src/app/components/SpecVersionsLoader.tsx index 5ee47bdfd..5ce41d2f5 100644 --- a/src/app/components/SpecVersionsLoader.tsx +++ b/src/app/components/SpecVersionsLoader.tsx @@ -22,7 +22,7 @@ export function SpecVersionsLoader({ const ignoreCallback = useCallback(() => setIgnoreError(true), []); useEffect(() => { - load(); + load().catch(() => {}); }, [load]); if (state.status === AsyncStatus.Idle || state.status === AsyncStatus.Loading) { diff --git a/src/app/components/url-preview/UrlPreviewCard.tsx b/src/app/components/url-preview/UrlPreviewCard.tsx index ee8967af7..653129719 100644 --- a/src/app/components/url-preview/UrlPreviewCard.tsx +++ b/src/app/components/url-preview/UrlPreviewCard.tsx @@ -28,7 +28,7 @@ export const UrlPreviewCard = as<'div', { url: string; ts: number }>( ); useEffect(() => { - loadPreview(); + loadPreview().catch(() => {}); }, [loadPreview]); if (previewStatus.status === AsyncStatus.Error) return null;