From 0e4832a716c6bd0a24cf4bc3b66bbc1ac056dadf Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 5 May 2025 11:17:56 -0700 Subject: [PATCH] Fetch dvm relays in feeds --- packages/app/package.json | 2 +- packages/app/src/storageAdapters.ts | 2 +- packages/feeds/package.json | 2 +- packages/feeds/src/request.ts | 10 ++++++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index 971e3f3..f34cb5d 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/app", - "version": "0.2.1", + "version": "0.2.2", "author": "hodlbod", "license": "MIT", "description": "A collection of svelte stores for use in building nostr client applications.", diff --git a/packages/app/src/storageAdapters.ts b/packages/app/src/storageAdapters.ts index ca84e13..f028020 100644 --- a/packages/app/src/storageAdapters.ts +++ b/packages/app/src/storageAdapters.ts @@ -37,7 +37,7 @@ export class RelaysStorageAdapter { } sync() { - return throttled(3000, relays).subscribe($relays => Boolean(console.log('relays', $relays))||bulkPut(this.options.name, $relays)) + return throttled(3000, relays).subscribe($relays => bulkPut(this.options.name, $relays)) } } diff --git a/packages/feeds/package.json b/packages/feeds/package.json index f9f31f2..94e59dd 100644 --- a/packages/feeds/package.json +++ b/packages/feeds/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/feeds", - "version": "0.2.0", + "version": "0.2.1", "author": "hodlbod", "license": "MIT", "description": "Utilities for building dynamic nostr feeds.", diff --git a/packages/feeds/src/request.ts b/packages/feeds/src/request.ts index 950f772..ae2b830 100644 --- a/packages/feeds/src/request.ts +++ b/packages/feeds/src/request.ts @@ -1,5 +1,5 @@ import {partition, now, nthEq, race} from "@welshman/lib" -import {makeEvent, Filter, getPubkeyTagValues, TrustedEvent} from "@welshman/util" +import {makeEvent, Filter, getPubkeyTagValues, TrustedEvent, asDecryptedEvent, readList, getRelaysFromList, RELAYS} from "@welshman/util" import {Nip01Signer, ISigner} from "@welshman/signer" import {Repository} from "@welshman/relay" import {Router, getFilterSelections, addMinimalFallbacks} from "@welshman/router" @@ -82,8 +82,14 @@ export const requestDVM = async ({ signer = Nip01Signer.ephemeral(), }: RequestDVMOptions) => { if (relays.length === 0) { + const events = await request({ + autoClose: true, + filters: [{kinds: [RELAYS], authors: getPubkeyTagValues(tags)}], + relays: Router.get().Index().policy(addMinimalFallbacks).getUrls(), + }) + relays = Router.get() - .FromPubkeys(getPubkeyTagValues(tags)) + .FromRelays(events.flatMap(e => getRelaysFromList(readList(asDecryptedEvent(e))))) .policy(addMinimalFallbacks) .getUrls() }