mirror of
https://gitlab.com/soapbox-pub/mkstack.git
synced 2025-08-26 20:49:22 +00:00
Add AbortSignal's to things
This commit is contained in:
parent
99970309e2
commit
7d81db739c
@ -106,8 +106,9 @@ function usePosts() {
|
|||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ['posts'],
|
queryKey: ['posts'],
|
||||||
queryFn: async () => {
|
queryFn: async (c) => {
|
||||||
const events = await nostr.query([{ kinds: [1], limit: 20 }]);
|
const signal = AbortSignal.any([c.signal, AbortSignal.timeout(1500)]);
|
||||||
|
const events = await nostr.query([{ kinds: [1], limit: 20 }], { signal });
|
||||||
return events; // these events could be transformed into another format
|
return events; // these events could be transformed into another format
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -14,11 +14,11 @@ export function useAuthor(pubkey: string | undefined) {
|
|||||||
|
|
||||||
const [event] = await nostr.query(
|
const [event] = await nostr.query(
|
||||||
[{ kinds: [0], authors: [pubkey!], limit: 1 }],
|
[{ kinds: [0], authors: [pubkey!], limit: 1 }],
|
||||||
{ signal: AbortSignal.any([signal, AbortSignal.timeout(500)]) },
|
{ signal: AbortSignal.any([signal, AbortSignal.timeout(1500)]) },
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!event) {
|
if (!event) {
|
||||||
return {};
|
throw new Error('No event found');
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -28,5 +28,6 @@ export function useAuthor(pubkey: string | undefined) {
|
|||||||
return { event };
|
return { event };
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
retry: 3,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -17,17 +17,10 @@ export function useLoggedInAccounts() {
|
|||||||
const { data: authors = [] } = useQuery({
|
const { data: authors = [] } = useQuery({
|
||||||
queryKey: ['logins', logins.map((l) => l.id).join(';')],
|
queryKey: ['logins', logins.map((l) => l.id).join(';')],
|
||||||
queryFn: async ({ signal }) => {
|
queryFn: async ({ signal }) => {
|
||||||
let events: NostrEvent[] = [];
|
const events = await nostr.query(
|
||||||
|
[{ kinds: [0], authors: logins.map((l) => l.pubkey) }],
|
||||||
try {
|
{ signal: AbortSignal.any([signal, AbortSignal.timeout(1500)]) },
|
||||||
events = await nostr.query(
|
);
|
||||||
[{ kinds: [0], authors: logins.map((l) => l.pubkey) }],
|
|
||||||
{ signal: AbortSignal.any([signal, AbortSignal.timeout(500)]) },
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching accounts:', error);
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return logins.map(({ id, pubkey }): Account => {
|
return logins.map(({ id, pubkey }): Account => {
|
||||||
const event = events.find((e) => e.pubkey === pubkey);
|
const event = events.find((e) => e.pubkey === pubkey);
|
||||||
@ -38,7 +31,8 @@ export function useLoggedInAccounts() {
|
|||||||
return { id, pubkey, metadata: {}, event };
|
return { id, pubkey, metadata: {}, event };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
retry: 3,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Current user is the first login
|
// Current user is the first login
|
||||||
|
@ -23,7 +23,7 @@ export function useNostrPublish() {
|
|||||||
tags: t.tags ?? [],
|
tags: t.tags ?? [],
|
||||||
created_at: t.created_at ?? Math.floor(Date.now() / 1000),
|
created_at: t.created_at ?? Math.floor(Date.now() / 1000),
|
||||||
});
|
});
|
||||||
nostr.event(event);
|
await nostr.event(event, { signal: AbortSignal.timeout(5000) });
|
||||||
} else {
|
} else {
|
||||||
throw new Error("User is not logged in");
|
throw new Error("User is not logged in");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user