diff --git a/ui/noogle/src/components/FilterGeneration.vue b/ui/noogle/src/components/FilterGeneration.vue index 5a75a9e..d51bf3e 100644 --- a/ui/noogle/src/components/FilterGeneration.vue +++ b/ui/noogle/src/components/FilterGeneration.vue @@ -20,7 +20,7 @@ import { import store from '../store'; import miniToastr from "mini-toastr"; import {onMounted, ref} from "vue"; -import {get_user_infos, hasActiveSubscription, sleep} from "../components/helper/Helper.vue" +import {get_user_infos, hasActiveSubscription, sleep, get_main_relays} from "../components/helper/Helper.vue" import {createBolt11Lud16, zap, zaprequest} from "../components/helper/Zap.vue" import {webln} from "@getalby/sdk"; @@ -946,11 +946,22 @@ async function unfollow_all(results) { let limits = RelayLimits.disable() let relayopts = new Options().relayLimits(limits); let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build() - await dbclient.addRelay("wss://relay.damus.io"); + let publicKey = store.state.pubkey + + for (let relay in store.state.relays){ + await dbclient.addRelay(relay); + } + + let relays = await get_main_relays(publicKey, dbclient) + for (let relay in relays){ + console.log(relay) + await dbclient.addRelay(relay); + } + + await dbclient.connect() let found = false let element - let publicKey = store.state.pubkey console.log(publicKey.toHex()) let followers_filter = new Filter().author(publicKey).kind(3).limit(1) let followers = await dbclient.getEventsOf([followers_filter], Duration.fromSecs(5)) @@ -1025,12 +1036,26 @@ async function unfollow(result) { let limits = RelayLimits.disable() let relayopts = new Options().relayLimits(limits); let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build() - await dbclient.addRelay("wss://relay.damus.io"); + let publicKey = store.state.pubkey + + console.log("hello") + for (let relay of store.state.relays){ + await dbclient.addRelay(relay); + } + console.log("hello2") + + + let relays = await get_main_relays(publicKey, dbclient) + for (let relay in relays){ + console.log(relay) + await dbclient.addRelay(relay); + } + + await dbclient.connect() - console.log(result.authorid) let found = false let element - let publicKey = store.state.pubkey + console.log(publicKey.toHex()) let followers_filter = new Filter().author(publicKey).kind(3).limit(1) let followers = await dbclient.getEventsOf([followers_filter], Duration.fromSecs(5)) diff --git a/ui/noogle/src/components/helper/Helper.vue b/ui/noogle/src/components/helper/Helper.vue index ccc5fdc..64d8218 100644 --- a/ui/noogle/src/components/helper/Helper.vue +++ b/ui/noogle/src/components/helper/Helper.vue @@ -50,6 +50,39 @@ export async function react_to_dvm(dvm, reaction) { } +export async function get_main_relays(user_pk, client){ + + await client.connect() + console.log(user_pk.toHex()) + let filter = new Filter().kind(3).authors(user_pk) + let events = await client.getEventsOf([filter], Duration.fromSecs(5)) + console.log(events) + + if (events.length === 0){ + return [] + } + else{ + let followlist = events[0] + console.log(followlist.content) + try{ + content = JSON.parse(followlist.content) + let relays = [] + for (let relay in content){ + relays.append(relay) + } + return relays + + + } + catch (e){ + return [] + } + + } +} + + + export async function schedule(note, datetopost) {