Bring back repository store

This commit is contained in:
Jon Staab
2025-05-05 15:38:48 -07:00
parent 6589886df2
commit 9e8dc7b26d
4 changed files with 24 additions and 12 deletions
+19
View File
@@ -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 => {
+1 -8
View File
@@ -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<Omit<FeedControllerOptions, "feed">> & {feed: Feed}
export const makeFeedController = (options: MakeFeedControllerOptions) =>
new FeedController({
repository,
getPubkeysForScope,
getPubkeysForWOTRange,
signer: signer.get(),
...options,
})
new FeedController({getPubkeysForScope, getPubkeysForWOTRange, signer: signer.get(), ...options})
-1
View File
@@ -122,7 +122,6 @@ export class Socket extends EventEmitter {
close = () => {
this._ws?.close()
this._ws = undefined
this._sendQueue.clear()
}
cleanup = () => {
+4 -3
View File
@@ -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