Skip to content

Remove hardcoded wss://relay.damus.io before its shutdown (end of July 2026) #500

Description

@dmnyc

Summary

The operator of wss://relay.damus.io has indicated it will shut down by end of July 2026. Remove all hardcoded references before then so the app doesn't keep trying to connect to a dead relay.

Scope

wss://relay.damus.io is hardcoded in 31 files. In every case it's one entry among several relays in a list/array (never the sole relay), so removal is a safe, mechanical deletion — no replacement relay is needed to preserve redundancy.

Own-line entries (delete the whole line)

  • src/components/LongformFoodFeed.svelte:89
  • src/components/Recipe/TotalZaps.svelte:22
  • src/components/Recipe/TopZappers.svelte:23
  • src/lib/engagementCache.ts:11
  • src/lib/relaySelector.ts:104
  • src/lib/articleOutbox.ts:87 (has trailing comment // Large general relay)
  • src/lib/nip17.ts:41
  • src/lib/memories.ts:117
  • src/lib/queryBatcher.ts:125
  • src/lib/connectionManager.ts:69
  • src/lib/followOutbox.ts:100
  • src/lib/consts.ts:2 (standardRelays — imported by nostr.ts, nostrBackup.ts, spark/index.ts, wallet/nwcBackup.ts, relaySelector.ts, memories.ts, countQuery.ts, settings/+page.svelte, packs/+page.svelte, debug/+page.svelte — widely reused, so this one is worth fixing first)
  • src/lib/relayListCache.ts:71
  • src/lib/countQuery.ts:48 (trailing comment // 394ms - fast and reliable)
  • src/lib/membershipNotificationService.ts:19
  • src/lib/recipePackOg.server.ts:13
  • src/lib/followRecovery.ts:19
  • src/lib/relays/relaySets.ts:23
  • src/lib/relays/relaySets.ts:60 (trailing comment // Large general relay)
  • src/lib/stores/groupZapReceipts.ts:17
  • src/lib/marketplace/products.ts:26
  • src/routes/polls/+page.svelte:41
  • src/routes/reads/+page.svelte:593
  • src/routes/api/counts/batch/+server.ts:29 (trailing comment // 394ms - fast and reliable)
  • src/routes/api/counts/[eventId]/+server.ts:22
  • src/routes/api/cron/test-notification/+server.ts:111
  • src/routes/api/cron/check-expiring-memberships/+server.ts:78

Inline entries (remove just the one array element, keep the line)

  • src/components/FoodstrFeedOptimized.svelte:455recipes: ['wss://nos.lol', 'wss://relay.damus.io']recipes: ['wss://nos.lol']. Also line 452 is a stale benchmark comment naming relay.damus.io (394ms) — worth trimming for accuracy.
  • src/components/reads/LongformEditorModal.svelte:391relays: ['wss://relay.primal.net', 'wss://nos.lol', 'wss://relay.damus.io'] → drop the last element.
  • src/lib/authManager.ts:670relays = ['wss://relay.damus.io', 'wss://nos.lol'];relays = ['wss://nos.lol'];
  • src/lib/recipePack.ts:31RECIPE_PACK_RELAY_HINTS = ['wss://relay.damus.io', 'wss://relay.primal.net']; → drop the first element.
  • src/lib/nourish/nourishPublisher.server.ts:19PUBLISH_RELAYS = ['wss://nos.lol', 'wss://relay.damus.io', 'wss://relay.primal.net']; → drop the middle element.

Verification

After removal:

  • grep -rn "relay.damus.io" src should return nothing.
  • pnpm run check should still pass.
  • Spot-check a couple of the affected features (feed loading, zap totals, DM fallback relays, article publish) still work with one fewer relay in their pool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions