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)}