From 405aca03cb7af076e266ab6a1f4c40f869c4b67e Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:34:04 -0500 Subject: [PATCH] Adjust relay fallback for hashtag preferences --- js/services/hashtagPreferencesService.js | 26 +++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/js/services/hashtagPreferencesService.js b/js/services/hashtagPreferencesService.js index 261aa2d4..f17ffd8e 100644 --- a/js/services/hashtagPreferencesService.js +++ b/js/services/hashtagPreferencesService.js @@ -17,6 +17,7 @@ import { import { userLogger, devLogger } from "../utils/logger.js"; import { normalizeHashtag } from "../utils/hashtagNormalization.js"; import { profileCache } from "../state/profileCache.js"; +import { DEFAULT_RELAY_URLS } from "../nostr/toolkit.js"; const LOG_PREFIX = "[HashtagPreferences]"; const HASHTAG_IDENTIFIER = "bitvid:tag-preferences"; @@ -455,11 +456,26 @@ class HashtagPreferencesService { return; } - const relays = sanitizeRelayList( - Array.isArray(nostrClient.relays) - ? nostrClient.relays - : nostrClient.writeRelays, - ); + const relaySet = new Set(); + const addRelays = (candidate) => { + const sanitized = sanitizeRelayList(candidate); + for (const relay of sanitized) { + relaySet.add(relay); + } + }; + + addRelays(nostrClient.relays); + if (!relaySet.size) { + addRelays(nostrClient.readRelays); + } + if (!relaySet.size) { + addRelays(nostrClient.writeRelays); + } + if (!relaySet.size) { + addRelays(DEFAULT_RELAY_URLS); + } + + const relays = Array.from(relaySet); if (!relays.length) { if (wasLoadedForUser) { userLogger.warn(