Speed up by reducing threshold

This commit is contained in:
Jonathan Staab 2023-01-21 14:16:23 -08:00
parent 953d9bbf85
commit 8be9d2cd47
4 changed files with 12 additions and 8 deletions

View File

@ -186,7 +186,7 @@ const request = (relays, filters, {threshold = 1} = {}) => {
// a short timeout, or all after a long timeout, go ahead and unsubscribe.
const done = (
eose.length === agg.subs.length
|| eose.filter(url => relaysWithEvents.has(url)).length > threshold
|| eose.filter(url => relaysWithEvents.has(url)).length >= threshold
|| (
Date.now() - now >= 1000
&& eose.length > agg.subs.length - Math.round(agg.subs.length / 10)

View File

@ -14,7 +14,7 @@ const onChunk = async (relays, pubkey, events) => {
events = events.filter(e => isAlert(e, pubkey))
if (events.length > 0) {
const context = await loaders.loadContext(relays, events)
const context = await loaders.loadContext(relays, events, {threshold: 2})
const notes = threadify(events, context, {muffle: getMuffle()})
await db.alerts.bulkPut(notes)
@ -24,8 +24,12 @@ const onChunk = async (relays, pubkey, events) => {
}
const load = async (relays, pubkey) => {
const since = get(lastCheckedAlerts)
const events = await _load(relays, {kinds: [1, 7], '#p': [pubkey], since, limit: 100})
const since = get(mostRecentAlert)
const events = await _load(
relays,
{kinds: [1, 7], '#p': [pubkey], since, limit: 100},
{threshold: 2}
)
onChunk(relays, pubkey, events)
}
@ -40,7 +44,8 @@ const listen = async (relays, pubkey) => {
{kinds: [1, 7], '#p': [pubkey], since: now()},
batch(300, events => {
onChunk(relays, pubkey, events)
})
}),
{threshold: 2}
)
}

View File

@ -44,7 +44,7 @@
$: flag = find(whereEq({pubkey: $user?.pubkey}), flags)
const onClick = e => {
if (!['I'].includes(e.target.tagName) && !e.target.closest('a')) {
if (interactive && !['I'].includes(e.target.tagName) && !e.target.closest('a')) {
modal.set({type: 'note/detail', note, relays})
}
}

View File

@ -3,7 +3,6 @@
import {onMount} from 'svelte'
import {fly} from 'svelte/transition'
import {now, createScroller} from 'src/util/misc'
import {isLike} from 'src/util/nostr'
import {user, db} from 'src/agent'
import {alerts} from 'src/app'
import Note from 'src/partials/Note.svelte'
@ -21,7 +20,7 @@
const events = await db.alerts.toArray()
const notes = events.filter(e => e.kind === 1)
const likes = events.filter(e => e.kind === 7 && isLike(e.content))
const likes = events.filter(e => e.kind === 7)
// Combine likes of a single note. Remove grandchild likes
const likesById = {}