diff --git a/src/renderer/src/components/AccountButton/ProfileButton.tsx b/src/renderer/src/components/AccountButton/ProfileButton.tsx index 2ee889a..21737e8 100644 --- a/src/renderer/src/components/AccountButton/ProfileButton.tsx +++ b/src/renderer/src/components/AccountButton/ProfileButton.tsx @@ -8,7 +8,7 @@ import { } from '@renderer/components/ui/dropdown-menu' import { useFetchProfile } from '@renderer/hooks' import { toProfile } from '@renderer/lib/link' -import { generateImageByPubkey } from '@renderer/lib/pubkey' +import { formatPubkey, generateImageByPubkey } from '@renderer/lib/pubkey' import { useSecondaryPage } from '@renderer/PageManager' import { useNostr } from '@renderer/providers/NostrProvider' import { useTranslation } from 'react-i18next' @@ -24,10 +24,9 @@ export default function ProfileButton({ const { logout } = useNostr() const { profile } = useFetchProfile(pubkey) const { push } = useSecondaryPage() - if (!profile) return null - const { username, avatar } = profile const defaultAvatar = generateImageByPubkey(pubkey) + const { username, avatar } = profile || { username: formatPubkey(pubkey), avatar: defaultAvatar } let triggerComponent: React.ReactNode if (variant === 'titlebar') { diff --git a/src/renderer/src/components/NoteList/index.tsx b/src/renderer/src/components/NoteList/index.tsx index 1645d2f..e2ef45f 100644 --- a/src/renderer/src/components/NoteList/index.tsx +++ b/src/renderer/src/components/NoteList/index.tsx @@ -58,8 +58,6 @@ export default function NoteList({ } if (events.length > 0) { setEvents((pre) => [...pre, ...events]) - } - if (events.length > 0) { setUntil(events[events.length - 1].created_at - 1) } if (areAlgoRelays) { diff --git a/src/renderer/src/hooks/useFetchRelayInfos.tsx b/src/renderer/src/hooks/useFetchRelayInfos.tsx index d71e00b..6ae3ba3 100644 --- a/src/renderer/src/hooks/useFetchRelayInfos.tsx +++ b/src/renderer/src/hooks/useFetchRelayInfos.tsx @@ -14,6 +14,9 @@ export function useFetchRelayInfos(urls: string[]) { if (urls.length === 0) { return setIsFetching(false) } + const timer = setTimeout(() => { + setIsFetching(false) + }, 5000) try { const relayInfos = await client.fetchRelayInfos(urls) setRelayInfos(relayInfos) @@ -21,6 +24,7 @@ export function useFetchRelayInfos(urls: string[]) { } catch (err) { console.error(err) } finally { + clearTimeout(timer) setIsFetching(false) } }