From 56b3493d3ddec4e8fccc2aff3ae85ec09b170d97 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 29 Jan 2026 16:37:23 +0000 Subject: [PATCH] fix(wallet): update balance observable on initial connect - Call refreshBalance() in createWalletFromURI to fetch initial balance - Update balance$ directly when ConnectWalletDialog gets balance - Fixes issue where WalletViewer showed "-" after connecting while user menu showed correct balance (different data sources) https://claude.ai/code/session_01CnJgjFMvZHZWs2ujAiWAiQ --- src/components/ConnectWalletDialog.tsx | 4 +++- src/services/nwc.ts | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/ConnectWalletDialog.tsx b/src/components/ConnectWalletDialog.tsx index 8211637..7a5bc04 100644 --- a/src/components/ConnectWalletDialog.tsx +++ b/src/components/ConnectWalletDialog.tsx @@ -11,7 +11,7 @@ import { import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { useGrimoire } from "@/core/state"; -import { createWalletFromURI } from "@/services/nwc"; +import { createWalletFromURI, balance$ } from "@/services/nwc"; interface ConnectWalletDialogProps { open: boolean; @@ -66,6 +66,8 @@ export default function ConnectWalletDialog({ try { const balanceResult = await wallet.getBalance(); balance = balanceResult.balance; + // Update the observable immediately so WalletViewer shows correct balance + balance$.next(balance); } catch (err) { console.warn("[NWC] Failed to get balance:", err); // Balance is optional, continue anyway diff --git a/src/services/nwc.ts b/src/services/nwc.ts index 3b4cce2..0d6f195 100644 --- a/src/services/nwc.ts +++ b/src/services/nwc.ts @@ -149,6 +149,7 @@ export function createWalletFromURI(connectionString: string): WalletConnect { wallet$.next(wallet); subscribeToNotifications(wallet); + refreshBalance(); // Fetch initial balance return wallet; }