From 026568ea7100ea404532a0daf535dcbe3c40a5da Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 8 Mar 2025 21:03:36 -0600 Subject: [PATCH] Fix firehose --- packages/ditto/storages/DittoPool.test.ts | 13 ++++++++++++- packages/ditto/storages/DittoPool.ts | 4 ---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/ditto/storages/DittoPool.test.ts b/packages/ditto/storages/DittoPool.test.ts index 992ae70c..c1175d34 100644 --- a/packages/ditto/storages/DittoPool.test.ts +++ b/packages/ditto/storages/DittoPool.test.ts @@ -6,7 +6,8 @@ import { generateSecretKey, getPublicKey, nip19 } from 'nostr-tools'; import { DittoPool } from './DittoPool.ts'; Deno.test('DittoPool.reqRouter', async (t) => { - const conf = new DittoConf(new Map([['DITTO_NSEC', nip19.nsecEncode(generateSecretKey())]])); + const nsec = generateSecretKey(); + const conf = new DittoConf(new Map([['DITTO_NSEC', nip19.nsecEncode(nsec)]])); const relay = new MockRelay(); const pool = new DittoPool({ conf, relay }); @@ -58,6 +59,16 @@ Deno.test('DittoPool.reqRouter', async (t) => { assertEquals(reqRoutes, expected); }); + + await t.step('no authors with fallback', async () => { + const fallback = genEvent({ kind: 10002, tags: [['r', ditto]] }, nsec); + await relay.event(fallback); + + const reqRoutes = await pool.reqRouter([{ kinds: [1] }]); + const expected = new Map([[ditto, [{ kinds: [1] }]]]); + + assertEquals(reqRoutes, expected); + }); }); function generateKeypair(): { pk: string; sk: Uint8Array } { diff --git a/packages/ditto/storages/DittoPool.ts b/packages/ditto/storages/DittoPool.ts index 1fd186e4..4cf262fd 100644 --- a/packages/ditto/storages/DittoPool.ts +++ b/packages/ditto/storages/DittoPool.ts @@ -47,10 +47,6 @@ export class DittoPool extends NPool { } } - if (!authors.size) { - return routes; - } - const pubkey = await conf.signer.getPublicKey(); const map = new Map();