mirror of
https://github.com/aljazceru/njump.git
synced 2025-12-17 14:24:27 +01:00
getRelay() -> getRandomRelay()
This commit is contained in:
25
nostr.go
25
nostr.go
@@ -3,7 +3,6 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
@@ -57,14 +56,6 @@ type CachedEvent struct {
|
||||
Relays []string `json:"r"`
|
||||
}
|
||||
|
||||
func getRelay() string {
|
||||
if serial == 0 {
|
||||
serial = rand.Intn(len(everything))
|
||||
}
|
||||
serial = (serial + 1) % len(everything)
|
||||
return everything[serial]
|
||||
}
|
||||
|
||||
func getEvent(ctx context.Context, code string, relayHints []string) (*nostr.Event, []string, error) {
|
||||
wdb := eventstore.RelayWrapper{Store: db}
|
||||
|
||||
@@ -100,8 +91,7 @@ func getEvent(ctx context.Context, code string, relayHints []string) (*nostr.Eve
|
||||
case nostr.EventPointer:
|
||||
author = v.Author
|
||||
filter.IDs = []string{v.ID}
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRandomRelay(), getRandomRelay())
|
||||
relays = append(relays, v.Relays...)
|
||||
withRelays = true
|
||||
case nostr.EntityPointer:
|
||||
@@ -113,16 +103,13 @@ func getEvent(ctx context.Context, code string, relayHints []string) (*nostr.Eve
|
||||
if v.Kind != 0 {
|
||||
filter.Kinds = append(filter.Kinds, v.Kind)
|
||||
}
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRandomRelay(), getRandomRelay())
|
||||
relays = append(relays, v.Relays...)
|
||||
withRelays = true
|
||||
case string:
|
||||
if prefix == "note" {
|
||||
filter.IDs = []string{v}
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRandomRelay(), getRandomRelay(), getRandomRelay())
|
||||
} else if prefix == "npub" {
|
||||
author = v
|
||||
filter.Authors = []string{v}
|
||||
@@ -135,7 +122,7 @@ func getEvent(ctx context.Context, code string, relayHints []string) (*nostr.Eve
|
||||
if res, _ := wdb.QuerySync(ctx, filter); len(res) != 0 {
|
||||
evt := res[0]
|
||||
scheduleEventExpiration(evt.ID, time.Hour*24*7)
|
||||
return evt, getRelaysForEvent(evt.ID), nil
|
||||
return evt, getRandomRelaysForEvent(evt.ID), nil
|
||||
}
|
||||
|
||||
// otherwise fetch from external relays
|
||||
@@ -148,7 +135,7 @@ func getEvent(ctx context.Context, code string, relayHints []string) (*nostr.Eve
|
||||
relays = append(relays, authorRelays...)
|
||||
}
|
||||
for len(relays) < 5 {
|
||||
relays = append(relays, getRelay())
|
||||
relays = append(relays, getRandomRelay())
|
||||
}
|
||||
|
||||
relays = unique(relays)
|
||||
@@ -226,7 +213,7 @@ func authorLastNotes(ctx context.Context, pubkey string, relays []string, isSite
|
||||
}()
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
|
||||
defer cancel()
|
||||
relays = unique(append(relays, getRelay(), getRelay()))
|
||||
relays = unique(append(relays, getRandomRelay(), getRandomRelay()))
|
||||
ch := pool.SubManyEose(ctx, relays, nostr.Filters{filter})
|
||||
for {
|
||||
select {
|
||||
|
||||
10
utils.go
10
utils.go
@@ -185,7 +185,7 @@ func getParentNevent(event *nostr.Event, fallbackRelay string) string {
|
||||
} else if fallbackRelay != "" {
|
||||
relay = fallbackRelay
|
||||
} else {
|
||||
relay = everything[rand.Intn(len(everything))]
|
||||
relay = getRandomRelay()
|
||||
}
|
||||
parentNevent, _ = nip19.EncodeEvent((*replyTag)[1], []string{relay}, "")
|
||||
}
|
||||
@@ -533,3 +533,11 @@ func shouldUseRelayForNip19(relayUrl string) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func getRandomRelay() string {
|
||||
if serial == 0 {
|
||||
serial = rand.Intn(len(everything))
|
||||
}
|
||||
serial = (serial + 1) % len(everything)
|
||||
return everything[serial]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user