diff --git a/packages/app/src/core.ts b/packages/app/src/core.ts index 41a806f..8541e2b 100644 --- a/packages/app/src/core.ts +++ b/packages/app/src/core.ts @@ -11,6 +11,25 @@ export const tracker = new Tracker() // Adapt objects to stores +export const makeRepositoryStore = ({throttle: t = 300}: {throttle?: number} = {}) => + custom( + setter => { + let onUpdate = () => setter(repository) + + if (t) { + onUpdate = throttle(t, onUpdate) + } + + onUpdate() + repository.on("update", onUpdate) + + return () => repository.off("update", onUpdate) + }, + { + set: (other: Repository) => repository.load(other.dump()), + }, + ) + export const makeTrackerStore = ({throttle: t = 300}: {throttle?: number} = {}) => custom( setter => { diff --git a/packages/app/src/feeds.ts b/packages/app/src/feeds.ts index 3ac277f..b07aa97 100644 --- a/packages/app/src/feeds.ts +++ b/packages/app/src/feeds.ts @@ -1,7 +1,6 @@ import {Scope, FeedController, FeedControllerOptions, Feed} from "@welshman/feeds" import {pubkey, signer} from "./session.js" import {wotGraph, maxWot, getFollows, getNetwork, getFollowers} from "./wot.js" -import {repository} from "./core.js" export const getPubkeysForScope = (scope: string) => { const $pubkey = pubkey.get() @@ -41,10 +40,4 @@ export const getPubkeysForWOTRange = (min: number, max: number) => { type MakeFeedControllerOptions = Partial> & {feed: Feed} export const makeFeedController = (options: MakeFeedControllerOptions) => - new FeedController({ - repository, - getPubkeysForScope, - getPubkeysForWOTRange, - signer: signer.get(), - ...options, - }) + new FeedController({getPubkeysForScope, getPubkeysForWOTRange, signer: signer.get(), ...options}) diff --git a/packages/net/src/socket.ts b/packages/net/src/socket.ts index 92006e4..fa91f7a 100644 --- a/packages/net/src/socket.ts +++ b/packages/net/src/socket.ts @@ -122,7 +122,6 @@ export class Socket extends EventEmitter { close = () => { this._ws?.close() this._ws = undefined - this._sendQueue.clear() } cleanup = () => { diff --git a/packages/signer/src/signers/nip46.ts b/packages/signer/src/signers/nip46.ts index a1e17a8..eed4df2 100644 --- a/packages/signer/src/signers/nip46.ts +++ b/packages/signer/src/signers/nip46.ts @@ -33,6 +33,7 @@ export type Nip46BrokerParams = { signerPubkey?: string algorithm?: Nip46Algorithm context?: AdapterContext + debug?: (message: string, ...args: any[]) => void } export type Nip46Response = { @@ -189,7 +190,7 @@ export class Nip46Sender extends Emitter { try { await this.send(request) } catch (error: any) { - console.error("nip46 error:", error, request) + this.params.debug?.("nip46 error:", error, request) } } } finally { @@ -307,7 +308,7 @@ export class Nip46Broker extends Emitter { const sender = new Nip46Sender(this.signer, this.params) sender.on(Nip46Event.Send, (data: any) => { - console.log("nip46 send:", data) + this.params.debug?.("nip46 send:", data) }) return sender @@ -317,7 +318,7 @@ export class Nip46Broker extends Emitter { const receiver = new Nip46Receiver(this.signer, this.params) receiver.on(Nip46Event.Receive, (data: any) => { - console.log("nip46 receive:", data) + this.params.debug?.("nip46 receive:", data) }) return receiver