update prefetch

This commit is contained in:
Ren Amamiya
2023-06-10 08:18:44 +07:00
parent 3f85ef6224
commit 96d8d0a752
2 changed files with 42 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
import { prefetchEvents } from "@libs/ndk";
import { countTotalNotes, createNote } from "@libs/storage";
import { countTotalNotes, createChat, createNote } from "@libs/storage";
import { NDKFilter } from "@nostr-dev-kit/ndk";
import { LumeIcon } from "@shared/icons";
import { RelayContext } from "@shared/relayProvider";
@@ -62,11 +62,50 @@ export function Page() {
}
}
async function fetchChats() {
try {
const sendFilter: NDKFilter = {
kinds: [4],
authors: [account.pubkey],
since: lastLogin,
};
const receiveFilter: NDKFilter = {
kinds: [4],
"#p": [account.pubkey],
since: lastLogin,
};
const sendMessages = await prefetchEvents(ndk, sendFilter);
const receiveMessages = await prefetchEvents(ndk, receiveFilter);
const events = [...sendMessages, ...receiveMessages];
events.forEach((event) => {
const receiverPubkey =
event.tags.find((t) => t[0] === "p")[1] || account.pubkey;
createChat(
event.id,
receiverPubkey,
event.pubkey,
event.content,
event.tags,
event.created_at,
);
});
return true;
} catch (e) {
console.log("error: ", e);
}
}
useEffect(() => {
async function prefetch() {
const notes = await fetchNotes();
if (notes) {
navigate("/app/space", { overwriteLastHistoryEntry: true });
const chats = await fetchChats();
if (chats) {
navigate("/app/space", { overwriteLastHistoryEntry: true });
}
}
}
prefetch();

View File

@@ -2,8 +2,6 @@ import NDK, {
NDKConstructorParams,
NDKEvent,
NDKFilter,
NDKFilterOptions,
NDKRelaySet,
} from "@nostr-dev-kit/ndk";
import { FULL_RELAYS } from "@stores/constants";
@@ -37,7 +35,7 @@ export async function prefetchEvents(
});
relaySetSubscription.on("eose", () => {
setTimeout(() => resolve(new Set(events.values())), 2000);
setTimeout(() => resolve(new Set(events.values())), 3000);
});
});
}