From b1fda59cd6e2e21425588a04241d38c9683ff556 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:35:24 +0000 Subject: [PATCH] fix: drop relay.damus.io from default relay lists ahead of shutdown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_011Ttcqa3V78bugGraGhtehj --- .../com/vitorpamplona/amethyst/cli/commands/NipCommand.kt | 2 +- .../com/vitorpamplona/amethyst/commons/defaults/Constants.kt | 5 ++--- .../vitorpamplona/amethyst/commons/nip64Chess/ChessConfig.kt | 4 +--- .../amethyst/desktop/followpacks/FollowPacksState.kt | 1 - .../vitorpamplona/amethyst/desktop/network/RelayStatus.kt | 2 -- 5 files changed, 4 insertions(+), 10 deletions(-) diff --git a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/NipCommand.kt b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/NipCommand.kt index 515a2c17a2..49703e2588 100644 --- a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/NipCommand.kt +++ b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/NipCommand.kt @@ -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() diff --git a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/defaults/Constants.kt b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/defaults/Constants.kt index 089e775419..c341746e1c 100644 --- a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/defaults/Constants.kt +++ b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/defaults/Constants.kt @@ -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) } diff --git a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/nip64Chess/ChessConfig.kt b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/nip64Chess/ChessConfig.kt index fb8079b7af..80a1137d88 100644 --- a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/nip64Chess/ChessConfig.kt +++ b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/nip64Chess/ChessConfig.kt @@ -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(), diff --git a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/followpacks/FollowPacksState.kt b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/followpacks/FollowPacksState.kt index ae95ded0e9..2487e39584 100644 --- a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/followpacks/FollowPacksState.kt +++ b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/followpacks/FollowPacksState.kt @@ -75,7 +75,6 @@ class FollowPacksState( // it uses these popular relays. Verified empirically. val DISCOVERY_RELAYS: Set = listOfNotNull( - RelayUrlNormalizer.normalizeOrNull("wss://relay.damus.io"), RelayUrlNormalizer.normalizeOrNull("wss://relay.nostr.band"), RelayUrlNormalizer.normalizeOrNull("wss://relay.primal.net"), RelayUrlNormalizer.normalizeOrNull("wss://nos.lol"), diff --git a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/network/RelayStatus.kt b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/network/RelayStatus.kt index e31000e7e4..13c298f8c5 100644 --- a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/network/RelayStatus.kt +++ b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/network/RelayStatus.kt @@ -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",