fix: drop relay.damus.io from default relay lists ahead of shutdown

relay.damus.io is being decommissioned, so remove it from every runtime
default/fallback relay set to stop the app and amy from wasting connection
slots on a dead host:

- commons Constants: remove `damus`; it dropped out of `bootstrapInbox`
  (default NIP-65 inbox) and `eventFinderRelays` (default outbox/fallback),
  both still carrying 6 healthy relays.
- ChessConfig: remove damus from CHESS_RELAYS / CHESS_RELAY_NAMES, leaving
  the 3 relays the FETCH_TIMEOUT comment already assumes.
- desktop DefaultRelays: remove damus and the also-dead relay.snort.social.
- desktop FollowPacks DISCOVERY_RELAYS: remove damus.
- amy NipCommand SEARCH_RELAYS: swap damus for the NIP-50-capable nostr.wine.

Comments, @Preview sample data, and test fixtures that mention damus.io are
left untouched — they have no runtime effect.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Ttcqa3V78bugGraGhtehj
This commit is contained in:
Claude
2026-07-01 23:35:24 +00:00
parent 572fdb5ff4
commit b1fda59cd6
5 changed files with 4 additions and 10 deletions
@@ -56,7 +56,7 @@ object NipCommand {
// NIP-50-capable relays for the Nostr fallback (search isn't universal).
private val SEARCH_RELAYS =
listOf("wss://relay.nostr.band", "wss://relay.damus.io")
listOf("wss://relay.nostr.band", "wss://nostr.wine")
.mapNotNull { RelayUrlNormalizer.normalizeOrNull(it) }
.toSet()
@@ -31,7 +31,6 @@ object Constants {
val nos = RelayUrlNormalizer.normalize("wss://nos.lol")
val mom = RelayUrlNormalizer.normalize("wss://nostr.mom")
val primal = RelayUrlNormalizer.normalize("wss://relay.primal.net")
val damus = RelayUrlNormalizer.normalize("wss://relay.damus.io")
val wine = RelayUrlNormalizer.normalize("wss://nostr.wine")
val where = RelayUrlNormalizer.normalize("wss://relay.noswhere.com")
@@ -55,6 +54,6 @@ object Constants {
val yabu = RelayUrlNormalizer.normalize("wss://directory.yabu.me")
val nostr1 = RelayUrlNormalizer.normalize("wss://profiles.nostr1.com")
val bootstrapInbox = setOf(damus, primal, mom, nos, bitcoiner, oxtr, yabu)
val eventFinderRelays = setOf(wine, damus, primal, mom, nos, bitcoiner, oxtr)
val bootstrapInbox = setOf(primal, mom, nos, bitcoiner, oxtr, yabu)
val eventFinderRelays = setOf(wine, primal, mom, nos, bitcoiner, oxtr)
}
@@ -31,12 +31,11 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.normalizeRelayUrl
object ChessConfig {
/**
* Relays for chess events.
* Includes relays used by jester.nyo.dev (relay.damus.io, offchain.pub)
* Includes relays used by jester.nyo.dev (offchain.pub)
* and popular community relays for broader reach.
*/
val CHESS_RELAYS =
listOf(
"wss://relay.damus.io",
"wss://nos.lol",
"wss://relay.primal.net",
"wss://offchain.pub",
@@ -47,7 +46,6 @@ object ChessConfig {
*/
val CHESS_RELAY_NAMES =
listOf(
"relay.damus.io".normalizeRelayUrl(),
"nos.lol".normalizeRelayUrl(),
"relay.primal.net".normalizeRelayUrl(),
"offchain.pub".normalizeRelayUrl(),
@@ -75,7 +75,6 @@ class FollowPacksState(
// it uses these popular relays. Verified empirically.
val DISCOVERY_RELAYS: Set<NormalizedRelayUrl> =
listOfNotNull(
RelayUrlNormalizer.normalizeOrNull("wss://relay.damus.io"),
RelayUrlNormalizer.normalizeOrNull("wss://relay.nostr.band"),
RelayUrlNormalizer.normalizeOrNull("wss://relay.primal.net"),
RelayUrlNormalizer.normalizeOrNull("wss://nos.lol"),
@@ -40,10 +40,8 @@ data class RelayStatus(
object DefaultRelays {
val RELAYS =
listOf(
"wss://relay.damus.io",
"wss://relay.nostr.band",
"wss://nos.lol",
"wss://relay.snort.social",
"wss://nostr.wine",
"wss://relay.noswhere.com",
"wss://relay.primal.net",