From 478b2d12eb07751282584e68ee3395f34665a74f Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 12 Aug 2025 17:16:14 -0400 Subject: [PATCH] Speeding up the parsing of relay urls --- .../nip65RelayList/tags/AdvertisedRelayInfoTag.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt index bdde75e00..20eb69ac4 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt @@ -76,8 +76,11 @@ class AdvertisedRelayInfo( @JvmStatic fun parseReadNorm(tag: Array): NormalizedRelayUrl? { - ensure(match(tag)) { return null } - ensure(AdvertisedRelayType.isRead(tag.getOrNull(2))) { return null } + ensure(tag.has(1) && tag[0] == TAG_NAME && tag[1].isNotEmpty()) { return null } + + if (tag.has(2)) { + ensure(AdvertisedRelayType.isRead(tag[2])) { return null } + } val relay = RelayUrlNormalizer.normalizeOrNull(tag[1]) @@ -88,8 +91,11 @@ class AdvertisedRelayInfo( @JvmStatic fun parseWriteNorm(tag: Array): NormalizedRelayUrl? { - ensure(match(tag)) { return null } - ensure(AdvertisedRelayType.isWrite(tag.getOrNull(2))) { return null } + ensure(tag.has(1) && tag[0] == TAG_NAME && tag[1].isNotEmpty()) { return null } + + if (tag.has(2)) { + ensure(AdvertisedRelayType.isWrite(tag[2])) { return null } + } val relay = RelayUrlNormalizer.normalizeOrNull(tag[1])