From 72136bbf131a72e770dcdbfcdd32454b5e0d1ae6 Mon Sep 17 00:00:00 2001 From: "Tom (plebeius.eth)" Date: Fri, 16 May 2025 16:05:59 +0200 Subject: [PATCH] fix: auto-subscribe logic could fail to run on certain views --- src/app.tsx | 3 +++ src/views/home/home.tsx | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app.tsx b/src/app.tsx index 64092e2c..6aa88cf2 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -2,6 +2,7 @@ import { useEffect } from 'react'; import { Outlet, Route, Routes } from 'react-router-dom'; import { initializeNotificationSystem } from './lib/push'; import useTheme from './hooks/use-theme'; +import { useAutoSubscribe } from './hooks/use-auto-subscribe'; import AboutView from './views/about'; import All from './views/all'; import Author from './views/author'; @@ -28,6 +29,8 @@ import { NotificationHandler } from './components/notification-handler/Notificat initializeNotificationSystem(); const App = () => { + useAutoSubscribe(); + const globalLayout = ( <> diff --git a/src/views/home/home.tsx b/src/views/home/home.tsx index a4431c52..ab4d1e71 100644 --- a/src/views/home/home.tsx +++ b/src/views/home/home.tsx @@ -5,7 +5,7 @@ import { useAccount, useFeed } from '@plebbit/plebbit-react-hooks'; import { Trans, useTranslation } from 'react-i18next'; import { commentMatchesPattern } from '../../lib/utils/pattern-utils'; import useFeedFiltersStore from '../../stores/use-feed-filters-store'; -import { useAutoSubscribe } from '../../hooks/use-auto-subscribe'; +import { useAutoSubscribeStore } from '../../stores/use-auto-subscribe-store'; import useTimeFilter, { isValidTimeFilterName } from '../../hooks/use-time-filter'; import useRedirectToDefaultSort from '../../hooks/use-redirect-to-default-sort'; import FeedFooter from '../../components/feed-footer'; @@ -23,7 +23,9 @@ const Home = () => { const { t } = useTranslation(); const account = useAccount(); const subplebbitAddresses = useMemo(() => account?.subscriptions || [], [account?.subscriptions]); - const { isCheckingSubscriptions } = useAutoSubscribe(); + const { isCheckingAccount } = useAutoSubscribeStore(); + const accountAddress = account?.author?.address; + const isCheckingSubscriptions = !accountAddress || isCheckingAccount(accountAddress); const params = useParams<{ sortType?: string; timeFilterName?: string }>(); const [searchParams, setSearchParams] = useSearchParams(); @@ -180,7 +182,7 @@ const Home = () => { clearTimeout(initialLoadTimeoutRef.current); } }; - }, [isCheckingSubscriptions, safeToShowNoSubscriptions]); + }, [isCheckingSubscriptions, safeToShowNoSubscriptions, accountAddress]); useEffect(() => { if (searchQuery) { @@ -203,7 +205,7 @@ const Home = () => { } else { setSubscriptionState('loading'); } - }, [isCheckingSubscriptions, subplebbitAddresses, feed, safeToShowNoSubscriptions, searchQuery]); + }, [isCheckingSubscriptions, subplebbitAddresses, feed, safeToShowNoSubscriptions, searchQuery, accountAddress]); return (