diff --git a/src/providers/FeedProvider.tsx b/src/providers/FeedProvider.tsx index cf3f2547..3ef61024 100644 --- a/src/providers/FeedProvider.tsx +++ b/src/providers/FeedProvider.tsx @@ -34,7 +34,7 @@ export const useFeed = () => { export function FeedProvider({ children }: { children: React.ReactNode }) { const isFirstRenderRef = useRef(true) - const { pubkey } = useNostr() + const { pubkey, isInitialized } = useNostr() const { relaySets, favoriteRelays } = useFavoriteRelays() const [relayUrls, setRelayUrls] = useState([]) const [temporaryRelayUrls, setTemporaryRelayUrls] = useState([]) @@ -66,6 +66,10 @@ export function FeedProvider({ children }: { children: React.ReactNode }) { return } + if (!isInitialized) { + return + } + let feedInfo: TFeedInfo = { feedType: 'relay', id: favoriteRelays[0] ?? DEFAULT_FAVORITE_RELAYS[0] @@ -92,7 +96,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) { } init() - }, [pubkey]) + }, [pubkey, isInitialized]) const switchFeed = async ( feedType: TFeedType, diff --git a/src/providers/NostrProvider/index.tsx b/src/providers/NostrProvider/index.tsx index 1e3ac928..b6d77150 100644 --- a/src/providers/NostrProvider/index.tsx +++ b/src/providers/NostrProvider/index.tsx @@ -24,6 +24,7 @@ import { NsecSigner } from './nsec.signer' import { NpubSigner } from './npub.signer' type TNostrContext = { + isInitialized: boolean pubkey: string | null profile: TProfile | null profileEvent: Event | null @@ -83,6 +84,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { const [followListEvent, setFollowListEvent] = useState(undefined) const [muteListEvent, setMuteListEvent] = useState(undefined) const [favoriteRelaysEvent, setFavoriteRelaysEvent] = useState(null) + const [isInitialized, setIsInitialized] = useState(false) useEffect(() => { const init = async () => { @@ -96,7 +98,9 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { await loginWithAccountPointer(act) } - init() + init().then(() => { + setIsInitialized(true) + }) const handleHashChange = () => { if (hasNostrLoginHash()) { @@ -537,6 +541,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { return (