feat: fetch more following's favorite relays
This commit is contained in:
@@ -835,18 +835,26 @@ class ClientService extends EventTarget {
|
|||||||
|
|
||||||
private async _fetchFollowingFavoriteRelays(pubkey: string) {
|
private async _fetchFollowingFavoriteRelays(pubkey: string) {
|
||||||
const followings = await this.fetchFollowings(pubkey)
|
const followings = await this.fetchFollowings(pubkey)
|
||||||
const favoriteRelaysEvents = await this.fetchEvents(BIG_RELAY_URLS, {
|
const events = await this.fetchEvents(BIG_RELAY_URLS, {
|
||||||
authors: followings,
|
authors: followings,
|
||||||
kinds: [ExtendedKind.FAVORITE_RELAYS],
|
kinds: [ExtendedKind.FAVORITE_RELAYS, kinds.Relaysets],
|
||||||
limit: followings.length
|
limit: 1000
|
||||||
})
|
})
|
||||||
const alreadyExistsPubkeys = new Set<string>()
|
const alreadyExistsFavoriteRelaysPubkeySet = new Set<string>()
|
||||||
|
const alreadyExistsRelaySetsPubkeySet = new Set<string>()
|
||||||
const uniqueEvents: NEvent[] = []
|
const uniqueEvents: NEvent[] = []
|
||||||
favoriteRelaysEvents
|
events
|
||||||
.sort((a, b) => b.created_at - a.created_at)
|
.sort((a, b) => b.created_at - a.created_at)
|
||||||
.forEach((event) => {
|
.forEach((event) => {
|
||||||
if (alreadyExistsPubkeys.has(event.pubkey)) return
|
if (event.kind === ExtendedKind.FAVORITE_RELAYS) {
|
||||||
alreadyExistsPubkeys.add(event.pubkey)
|
if (alreadyExistsFavoriteRelaysPubkeySet.has(event.pubkey)) return
|
||||||
|
alreadyExistsFavoriteRelaysPubkeySet.add(event.pubkey)
|
||||||
|
} else if (event.kind === kinds.Relaysets) {
|
||||||
|
if (alreadyExistsRelaySetsPubkeySet.has(event.pubkey)) return
|
||||||
|
alreadyExistsRelaySetsPubkeySet.add(event.pubkey)
|
||||||
|
} else {
|
||||||
|
return
|
||||||
|
}
|
||||||
uniqueEvents.push(event)
|
uniqueEvents.push(event)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user