From cced917abc73fcd96cf6886ca74ae9e6397b0945 Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Wed, 15 Apr 2026 22:36:55 +0530 Subject: [PATCH 1/2] Fix #202 slow-network invite timeout handling --- src/app/components/SpaceInvite.svelte | 35 ++++++++++++++++----------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/app/components/SpaceInvite.svelte b/src/app/components/SpaceInvite.svelte index 79a15a84..f0544903 100644 --- a/src/app/components/SpaceInvite.svelte +++ b/src/app/components/SpaceInvite.svelte @@ -25,34 +25,41 @@ const authError = deriveRelayAuthError(url) const back = () => history.back() - const copyInvite = () => clip(invite) let claim = $state("") let loading = $state(true) - let invite = $state("") $effect(() => { const relay = displayRelayUrl(url) const params = new URLSearchParams({r: relay, c: claim}).toString() - invite = PLATFORM_URL + "/join?" + params }) onMount(async () => { - const [[event]] = await Promise.all([ - request({ - relays: [url], - autoClose: true, - signal: AbortSignal.timeout(3000), - filters: [{kinds: [RELAY_INVITE]}], - }), - sleep(2000), - ]) + try { + const [[event]] = await Promise.all([ + Promise.race([ + request({ + relays: [url], + autoClose: true, + signal: AbortSignal.timeout(10000), + filters: [{kinds: [RELAY_INVITE]}], + }), + sleep(10000).then(() => { + throw new Error("Invite claim timed out") + }), + ]), + sleep(2000), + ]) - claim = getTagValue("claim", event?.tags || []) || "" - loading = false + claim = getTagValue("claim", event?.tags || []) || "" + } catch { + claim = "" + } finally { + loading = false + } }) -- 2.52.0 From ae86b8e6b49f493b0bc1a056453c83767324b3bc Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Thu, 16 Apr 2026 03:26:48 +0530 Subject: [PATCH 2/2] Simplify invite timeout handling --- src/app/components/SpaceInvite.svelte | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/app/components/SpaceInvite.svelte b/src/app/components/SpaceInvite.svelte index f0544903..94edb2c2 100644 --- a/src/app/components/SpaceInvite.svelte +++ b/src/app/components/SpaceInvite.svelte @@ -40,17 +40,12 @@ onMount(async () => { try { const [[event]] = await Promise.all([ - Promise.race([ - request({ - relays: [url], - autoClose: true, - signal: AbortSignal.timeout(10000), - filters: [{kinds: [RELAY_INVITE]}], - }), - sleep(10000).then(() => { - throw new Error("Invite claim timed out") - }), - ]), + request({ + relays: [url], + autoClose: true, + signal: AbortSignal.timeout(10000), + filters: [{kinds: [RELAY_INVITE]}], + }), sleep(2000), ]) -- 2.52.0