From 8b2b954dde91e7bcb12268dc898b85225ba5b420 Mon Sep 17 00:00:00 2001 From: Gigi Date: Wed, 15 Oct 2025 19:59:54 +0200 Subject: [PATCH] fix: prevent useBookmarksData from overwriting external URL highlights The issue was that useBookmarksData was fetching general highlights whenever there was no naddr, which included external URL routes (/r/*). This caused the URL-specific highlights loaded by useExternalUrlLoader to be overwritten after a couple seconds. Now we skip fetching general highlights when viewing external URLs, letting useExternalUrlLoader manage those highlights instead. --- src/components/Bookmarks.tsx | 1 + src/hooks/useBookmarksData.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/Bookmarks.tsx b/src/components/Bookmarks.tsx index e57e60f1..8aceb36c 100644 --- a/src/components/Bookmarks.tsx +++ b/src/components/Bookmarks.tsx @@ -167,6 +167,7 @@ const Bookmarks: React.FC = ({ relayPool, onLogout }) => { activeAccount, accountManager, naddr, + externalUrl, currentArticleCoordinate, currentArticleEventId, settings diff --git a/src/hooks/useBookmarksData.ts b/src/hooks/useBookmarksData.ts index 6505ad6a..e7b5a1c8 100644 --- a/src/hooks/useBookmarksData.ts +++ b/src/hooks/useBookmarksData.ts @@ -13,6 +13,7 @@ interface UseBookmarksDataParams { activeAccount: IAccount | undefined accountManager: AccountManager naddr?: string + externalUrl?: string currentArticleCoordinate?: string currentArticleEventId?: string settings?: UserSettings @@ -23,6 +24,7 @@ export const useBookmarksData = ({ activeAccount, accountManager, naddr, + externalUrl, currentArticleCoordinate, currentArticleEventId, settings @@ -115,11 +117,13 @@ export const useBookmarksData = ({ // Fetch highlights/contacts independently to avoid disturbing bookmarks useEffect(() => { if (!relayPool || !activeAccount) return - if (!naddr) { + // Only fetch general highlights when not viewing an article (naddr) or external URL + // External URLs have their highlights fetched by useExternalUrlLoader + if (!naddr && !externalUrl) { handleFetchHighlights() } handleFetchContacts() - }, [relayPool, activeAccount, naddr, handleFetchHighlights, handleFetchContacts]) + }, [relayPool, activeAccount, naddr, externalUrl, handleFetchHighlights, handleFetchContacts]) return { bookmarks,