fix(bunker): guarded connect with explicit permissions on restore

- Pass getDefaultBunkerPermissions() to connect() to ensure decrypt perms
- Keeps existing reconnection safeguards and logging
- Aims to make Amber accept decrypt requests after restore
This commit is contained in:
Gigi
2025-10-17 00:21:46 +02:00
parent 4603c5a258
commit 85599d3103

View File

@@ -8,6 +8,7 @@ import { AccountManager, Accounts } from 'applesauce-accounts'
import { registerCommonAccountTypes } from 'applesauce-accounts/accounts' import { registerCommonAccountTypes } from 'applesauce-accounts/accounts'
import { RelayPool } from 'applesauce-relay' import { RelayPool } from 'applesauce-relay'
import { NostrConnectSigner } from 'applesauce-signers' import { NostrConnectSigner } from 'applesauce-signers'
import { getDefaultBunkerPermissions } from './services/nostrConnect'
import { createAddressLoader } from 'applesauce-loaders/loaders' import { createAddressLoader } from 'applesauce-loaders/loaders'
import Bookmarks from './components/Bookmarks' import Bookmarks from './components/Bookmarks'
import RouteDebug from './components/RouteDebug' import RouteDebug from './components/RouteDebug'
@@ -328,9 +329,10 @@ function App() {
// Attempt a guarded reconnect to ensure Amber authorizes decrypt operations // Attempt a guarded reconnect to ensure Amber authorizes decrypt operations
try { try {
if (nostrConnectAccount.signer.remote && !reconnectedAccounts.has(account.id)) { if (nostrConnectAccount.signer.remote && !reconnectedAccounts.has(account.id)) {
console.log('[bunker] Attempting guarded connect() to ensure decrypt perms') const permissions = getDefaultBunkerPermissions()
await nostrConnectAccount.signer.connect(undefined, undefined) console.log('[bunker] Attempting guarded connect() with permissions to ensure decrypt perms', { count: permissions.length })
console.log('[bunker] ✅ Guarded connect() succeeded') await nostrConnectAccount.signer.connect(undefined, permissions)
console.log('[bunker] ✅ Guarded connect() succeeded with permissions')
} }
} catch (e) { } catch (e) {
console.warn('[bunker] ⚠️ Guarded connect() failed:', e) console.warn('[bunker] ⚠️ Guarded connect() failed:', e)