From 630c7ef0a4fcfa79a89f09d547f1998247fac996 Mon Sep 17 00:00:00 2001 From: Gigi Date: Mon, 6 Oct 2025 20:20:41 +0100 Subject: [PATCH] feat: add comprehensive logging to settings service - Add debug logs for settings loading from nostr - Log when settings are found, missing, or timeout - Add logging for settings save operations - Track settings event publishing to relays This will help diagnose why custom fonts/settings aren't being applied. --- src/services/settingsService.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/services/settingsService.ts b/src/services/settingsService.ts index 8983d90e..6de97fe8 100644 --- a/src/services/settingsService.ts +++ b/src/services/settingsService.ts @@ -30,10 +30,13 @@ export async function loadSettings( pubkey: string, relays: string[] ): Promise { + console.log('⚙️ Loading settings from nostr...', { pubkey: pubkey.slice(0, 8) + '...', relays }) + return new Promise((resolve) => { let hasResolved = false const timeout = setTimeout(() => { if (!hasResolved) { + console.warn('⚠️ Settings load timeout - no settings event found') hasResolved = true resolve(null) } @@ -57,16 +60,20 @@ export async function loadSettings( ) if (event) { const content = getAppDataContent(event) + console.log('✅ Settings loaded from nostr:', content) resolve(content || null) } else { + console.log('📭 No settings event found - using defaults') resolve(null) } - } catch { + } catch (err) { + console.error('❌ Error loading settings:', err) resolve(null) } } }, - error: () => { + error: (err) => { + console.error('❌ Settings subscription error:', err) clearTimeout(timeout) if (!hasResolved) { hasResolved = true @@ -88,11 +95,17 @@ export async function saveSettings( settings: UserSettings, relays: string[] ): Promise { + console.log('💾 Saving settings to nostr:', settings) + const draft = await factory.create(AppDataBlueprint, SETTINGS_IDENTIFIER, settings, false) const signed = await factory.sign(draft) + console.log('📤 Publishing settings event:', signed.id, 'to', relays.length, 'relays') + eventStore.add(signed) await relayPool.publish(relays, signed) + + console.log('✅ Settings published successfully') } export function watchSettings(