From 23b7447b92d406c0fe506f1c3f8c91489e20ddcd Mon Sep 17 00:00:00 2001 From: TZGyn Date: Sun, 17 May 2026 10:48:35 +0800 Subject: [PATCH] fix walletOpen status always returning true --- apps/desktop/src/bun/index.ts | 5 +++-- apps/desktop/src/bun/lib/monero/wallet.ts | 13 ++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/bun/index.ts b/apps/desktop/src/bun/index.ts index f80d7a9..8254859 100644 --- a/apps/desktop/src/bun/index.ts +++ b/apps/desktop/src/bun/index.ts @@ -612,8 +612,9 @@ const rpc = BrowserView.defineRPC({ return { running: false, walletOpen: false, connected: false } } const connected = await moneroManager.isConnected() - console.log('[rpc] moneroWalletStatus: running, connected:', connected) - return { running: true, walletOpen: true, connected } + const walletOpen = await moneroManager.isWalletOpen() + console.log('[rpc] moneroWalletStatus: running, walletOpen:', walletOpen, 'connected:', connected) + return { running: true, walletOpen, connected } }, moneroGetAccounts: async () => { console.log('[rpc] moneroGetAccounts') diff --git a/apps/desktop/src/bun/lib/monero/wallet.ts b/apps/desktop/src/bun/lib/monero/wallet.ts index 89e9952..598b63f 100644 --- a/apps/desktop/src/bun/lib/monero/wallet.ts +++ b/apps/desktop/src/bun/lib/monero/wallet.ts @@ -218,11 +218,22 @@ export class MoneroWalletManager { } } - async isConnected(): Promise { + async isWalletOpen(): Promise { if (!this.wallet) return false try { await this.wallet.getHeight() return true + } catch { + return false + } + } + + async isConnected(): Promise { + if (!this.wallet) return false + try { + const daemon = await connectToDaemonRpc(`http://${this.daemonAddress}`) + await daemon.getHeight() + return true } catch (e) { console.log(`[monero] connection check failed:`, e) return false