diff --git a/packages/app/package.json b/packages/app/package.json index 7dbfc6a..edb857f 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/app", - "version": "0.0.24", + "version": "0.0.25", "author": "hodlbod", "license": "MIT", "description": "A collection of svelte stores for use in building nostr client applications.", diff --git a/packages/app/src/relays.ts b/packages/app/src/relays.ts index 2170f14..304b465 100644 --- a/packages/app/src/relays.ts +++ b/packages/app/src/relays.ts @@ -221,7 +221,7 @@ const onConnectionReceive = ({url, state}: Connection, [verb, ...extra]: Message const onConnectionError = ({url}: Connection) => updateRelayStats([url, stats => { stats.last_error = now() - stats.recent_errors = stats.recent_errors.concat(now()).slice(-10) + stats.recent_errors = uniq(stats.recent_errors.concat(now())).slice(-10) }]) export const trackRelayStats = (connection: Connection) => { diff --git a/packages/net/package.json b/packages/net/package.json index 7df2956..5768ceb 100644 --- a/packages/net/package.json +++ b/packages/net/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/net", - "version": "0.0.34", + "version": "0.0.35", "author": "hodlbod", "license": "MIT", "description": "Utilities for connecting with nostr relays.", diff --git a/packages/net/src/Subscribe.ts b/packages/net/src/Subscribe.ts index 0714fd6..de85743 100644 --- a/packages/net/src/Subscribe.ts +++ b/packages/net/src/Subscribe.ts @@ -166,9 +166,7 @@ export const optimizeSubscriptions = (subs: Subscription[]) => { mergedSub.emitter.on(SubscriptionEvent.Event, (url: string, event: TrustedEvent) => { for (const sub of group) { - const seen = sub.tracker.track(event.id, url) - - if (!seen && matchFilters(sub.request.filters, event)) { + if (matchFilters(sub.request.filters, event) && !sub.tracker.track(event.id, url)) { sub.emitter.emit(SubscriptionEvent.Event, url, event) } } diff --git a/packages/util/src/Filters.ts b/packages/util/src/Filters.ts index 490be0c..3b29476 100644 --- a/packages/util/src/Filters.ts +++ b/packages/util/src/Filters.ts @@ -220,7 +220,7 @@ export const getFilterGenerality = (filter: Filter) => { } if (filter.authors) { - return Math.min(1, filter.authors.length / 100) + return Math.min(1, filter.authors.length / 300) } return 1