feat: track event seen on relays
fix: dump/clear commands
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { NostrEvent, OkResponse, ReqCommand } from "./nostr";
|
||||
import { OkResponse, ReqCommand, TaggedNostrEvent } from "./nostr";
|
||||
|
||||
/**
|
||||
* A cache relay is an always available local (local network / browser worker) relay
|
||||
@ -8,12 +8,12 @@ export interface CacheRelay {
|
||||
/**
|
||||
* Write event to cache relay
|
||||
*/
|
||||
event(ev: NostrEvent): Promise<OkResponse>;
|
||||
event(ev: TaggedNostrEvent): Promise<OkResponse>;
|
||||
|
||||
/**
|
||||
* Read event from cache relay
|
||||
*/
|
||||
query(req: ReqCommand): Promise<Array<NostrEvent>>;
|
||||
query(req: ReqCommand): Promise<Array<TaggedNostrEvent>>;
|
||||
|
||||
/**
|
||||
* Delete events by filter
|
||||
|
@ -107,8 +107,8 @@ export class QueryManager extends EventEmitter<QueryManagerEvents> {
|
||||
// fetch results from cache first, flag qSend for sync
|
||||
if (this.#system.cacheRelay) {
|
||||
const data = await this.#system.cacheRelay.query(["REQ", q.id, ...filters]);
|
||||
syncFrom = data;
|
||||
if (data.length > 0) {
|
||||
syncFrom = data.map(a => ({ ...a, relays: [] }));
|
||||
this.#log("Adding from cache %s %O", q.id, data);
|
||||
q.feed.add(syncFrom);
|
||||
}
|
||||
|
Reference in New Issue
Block a user