Hydrate event author in pipeline to relieve streaming API

This commit is contained in:
Alex Gleason 2024-03-20 13:49:02 -05:00
parent 07ebb490d2
commit 25a4384587
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7
2 changed files with 5 additions and 2 deletions

View File

@ -63,8 +63,7 @@ const streamingController: AppController = (c) => {
if (filter) {
for await (const event of Sub.sub(socket, '1', [filter])) {
const author = await getAuthor(event.pubkey);
const status = await renderStatus({ ...event, author }, pubkey);
const status = await renderStatus(event, pubkey);
if (status) {
send('update', status);
}

View File

@ -6,6 +6,7 @@ import { deleteAttachedMedia } from '@/db/unattached-media.ts';
import { Debug, LNURL, type NostrEvent } from '@/deps.ts';
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
import { isEphemeralKind } from '@/kinds.ts';
import { getAuthor } from '@/queries.ts';
import { updateStats } from '@/stats.ts';
import { purifyEvent } from '@/storages/hydrate.ts';
import { cache, client, eventsDB, reqmeister } from '@/storages.ts';
@ -58,6 +59,9 @@ async function hydrateEvent(event: DittoEvent): Promise<void> {
const [user] = await eventsDB.query([{ kinds: [30361], authors: [Conf.pubkey], '#d': [event.pubkey], limit: 1 }]);
event.user = user;
const author = await getAuthor(event.pubkey);
event.author = author;
const domain = await db
.selectFrom('pubkey_domains')
.select('domain')