From 8c0b73ad0c2598fa3ff6a4ebb35da9c1afdd0652 Mon Sep 17 00:00:00 2001 From: Gigi Date: Tue, 21 Oct 2025 08:21:36 +0200 Subject: [PATCH] fix: resolve all linting and type checking issues --- src/components/Explore.tsx | 2 +- src/components/Me.tsx | 22 +++++++++++----------- src/hooks/useExternalUrlLoader.ts | 5 ++++- src/hooks/useReadingPosition.ts | 2 +- src/services/relayListService.ts | 5 +---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/components/Explore.tsx b/src/components/Explore.tsx index c7bae11d..923881c0 100644 --- a/src/components/Explore.tsx +++ b/src/components/Explore.tsx @@ -455,7 +455,7 @@ const Explore: React.FC = ({ relayPool, eventStore, settings, acti const level: 'mine' | 'friends' | 'nostrverse' = isMine ? 'mine' : isFriend ? 'friends' : 'nostrverse' return { ...post, level } }) - }, [uniqueSortedPosts, activeAccount, followedPubkeys, visibility]) + }, [uniqueSortedPosts, activeAccount, followedPubkeys, visibility, settings?.hideBotArticlesByName]) // Helper to get reading progress for a post const getReadingProgress = useCallback((post: BlogPostPreview): number | undefined => { diff --git a/src/components/Me.tsx b/src/components/Me.tsx index 55d92f87..dd04a089 100644 --- a/src/components/Me.tsx +++ b/src/components/Me.tsx @@ -205,15 +205,15 @@ const Me: React.FC = ({ }, [viewingPubkey, relayPool, eventStore, refreshTrigger]) // Tab-specific loading functions - const loadHighlightsTab = async () => { + const loadHighlightsTab = useCallback(async () => { if (!viewingPubkey) return // Highlights come from controller subscription (sync effect handles it) setLoadedTabs(prev => new Set(prev).add('highlights')) setLoading(false) - } + }, [viewingPubkey]) - const loadWritingsTab = async () => { + const loadWritingsTab = useCallback(async () => { if (!viewingPubkey) return try { @@ -230,9 +230,9 @@ const Me: React.FC = ({ console.error('Failed to load writings:', err) setLoading(false) } - } + }, [viewingPubkey, relayPool, eventStore, refreshTrigger]) - const loadReadingListTab = async () => { + const loadReadingListTab = useCallback(async () => { if (!viewingPubkey || !activeAccount) return const hasBeenLoaded = loadedTabs.has('reading-list') @@ -246,9 +246,9 @@ const Me: React.FC = ({ } finally { if (!hasBeenLoaded) setLoading(false) } - } + }, [viewingPubkey, activeAccount, loadedTabs]) - const loadReadsTab = async () => { + const loadReadsTab = useCallback(async () => { if (!viewingPubkey || !activeAccount) return const hasBeenLoaded = loadedTabs.has('reads') @@ -270,9 +270,9 @@ const Me: React.FC = ({ console.error('Failed to load reads:', err) if (!hasBeenLoaded) setLoading(false) } - } + }, [viewingPubkey, activeAccount, loadedTabs, relayPool, eventStore]) - const loadLinksTab = async () => { + const loadLinksTab = useCallback(async () => { if (!viewingPubkey || !activeAccount) return const hasBeenLoaded = loadedTabs.has('links') @@ -310,7 +310,7 @@ const Me: React.FC = ({ console.error('Failed to load links:', err) if (!hasBeenLoaded) setLoading(false) } - } + }, [viewingPubkey, activeAccount, loadedTabs, bookmarks, relayPool, readingProgressMap]) // Load active tab data const loadActiveTab = useCallback(() => { @@ -346,7 +346,7 @@ const Me: React.FC = ({ loadLinksTab() break } - }, [viewingPubkey, activeTab, bookmarks, refreshTrigger]) + }, [viewingPubkey, activeTab, loadHighlightsTab, loadWritingsTab, loadReadingListTab, loadReadsTab, loadLinksTab]) useEffect(() => { loadActiveTab() diff --git a/src/hooks/useExternalUrlLoader.ts b/src/hooks/useExternalUrlLoader.ts index 5eccbff4..077705fc 100644 --- a/src/hooks/useExternalUrlLoader.ts +++ b/src/hooks/useExternalUrlLoader.ts @@ -163,7 +163,10 @@ export function useExternalUrlLoader({ setReaderLoading, setIsCollapsed, setSelectedUrl, - setHighlights + setHighlights, + setCurrentArticleCoordinate, + setCurrentArticleEventId, + setHighlightsLoading ]) // Keep UI highlights synced with cached store updates without reloading content diff --git a/src/hooks/useReadingPosition.ts b/src/hooks/useReadingPosition.ts index 7336a534..3875013a 100644 --- a/src/hooks/useReadingPosition.ts +++ b/src/hooks/useReadingPosition.ts @@ -153,7 +153,7 @@ export const useReadingPosition = ({ clearTimeout(completionTimerRef.current) } } - }, [enabled, onPositionChange, onReadingComplete, readingCompleteThreshold, scheduleSave]) + }, [enabled, onPositionChange, onReadingComplete, readingCompleteThreshold, scheduleSave, completionHoldMs]) // Reset reading complete state when enabled changes useEffect(() => { diff --git a/src/services/relayListService.ts b/src/services/relayListService.ts index e90ed5d0..991f9b49 100644 --- a/src/services/relayListService.ts +++ b/src/services/relayListService.ts @@ -19,7 +19,6 @@ export async function loadUserRelayList( ): Promise { try { - const startTime = Date.now() // Try querying with streaming callback for faster results const events: NostrEvent[] = [] @@ -61,10 +60,8 @@ export async function loadUserRelayList( // Use the streaming results if we got any, otherwise fall back to the full result const finalEvents = events.length > 0 ? events : result - const queryTime = Date.now() - startTime - // Also try a broader query to see if we get any events at all - const allEvents = await queryEvents(relayPool, { + await queryEvents(relayPool, { kinds: [10002], limit: 5 })