diff --git a/package.json b/package.json index 0e77f67..30d8e24 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@welshman", "private": true, - "version": "0.6.1", + "version": "0.6.2", "workspaces": [ "packages/*" ], diff --git a/packages/app/package.json b/packages/app/package.json index 5db5abf..9c8544c 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/app", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of svelte stores for use in building nostr client applications.", diff --git a/packages/content/package.json b/packages/content/package.json index 19cc175..8c2460d 100644 --- a/packages/content/package.json +++ b/packages/content/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/content", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of utilities for parsing nostr note content.", diff --git a/packages/editor/package.json b/packages/editor/package.json index 30ba014..cc5c6e6 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/editor", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A batteries-included nostr editor.", diff --git a/packages/feeds/package.json b/packages/feeds/package.json index 30abed9..6747aec 100644 --- a/packages/feeds/package.json +++ b/packages/feeds/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/feeds", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "Utilities for building dynamic nostr feeds.", diff --git a/packages/lib/package.json b/packages/lib/package.json index 637d65d..c432ba1 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/lib", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of utilities.", diff --git a/packages/net/package.json b/packages/net/package.json index de441b5..9ef481c 100644 --- a/packages/net/package.json +++ b/packages/net/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/net", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "Utilities for connecting with nostr relays.", diff --git a/packages/net/src/adapter.ts b/packages/net/src/adapter.ts index 4d0eeb0..8d71706 100644 --- a/packages/net/src/adapter.ts +++ b/packages/net/src/adapter.ts @@ -1,7 +1,7 @@ import EventEmitter from "events" import {call, sleep, mergeRight, on} from "@welshman/lib" import {isRelayUrl, matchFilters, Filter} from "@welshman/util" -import {LOCAL_RELAY_URL, Repository} from "./repository" +import {LOCAL_RELAY_URL, Repository} from "./repository.js" import { RelayMessage, RelayMessageType, diff --git a/packages/net/src/repository.ts b/packages/net/src/repository.ts index f9e4822..5e85b21 100644 --- a/packages/net/src/repository.ts +++ b/packages/net/src/repository.ts @@ -20,6 +20,24 @@ export type RepositoryUpdate = { removed: Set } +export const mergeRepositoryUpdates = (updates: RepositoryUpdate[]): RepositoryUpdate => { + const added: TrustedEvent[] = [] + const removed = new Set() + + for (const update of updates) { + for (const event of update.added) { + added.push(event) + removed.delete(event.id) + } + + for (const id of update.removed) { + removed.add(id) + } + } + + return {added, removed} +} + export class Repository extends Emitter { eventsById = new Map() eventsByAddress = new Map() diff --git a/packages/router/package.json b/packages/router/package.json index edb4031..1d0afc2 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/router", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of utilities for nostr relay selection.", diff --git a/packages/signer/package.json b/packages/signer/package.json index 2852435..8e50d5b 100644 --- a/packages/signer/package.json +++ b/packages/signer/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/signer", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A nostr signer implemenation supporting several login methods.", diff --git a/packages/store/package.json b/packages/store/package.json index 13e69e4..6eebb99 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/store", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of utilities based on svelte/store for use with welshman", diff --git a/packages/util/package.json b/packages/util/package.json index 1a276d1..afc9702 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/util", - "version": "0.6.1", + "version": "0.6.2", "author": "hodlbod", "license": "MIT", "description": "A collection of nostr-related utilities.",