Fix #202 slow-network invite timeout handling (#207)

Co-authored-by: Priyanshubhartistm <bhartipriyanshustm@gmail.com>
Co-committed-by: Priyanshubhartistm <bhartipriyanshustm@gmail.com>
This commit is contained in:
2026-04-15 22:01:00 +00:00
committed by hodlbod
parent 4cc1cc95ca
commit 43fb3d35e6
+16 -14
View File
@@ -25,34 +25,36 @@
const authError = deriveRelayAuthError(url) const authError = deriveRelayAuthError(url)
const back = () => history.back() const back = () => history.back()
const copyInvite = () => clip(invite) const copyInvite = () => clip(invite)
let claim = $state("") let claim = $state("")
let loading = $state(true) let loading = $state(true)
let invite = $state("") let invite = $state("")
$effect(() => { $effect(() => {
const relay = displayRelayUrl(url) const relay = displayRelayUrl(url)
const params = new URLSearchParams({r: relay, c: claim}).toString() const params = new URLSearchParams({r: relay, c: claim}).toString()
invite = PLATFORM_URL + "/join?" + params invite = PLATFORM_URL + "/join?" + params
}) })
onMount(async () => { onMount(async () => {
const [[event]] = await Promise.all([ try {
request({ const [[event]] = await Promise.all([
relays: [url], request({
autoClose: true, relays: [url],
signal: AbortSignal.timeout(3000), autoClose: true,
filters: [{kinds: [RELAY_INVITE]}], signal: AbortSignal.timeout(10000),
}), filters: [{kinds: [RELAY_INVITE]}],
sleep(2000), }),
]) sleep(2000),
])
claim = getTagValue("claim", event?.tags || []) || "" claim = getTagValue("claim", event?.tags || []) || ""
loading = false } catch {
claim = ""
} finally {
loading = false
}
}) })
</script> </script>