From 9759e3e75008ac9ca90a29c838e7e2dec62303d0 Mon Sep 17 00:00:00 2001 From: codytseng Date: Sat, 30 Aug 2025 13:06:41 +0800 Subject: [PATCH] feat: default to publishing posts only to outbox/inbox relays --- src/components/ReplyNoteList/index.tsx | 4 ++-- src/providers/FeedProvider.tsx | 11 ----------- src/providers/NostrProvider/index.tsx | 6 +++--- src/services/client.service.ts | 15 +-------------- 4 files changed, 6 insertions(+), 30 deletions(-) diff --git a/src/components/ReplyNoteList/index.tsx b/src/components/ReplyNoteList/index.tsx index 3fef286..6eabf3e 100644 --- a/src/components/ReplyNoteList/index.tsx +++ b/src/components/ReplyNoteList/index.tsx @@ -137,7 +137,7 @@ export default function ReplyNoteList({ index, event }: { index?: number; event: rootInfo.type === 'E' ? client.getSeenEventRelayUrls(rootInfo.id) : rootInfo.type === 'A' - ? client.getCurrentRelayUrls() + ? client.getSeenEventRelayUrls(rootInfo.eventId) : [] relayUrls.unshift(...seenOn) @@ -317,7 +317,7 @@ export default function ReplyNoteList({ index, event }: { index?: number; event: })} {!loading && ( -
+
{replies.length > 0 ? t('no more replies') : t('no replies')}
)} diff --git a/src/providers/FeedProvider.tsx b/src/providers/FeedProvider.tsx index 246a937..c925668 100644 --- a/src/providers/FeedProvider.tsx +++ b/src/providers/FeedProvider.tsx @@ -1,11 +1,8 @@ import { DEFAULT_FAVORITE_RELAYS } from '@/constants' import { getRelaySetFromEvent } from '@/lib/event-metadata' -import { checkAlgoRelay } from '@/lib/relay' import { isWebsocketUrl, normalizeUrl } from '@/lib/url' -import client from '@/services/client.service' import indexedDb from '@/services/indexed-db.service' import storage from '@/services/local-storage.service' -import relayInfoService from '@/services/relay-info.service' import { TFeedInfo, TFeedType } from '@/types' import { kinds } from 'nostr-tools' import { createContext, useContext, useEffect, useRef, useState } from 'react' @@ -103,9 +100,6 @@ export function FeedProvider({ children }: { children: React.ReactNode }) { setRelayUrls([normalizedUrl]) storage.setFeedInfo(newFeedInfo, pubkey) setIsReady(true) - - const relayInfo = await relayInfoService.getRelayInfo(normalizedUrl) - client.setCurrentRelayUrls(checkAlgoRelay(relayInfo) ? [] : [normalizedUrl]) return } if (feedType === 'relays') { @@ -135,11 +129,6 @@ export function FeedProvider({ children }: { children: React.ReactNode }) { setRelayUrls(relaySet.relayUrls) storage.setFeedInfo(newFeedInfo, pubkey) setIsReady(true) - - const relayInfos = await relayInfoService.getRelayInfos(relaySet.relayUrls) - client.setCurrentRelayUrls( - relaySet.relayUrls.filter((_, i) => !relayInfos[i] || !checkAlgoRelay(relayInfos[i])) - ) } setIsReady(true) return diff --git a/src/providers/NostrProvider/index.tsx b/src/providers/NostrProvider/index.tsx index 038fb76..d263768 100644 --- a/src/providers/NostrProvider/index.tsx +++ b/src/providers/NostrProvider/index.tsx @@ -649,9 +649,9 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { relays = specifiedRelayUrls } else { const relayList = await client.fetchRelayList(event.pubkey) - relays = (relayList?.write.slice(0, 10) ?? []) - .concat(Array.from(new Set(_additionalRelayUrls)) ?? []) - .concat(client.getCurrentRelayUrls()) + relays = (relayList?.write.slice(0, 10) ?? []).concat( + Array.from(new Set(_additionalRelayUrls)) ?? [] + ) } if (!relays.length) { diff --git a/src/services/client.service.ts b/src/services/client.service.ts index 5677e62..8b1f69a 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -35,7 +35,6 @@ class ClientService extends EventTarget { signer?: ISigner pubkey?: string - private currentRelayUrls: string[] = [] private pool: SimplePool private timelines: Record< @@ -81,14 +80,6 @@ class ClientService extends EventTarget { await indexedDb.iterateProfileEvents((profileEvent) => this.addUsernameToIndex(profileEvent)) } - setCurrentRelayUrls(urls: string[]) { - this.currentRelayUrls = urls - } - - getCurrentRelayUrls() { - return this.currentRelayUrls - } - async publishEvent(relayUrls: string[], event: NEvent) { try { const uniqueRelayUrls = Array.from(new Set(relayUrls)) @@ -626,11 +617,7 @@ class ClientService extends EventTarget { } = {} ) { const relays = Array.from(new Set(urls)) - const events = await this.query( - relays.length > 0 ? relays : this.currentRelayUrls.concat(BIG_RELAY_URLS), - filter, - onevent - ) + const events = await this.query(relays.length > 0 ? relays : BIG_RELAY_URLS, filter, onevent) if (cache) { events.forEach((evt) => { this.addEventToCache(evt)