From 570bd592e24363fd1da2c74c0a5534379a8e6963 Mon Sep 17 00:00:00 2001 From: Bojan Mojsilovic Date: Tue, 12 Mar 2024 13:07:58 +0100 Subject: [PATCH] Fix relay connecting --- src/contexts/AccountContext.tsx | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/contexts/AccountContext.tsx b/src/contexts/AccountContext.tsx index abfc980..e5d4a4c 100644 --- a/src/contexts/AccountContext.tsx +++ b/src/contexts/AccountContext.tsx @@ -337,7 +337,6 @@ export function AccountProvider(props: { children: JSXElement }) { const defaultRelays = getPreConfiguredRelays(); return { ...relaySettings, ...defaultRelays }; - }; const setConnectToPrimaryRelays = (flag: boolean) => { @@ -505,6 +504,7 @@ export function AccountProvider(props: { children: JSXElement }) { const relay: NostrRelays = { [url]: { write: true, read: true }}; setRelaySettings(relay); + connectToRelays(relay) // Remove relay from the list of explicitly closed relays relaysExplicitlyClosed = relaysExplicitlyClosed.filter(u => u !== url); @@ -1259,7 +1259,18 @@ export function AccountProvider(props: { children: JSXElement }) { const storage = getStorage(pubkey); + let relaySettings = { ...storage.relaySettings }; updateStore('relaySettings', () => ({ ...storage.relaySettings })); + if (Object.keys(relaySettings).length > 0) { + connectToRelays(relaySettings); + return; + } + + if (store.isKeyLookupDone && store.publicKey) { + relaySettings = { ...getStorage(store.publicKey).relaySettings }; + connectToRelays(relaySettings); + return; + } }); createEffect(() => { @@ -1314,21 +1325,6 @@ export function AccountProvider(props: { children: JSXElement }) { } }); - createEffect(() => { - let relaySettings = { ...store.relaySettings }; - - if (Object.keys(relaySettings).length > 0) { - connectToRelays(relaySettings); - return; - } - - if (store.isKeyLookupDone && store.publicKey) { - relaySettings = { ...getStorage(store.publicKey).relaySettings }; - connectToRelays(relaySettings); - return; - } - }); - createEffect(() => { const rels: string[] = import.meta.env.PRIMAL_PRIORITY_RELAYS?.split(',') || [];