perf: hydrate repost event in home timeline

This commit is contained in:
P. Reis
2024-04-12 21:51:57 -03:00
parent 581ecd67d6
commit 24efca5ea0
5 changed files with 41 additions and 6 deletions

View File

@@ -226,7 +226,7 @@ const reblogStatusController: AppController = async (c) => {
tags: [['e', event.id], ['p', event.pubkey]],
}, c);
const status = await renderReblog(reblogEvent);
const status = await renderReblog(reblogEvent, { loadOriginalPostEvent: true });
return c.json(status);
};

View File

@@ -64,7 +64,7 @@ const streamingController: AppController = (c) => {
if (filter) {
for await (const event of Sub.sub(socket, '1', [filter])) {
if (event.kind === 6) {
const status = await renderReblog(event);
const status = await renderReblog(event, { loadOriginalPostEvent: true });
if (status) {
send('update', status);
}

View File

@@ -49,7 +49,12 @@ async function renderStatuses(c: AppContext, filters: NostrFilter[]) {
const events = await eventsDB
.query(filters, { signal })
.then((events) =>
hydrateEvents({ events, relations: ['author', 'author_stats', 'event_stats'], storage: eventsDB, signal })
hydrateEvents({
events,
relations: ['author', 'author_stats', 'event_stats', 'repost'],
storage: eventsDB,
signal,
})
);
if (!events.length) {
@@ -58,7 +63,7 @@ async function renderStatuses(c: AppContext, filters: NostrFilter[]) {
const statuses = (await Promise.all(events.map((event) => {
if (event.kind === 6) {
return renderReblog(event);
return renderReblog(event, {});
}
return renderStatus(event, c.get('pubkey'));
}))).filter((boolean) => boolean);