diff --git a/src/components/bookmark/BookmarkView.tsx b/src/components/bookmark/BookmarkView.tsx index c50535a..99c8770 100644 --- a/src/components/bookmark/BookmarkView.tsx +++ b/src/components/bookmark/BookmarkView.tsx @@ -91,10 +91,16 @@ export function BookmarkView() { if (!cancelled) { const fetched = results.filter((e): e is NDKEvent => e !== null); // Separate articles (kind 30023) bookmarked via e-tag from notes - const notesOnly = fetched.filter((e) => e.kind !== 30023) - .sort((a, b) => (b.created_at ?? 0) - (a.created_at ?? 0)); + const fetchedNotes = fetched.filter((e) => e.kind !== 30023); const articlesFromETag = fetched.filter((e) => e.kind === 30023); - setNotes(notesOnly); + // Merge with existing (cached) notes — don't replace, so cached notes survive relay timeouts + setNotes((prev) => { + const byId = new Map(prev.map((e) => [e.id, e])); + for (const e of fetchedNotes) byId.set(e.id, e); + return Array.from(byId.values()) + .filter((e) => bookmarkedIds.includes(e.id!)) + .sort((a, b) => (b.created_at ?? 0) - (a.created_at ?? 0)); + }); // Merge any articles found via e-tag into the articles list if (articlesFromETag.length > 0) { setArticles((prev) => { diff --git a/src/components/shared/SettingsView.tsx b/src/components/shared/SettingsView.tsx index f7a7fba..763e09f 100644 --- a/src/components/shared/SettingsView.tsx +++ b/src/components/shared/SettingsView.tsx @@ -331,8 +331,8 @@ function ThemeSection() { const FONT_PRESETS = [ { label: "Small", size: 12 }, { label: "Normal", size: 14 }, - { label: "Large", size: 16 }, - { label: "Extra Large", size: 18 }, + { label: "Large", size: 17 }, + { label: "Extra Large", size: 20 }, ]; function FontSizeSection() { diff --git a/src/components/sidebar/AccountSwitcher.tsx b/src/components/sidebar/AccountSwitcher.tsx index 9a5eca7..fe6aac0 100644 --- a/src/components/sidebar/AccountSwitcher.tsx +++ b/src/components/sidebar/AccountSwitcher.tsx @@ -153,12 +153,12 @@ export function AccountSwitcher() { className="flex items-center gap-2 flex-1 min-w-0 cursor-pointer hover:opacity-80 transition-opacity" onClick={() => openProfile(pubkey)} > - - {displayName(current)} + + {displayName(current)}