Trim filters, fix some issues with feed loaders

This commit is contained in:
Jon Staab
2024-05-22 10:30:29 -07:00
parent eca11b4fb2
commit fdce131d27
3 changed files with 35 additions and 10 deletions
+6 -1
View File
@@ -1,6 +1,6 @@
import {Event} from 'nostr-tools'
import {matchFilter as nostrToolsMatchFilter} from 'nostr-tools'
import {prop, avg, hash, groupBy, randomId, uniq} from '@welshman/lib'
import {prop, mapVals, shuffle, avg, hash, groupBy, randomId, uniq} from '@welshman/lib'
import type {HashedEvent, TrustedEvent} from './Events'
import {isReplaceableKind} from './Kinds'
import {Address, getAddress} from './Address'
@@ -213,3 +213,8 @@ export const getFilterResultCardinality = (filter: Filter) => {
return null
}
export const trimFilter = (filter: Filter) =>
mapVals(v => Array.isArray(v) && v.length > 1000 ? shuffle(v).slice(0, 1000) : v, filter)
export const trimFilters = (filters: Filter[]) => filters.map(trimFilter)