From a74760d80480cd4a1561a28293a2ab164d1552ee Mon Sep 17 00:00:00 2001 From: Gigi Date: Fri, 17 Oct 2025 09:36:13 +0200 Subject: [PATCH] chore(bunker): increase decrypt timeouts (probe 10s, bookmark decrypt 30s) --- src/App.tsx | 10 +++++----- src/services/bookmarkProcessing.ts | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 2589f051..1b9d5253 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -374,7 +374,7 @@ function App() { console.log("[bunker] Subscription ready after startup delay") // Fire-and-forget: probe decrypt path to verify Amber responds to NIP-46 decrypt try { - const withTimeout = async (p: Promise, ms = 3000): Promise => { + const withTimeout = async (p: Promise, ms = 10000): Promise => { return await Promise.race([ p, new Promise((_, rej) => setTimeout(() => rej(new Error(`probe timeout after ${ms}ms`)), ms)), @@ -385,16 +385,16 @@ function App() { // Try a roundtrip so the bunker can respond successfully try { 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) + const cipher44 = await withTimeout(nostrConnectAccount.signer.nip44!.encrypt(self, 'probe-nip44')) + const plain44 = await withTimeout(nostrConnectAccount.signer.nip44!.decrypt(self, cipher44)) 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 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) + const cipher04 = await withTimeout(nostrConnectAccount.signer.nip04!.encrypt(self, 'probe-nip04')) + const plain04 = await withTimeout(nostrConnectAccount.signer.nip04!.decrypt(self, cipher04)) 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) diff --git a/src/services/bookmarkProcessing.ts b/src/services/bookmarkProcessing.ts index 5f99f314..8280fb1f 100644 --- a/src/services/bookmarkProcessing.ts +++ b/src/services/bookmarkProcessing.ts @@ -12,9 +12,9 @@ type HiddenContentSigner = Parameters[1] type UnlockMode = Parameters[2] /** - * Wrap a decrypt promise with a timeout to prevent hanging (using 15s timeout for bunker) + * Wrap a decrypt promise with a timeout to prevent hanging (using 30s timeout for bunker) */ -function withDecryptTimeout(promise: Promise, timeoutMs = 15000): Promise { +function withDecryptTimeout(promise: Promise, timeoutMs = 30000): Promise { return Promise.race([ promise, new Promise((_, reject) =>