fix(bunker): use encrypt→decrypt roundtrip for nip44/nip04 probe to avoid false timeouts

This commit is contained in:
Gigi
2025-10-17 01:19:37 +02:00
parent fbb6a0a153
commit b506624f57

View File

@@ -376,17 +376,21 @@ function App() {
])
}
setTimeout(async () => {
const self = nostrConnectAccount.pubkey
// Try a roundtrip so the bunker can respond successfully
try {
console.log('[bunker] 🔎 Probe nip44.decrypt…')
await withTimeout(nostrConnectAccount.signer.nip44!.decrypt(nostrConnectAccount.pubkey, 'invalid-ciphertext'))
console.log('[bunker] 🔎 Probe nip44.decrypt responded')
console.log('[bunker] 🔎 Probe nip44 roundtrip (encrypt→decrypt)…')
const cipher44 = await withTimeout(nostrConnectAccount.signer.nip44!.encrypt(self, 'probe-nip44'), 3000)
const plain44 = await withTimeout(nostrConnectAccount.signer.nip44!.decrypt(self, cipher44), 3000)
console.log('[bunker] 🔎 Probe nip44 responded:', typeof plain44 === 'string' ? plain44 : typeof plain44)
} catch (err) {
console.log('[bunker] 🔎 Probe nip44 result:', err instanceof Error ? err.message : err)
}
try {
console.log('[bunker] 🔎 Probe nip04.decrypt…')
await withTimeout(nostrConnectAccount.signer.nip04!.decrypt(nostrConnectAccount.pubkey, 'invalid-ciphertext'))
console.log('[bunker] 🔎 Probe nip04.decrypt responded')
console.log('[bunker] 🔎 Probe nip04 roundtrip (encrypt→decrypt)…')
const cipher04 = await withTimeout(nostrConnectAccount.signer.nip04!.encrypt(self, 'probe-nip04'), 3000)
const plain04 = await withTimeout(nostrConnectAccount.signer.nip04!.decrypt(self, cipher04), 3000)
console.log('[bunker] 🔎 Probe nip04 responded:', typeof plain04 === 'string' ? plain04 : typeof plain04)
} catch (err) {
console.log('[bunker] 🔎 Probe nip04 result:', err instanceof Error ? err.message : err)
}