web: only request filters if the authors list has items
This commit is contained in:
parent
b081e1cefc
commit
42fd771333
2 changed files with 29 additions and 6 deletions
|
@ -12,7 +12,7 @@
|
||||||
<script defer src="js/noble-secp256k1.js?v=1"></script>
|
<script defer src="js/noble-secp256k1.js?v=1"></script>
|
||||||
<script defer src="js/bech32.js?v=1"></script>
|
<script defer src="js/bech32.js?v=1"></script>
|
||||||
<script defer src="js/nostr.js?v=6"></script>
|
<script defer src="js/nostr.js?v=6"></script>
|
||||||
<script defer src="js/damus.js?v=76"></script>
|
<script defer src="js/damus.js?v=77"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -153,11 +153,17 @@ async function damus_web_init()
|
||||||
handle_home_event(ids, model, relay, sub_id, ev)
|
handle_home_event(ids, model, relay, sub_id, ev)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
pool.on('notice', (relay, notice) => {
|
||||||
|
log_debug("NOTICE", relay, notice)
|
||||||
|
})
|
||||||
|
|
||||||
pool.on('eose', async (relay, sub_id) => {
|
pool.on('eose', async (relay, sub_id) => {
|
||||||
if (sub_id === ids.home) {
|
if (sub_id === ids.home) {
|
||||||
|
log_debug("got home EOSE from %s", relay.url)
|
||||||
const events = model.views.home.events
|
const events = model.views.home.events
|
||||||
handle_comments_loaded(ids, model, events, relay)
|
handle_comments_loaded(ids, model, events, relay)
|
||||||
} else if (sub_id === ids.profiles) {
|
} else if (sub_id === ids.profiles) {
|
||||||
|
log_debug("got profiles EOSE from %s", relay.url)
|
||||||
const view = get_current_view()
|
const view = get_current_view()
|
||||||
handle_profiles_loaded(ids, model, view, relay)
|
handle_profiles_loaded(ids, model, view, relay)
|
||||||
}
|
}
|
||||||
|
@ -370,6 +376,7 @@ function handle_home_event(ids, model, relay, sub_id, ev) {
|
||||||
case 3:
|
case 3:
|
||||||
model.done_init[relay] = true
|
model.done_init[relay] = true
|
||||||
model.pool.unsubscribe(ids.account, relay)
|
model.pool.unsubscribe(ids.account, relay)
|
||||||
|
send_home_filters(ids, model, relay)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case ids.profiles:
|
case ids.profiles:
|
||||||
|
@ -402,8 +409,8 @@ function send_home_filters(ids, model, relay) {
|
||||||
|
|
||||||
|
|
||||||
const contacts_filter = {kinds: [0], authors: friends}
|
const contacts_filter = {kinds: [0], authors: friends}
|
||||||
const dms_filter = {kinds: [4], limit: 500}
|
const dms_filter = {kinds: [4], limit: 100}
|
||||||
const our_dms_filter = {kinds: [4], authors: [ model.pubkey ], limit: 500}
|
const our_dms_filter = {kinds: [4], authors: [ model.pubkey ], limit: 100}
|
||||||
|
|
||||||
const standard_kinds = [1,42,5,6,7]
|
const standard_kinds = [1,42,5,6,7]
|
||||||
|
|
||||||
|
@ -625,9 +632,13 @@ function handle_profiles_loaded(ids, model, view, relay) {
|
||||||
|
|
||||||
const fofs = Array.from(model.contacts.friend_of_friends)
|
const fofs = Array.from(model.contacts.friend_of_friends)
|
||||||
let explore_filters = [
|
let explore_filters = [
|
||||||
{kinds: [1,42], authors: fofs, limit: 200},
|
{kinds: [1,42], ids: ["00000"], limit: 200}
|
||||||
{kinds: [1,42], ids: ["0000"], limit: 200}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if (fofs.length > 0) {
|
||||||
|
explore_filters.push({kinds: [1,42], authors: fofs, limit: 200})
|
||||||
|
}
|
||||||
|
|
||||||
model.pool.subscribe(ids.explore, explore_filters, relay)
|
model.pool.subscribe(ids.explore, explore_filters, relay)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -680,7 +691,13 @@ function handle_comments_loaded(ids, model, events, relay)
|
||||||
const profile_filter = {kinds: [0,3], authors: authors}
|
const profile_filter = {kinds: [0,3], authors: authors}
|
||||||
const chatroom_filter = {kinds: [40], ids: chatroom_ids}
|
const chatroom_filter = {kinds: [40], ids: chatroom_ids}
|
||||||
|
|
||||||
let filters = [profile_filter, chatroom_filter]
|
let filters = []
|
||||||
|
|
||||||
|
if (authors.length > 0)
|
||||||
|
filters.push(profile_filter)
|
||||||
|
|
||||||
|
if (chatroom_ids.length > 0)
|
||||||
|
filters.push(chatroom_filter)
|
||||||
|
|
||||||
const ref_evids = get_referenced_events(model, events)
|
const ref_evids = get_referenced_events(model, events)
|
||||||
if (ref_evids.length > 0) {
|
if (ref_evids.length > 0) {
|
||||||
|
@ -689,7 +706,13 @@ function handle_comments_loaded(ids, model, events, relay)
|
||||||
filters.push({"#e": ref_evids})
|
filters.push({"#e": ref_evids})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (filters.length === 0) {
|
||||||
|
log_debug("No profiles filters to request...")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
//console.log("subscribe", profiles_id, filter, relay)
|
//console.log("subscribe", profiles_id, filter, relay)
|
||||||
|
log_debug("subscribing to profiles on %s", relay.url)
|
||||||
model.pool.subscribe(ids.profiles, filters, relay)
|
model.pool.subscribe(ids.profiles, filters, relay)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue