Browse Source

fix: 🐛

imwald
codytseng 1 year ago
parent
commit
a6ec01d1e8
  1. 19
      src/components/RelaySetsSetting/PullFromRelaysButton.tsx
  2. 2
      src/providers/RelaySetsProvider.tsx

19
src/components/RelaySetsSetting/PullFromRelaysButton.tsx

@ -94,26 +94,29 @@ function RemoteRelaySets({ close }: { close?: () => void }) {
limit: 50 limit: 50
} }
) )
setRelaySets( events.sort((a, b) => b.created_at - a.created_at)
events
.map((evt) => { const relaySetIds = new Set<string>()
const relaySets: TRelaySet[] = []
events.forEach((evt) => {
const id = evt.tags.find(tagNameEquals('d'))?.[1] const id = evt.tags.find(tagNameEquals('d'))?.[1]
if (!id) return null if (!id || relaySetIds.has(id)) return
relaySetIds.add(id)
const relayUrls = evt.tags const relayUrls = evt.tags
.filter(tagNameEquals('relay')) .filter(tagNameEquals('relay'))
.map((tag) => tag[1]) .map((tag) => tag[1])
.filter((url) => url && isWebsocketUrl(url)) .filter((url) => url && isWebsocketUrl(url))
if (!relayUrls.length) return null if (!relayUrls.length) return
let title = evt.tags.find(tagNameEquals('title'))?.[1] let title = evt.tags.find(tagNameEquals('title'))?.[1]
if (!title) { if (!title) {
title = relayUrls.length === 1 ? simplifyUrl(relayUrls[0]) : id title = relayUrls.length === 1 ? simplifyUrl(relayUrls[0]) : id
} }
return { id, name: title, relayUrls } relaySets.push({ id, name: title, relayUrls })
}) })
.filter(Boolean) as TRelaySet[]
) setRelaySets(relaySets)
setInitialed(true) setInitialed(true)
} }
init() init()

2
src/providers/RelaySetsProvider.tsx

@ -67,7 +67,7 @@ export function RelaySetsProvider({ children }: { children: React.ReactNode }) {
return ( return (
<RelaySetsContext.Provider <RelaySetsContext.Provider
value={{ value={{
relaySets: relaySets, relaySets,
addRelaySet, addRelaySet,
deleteRelaySet, deleteRelaySet,
updateRelaySet, updateRelaySet,

Loading…
Cancel
Save