diff --git a/package-lock.json b/package-lock.json
index 3d820f38..586f2c29 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
"@radix-ui/react-dropdown-menu": "^2.1.4",
"@radix-ui/react-hover-card": "^1.1.4",
"@radix-ui/react-popover": "^1.1.4",
- "@radix-ui/react-scroll-area": "^1.2.0",
+ "@radix-ui/react-scroll-area": "1.2.0",
"@radix-ui/react-separator": "^1.1.1",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-switch": "^1.1.2",
diff --git a/package.json b/package.json
index 1e07b4a6..44b8615f 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
"@radix-ui/react-dropdown-menu": "^2.1.4",
"@radix-ui/react-hover-card": "^1.1.4",
"@radix-ui/react-popover": "^1.1.4",
- "@radix-ui/react-scroll-area": "^1.2.0",
+ "@radix-ui/react-scroll-area": "1.2.0",
"@radix-ui/react-separator": "^1.1.1",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-switch": "^1.1.2",
diff --git a/src/components/NoteList/index.tsx b/src/components/NoteList/index.tsx
index 1cc4fb87..2db3edb0 100644
--- a/src/components/NoteList/index.tsx
+++ b/src/components/NoteList/index.tsx
@@ -160,7 +160,7 @@ export default function NoteList({
}
pullingContent=""
>
- <>
+
{newEvents.filter((event) => displayReplies || !isReplyNoteEvent(event)).length > 0 && (
- >
+
{hasMore ? (
diff --git a/src/constants.ts b/src/constants.ts
index 2447bd58..c79fb9d5 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -3,3 +3,12 @@ export const StorageKey = {
RELAY_GROUPS: 'relayGroups',
ACCOUNTS: 'accounts'
}
+
+export const BIG_RELAY_URLS = [
+ 'wss://relay.damus.io/',
+ 'wss://nos.lol/',
+ 'wss://relay.nostr.band/',
+ 'wss://relay.noswhere.com/'
+]
+
+export const SEARCHABLE_RELAY_URLS = ['wss://relay.nostr.band/', 'wss://search.nos.today/']
diff --git a/src/providers/RelaySettingsProvider.tsx b/src/providers/RelaySettingsProvider.tsx
index 7f4710e9..e59e1214 100644
--- a/src/providers/RelaySettingsProvider.tsx
+++ b/src/providers/RelaySettingsProvider.tsx
@@ -1,8 +1,9 @@
-import { TRelayGroup } from '@/types'
+import { SEARCHABLE_RELAY_URLS } from '@/constants'
import { checkAlgoRelay, checkSearchRelay } from '@/lib/relay'
import { isWebsocketUrl, normalizeUrl } from '@/lib/url'
import client from '@/services/client.service'
import storage from '@/services/storage.service'
+import { TRelayGroup } from '@/types'
import { createContext, Dispatch, useContext, useEffect, useState } from 'react'
type TRelaySettingsContext = {
@@ -37,7 +38,7 @@ export function RelaySettingsProvider({ children }: { children: React.ReactNode
? temporaryRelayUrls
: (relayGroups.find((group) => group.isActive)?.relayUrls ?? [])
)
- const [searchableRelayUrls, setSearchableRelayUrls] = useState([])
+ const [searchableRelayUrls, setSearchableRelayUrls] = useState(SEARCHABLE_RELAY_URLS)
const [areAlgoRelays, setAreAlgoRelays] = useState(false)
useEffect(() => {
@@ -63,7 +64,12 @@ export function RelaySettingsProvider({ children }: { children: React.ReactNode
setRelayUrls(newRelayUrls)
}
const relayInfos = await client.fetchRelayInfos(newRelayUrls)
- setSearchableRelayUrls(newRelayUrls.filter((_, index) => checkSearchRelay(relayInfos[index])))
+ const searchableRelayUrls = newRelayUrls.filter((_, index) =>
+ checkSearchRelay(relayInfos[index])
+ )
+ setSearchableRelayUrls(
+ searchableRelayUrls.length ? searchableRelayUrls : SEARCHABLE_RELAY_URLS
+ )
const nonAlgoRelayUrls = newRelayUrls.filter((_, index) => !checkAlgoRelay(relayInfos[index]))
setAreAlgoRelays(newRelayUrls.length > 0 && nonAlgoRelayUrls.length === 0)
client.setCurrentRelayUrls(nonAlgoRelayUrls)
diff --git a/src/services/client.service.ts b/src/services/client.service.ts
index eb35ca1b..da1787a8 100644
--- a/src/services/client.service.ts
+++ b/src/services/client.service.ts
@@ -1,3 +1,4 @@
+import { BIG_RELAY_URLS } from '@/constants'
import { formatPubkey } from '@/lib/pubkey'
import { tagNameEquals } from '@/lib/tag'
import { isWebsocketUrl, normalizeUrl } from '@/lib/url'
@@ -15,13 +16,6 @@ import {
VerifiedEvent
} from 'nostr-tools'
-const BIG_RELAY_URLS = [
- 'wss://relay.damus.io/',
- 'wss://nos.lol/',
- 'wss://relay.nostr.band/',
- 'wss://relay.noswhere.com/'
-]
-
type TTimelineRef = [string, number]
class ClientService extends EventTarget {