fix: 🐛

This commit is contained in:
codytseng
2025-01-15 10:02:08 +08:00
parent 78629dd64f
commit a6ec01d1e8
2 changed files with 22 additions and 19 deletions

View File

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

View File

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