From 7551a05aeeb238b51e71895f5516af9f6f5163ca Mon Sep 17 00:00:00 2001 From: Gigi Date: Wed, 22 Oct 2025 13:38:24 +0200 Subject: [PATCH] fix(article): prevent re-fetch on settings change by memoizing via ref in useArticleLoader --- src/hooks/useArticleLoader.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hooks/useArticleLoader.ts b/src/hooks/useArticleLoader.ts index 0a8b3f76..6a81cbcb 100644 --- a/src/hooks/useArticleLoader.ts +++ b/src/hooks/useArticleLoader.ts @@ -37,6 +37,11 @@ export function useArticleLoader({ settings }: UseArticleLoaderProps) { const mountedRef = useRef(true) + // Hold latest settings without retriggering effect + const settingsRef = useRef(settings) + useEffect(() => { + settingsRef.current = settings + }, [settings]) useEffect(() => { mountedRef.current = true @@ -52,7 +57,7 @@ export function useArticleLoader({ setIsCollapsed(true) try { - const article = await fetchArticleByNaddr(relayPool, naddr, false, settings) + const article = await fetchArticleByNaddr(relayPool, naddr, false, settingsRef.current) if (!mountedRef.current) return @@ -123,7 +128,6 @@ export function useArticleLoader({ }, [ naddr, relayPool, - settings, setSelectedUrl, setReaderContent, setReaderLoading,