From f80aba33f1fefc8525f82718ed9c1e8f4fff8635 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 9 Feb 2026 16:57:44 -0800 Subject: [PATCH] Optimistically load messaging relays --- src/app/components/Chat.svelte | 18 ++++++++++-------- src/app/components/ChatStart.svelte | 5 +++++ src/app/components/ProfileDetail.svelte | 13 ++++++++++++- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/app/components/Chat.svelte b/src/app/components/Chat.svelte index bcd32979..98d233fe 100644 --- a/src/app/components/Chat.svelte +++ b/src/app/components/Chat.svelte @@ -48,7 +48,7 @@ import ChatCompose from "@app/components/ChatCompose.svelte" import ChatComposeParent from "@app/components/ChatComposeParent.svelte" import ThunkToast from "@app/components/ThunkToast.svelte" - import {INDEXER_RELAYS, userSettingsValues, PLATFORM_NAME, deriveChat} from "@app/core/state" + import {userSettingsValues, PLATFORM_NAME, deriveChat} from "@app/core/state" import {pushModal} from "@app/util/modal" import {prependParent} from "@app/core/commands" import {pushToast} from "@app/util/toast" @@ -121,12 +121,14 @@ // Split the message into multiple pieces so that we can use kind 15 to send images per nip 17 // Sleep 1 second between each one to make sure timestamps are distinct - const thunks = Array.from(enumerate(templates)).map(([i, event]) => - sendWrapped({ - event, - recipients: pubkeys, - delay: $userSettingsValues.send_delay + ms(i), - }), + const thunks = await Promise.all( + Array.from(enumerate(templates)).map(([i, event]) => + sendWrapped({ + event, + recipients: pubkeys, + delay: $userSettingsValues.send_delay + ms(i), + }), + ), ) pushToast({ @@ -178,7 +180,7 @@ onMount(() => { for (const pubkey of others) { - loadMessagingRelayList(pubkey, INDEXER_RELAYS, true) + loadMessagingRelayList(pubkey) } const observer = new ResizeObserver(() => { diff --git a/src/app/components/ChatStart.svelte b/src/app/components/ChatStart.svelte index fe498fdc..1cfe90d4 100644 --- a/src/app/components/ChatStart.svelte +++ b/src/app/components/ChatStart.svelte @@ -5,6 +5,7 @@ import {goto} from "$app/navigation" import {tryCatch, uniq} from "@welshman/lib" import {fromNostrURI} from "@welshman/util" + import {loadMessagingRelayList} from "@welshman/app" import {preventDefault} from "@lib/html" import Field from "@lib/components/Field.svelte" import Button from "@lib/components/Button.svelte" @@ -33,6 +34,10 @@ let pubkeys: string[] = $state([]) + $effect(() => { + pubkeys.forEach(pubkey => loadMessagingRelayList(pubkey)) + }) + onMount(() => { return term.subscribe(t => { if (t.match(/^[0-9a-f]{64}$/)) { diff --git a/src/app/components/ProfileDetail.svelte b/src/app/components/ProfileDetail.svelte index 7103abd6..70727ee4 100644 --- a/src/app/components/ProfileDetail.svelte +++ b/src/app/components/ProfileDetail.svelte @@ -1,8 +1,15 @@