Catch metadata when parsing
This commit is contained in:
parent
fc7ed8bf24
commit
4045a6bdfc
|
@ -197,7 +197,7 @@ const updateCredentialsController: AppController = async (c) => {
|
|||
}
|
||||
|
||||
const author = await getAuthor(pubkey);
|
||||
const meta = author ? n.json().pipe(n.metadata()).parse(author.content) : {};
|
||||
const meta = author ? n.json().pipe(n.metadata()).catch({}).parse(author.content) : {};
|
||||
|
||||
const {
|
||||
avatar: avatarFile,
|
||||
|
|
|
@ -10,7 +10,7 @@ const instanceController: AppController = async (c) => {
|
|||
const { signal } = c.req.raw;
|
||||
|
||||
const [event] = await Storages.db.query([{ kinds: [0], authors: [Conf.pubkey], limit: 1 }], { signal });
|
||||
const meta = n.json().pipe(serverMetaSchema).parse(event?.content);
|
||||
const meta = n.json().pipe(serverMetaSchema).catch({}).parse(event?.content);
|
||||
|
||||
/** Protocol to use for WebSocket URLs, depending on the protocol of the `LOCAL_DOMAIN`. */
|
||||
const wsProtocol = protocol === 'http:' ? 'ws:' : 'wss:';
|
||||
|
|
|
@ -405,7 +405,7 @@ const zapController: AppController = async (c) => {
|
|||
|
||||
const target = await getEvent(id, { kind: 1, relations: ['author', 'event_stats', 'author_stats'], signal });
|
||||
const author = target?.author;
|
||||
const meta = n.json().pipe(n.metadata()).parse(author?.content);
|
||||
const meta = n.json().pipe(n.metadata()).catch({}).parse(author?.content);
|
||||
const lnurl = getLnurl(meta);
|
||||
|
||||
if (target && lnurl) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import { Storages } from '@/storages.ts';
|
|||
const relayInfoController: AppController = async (c) => {
|
||||
const { signal } = c.req.raw;
|
||||
const [event] = await Storages.db.query([{ kinds: [0], authors: [Conf.pubkey], limit: 1 }], { signal });
|
||||
const meta = n.json().pipe(serverMetaSchema).parse(event?.content);
|
||||
const meta = n.json().pipe(serverMetaSchema).catch({}).parse(event?.content);
|
||||
|
||||
return c.json({
|
||||
name: meta.name ?? 'Ditto',
|
||||
|
|
|
@ -111,7 +111,7 @@ async function parseMetadata(event: NostrEvent, signal: AbortSignal): Promise<vo
|
|||
if (event.kind !== 0) return;
|
||||
|
||||
// Parse metadata.
|
||||
const metadata = n.json().pipe(n.metadata()).safeParse(event.content);
|
||||
const metadata = n.json().pipe(n.metadata()).catch({}).safeParse(event.content);
|
||||
if (!metadata.success) return;
|
||||
|
||||
// Get nip05.
|
||||
|
|
|
@ -411,7 +411,7 @@ function buildSearchContent(event: NostrEvent): string {
|
|||
|
||||
/** Build search content for a user. */
|
||||
function buildUserSearchContent(event: NostrEvent): string {
|
||||
const { name, nip05, about } = n.json().pipe(n.metadata()).parse(event.content);
|
||||
const { name, nip05, about } = n.json().pipe(n.metadata()).catch({}).parse(event.content);
|
||||
return [name, nip05, about].filter(Boolean).join('\n');
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import type { Actor } from '@/schemas/activitypub.ts';
|
|||
|
||||
/** Nostr metadata event to ActivityPub actor. */
|
||||
async function renderActor(event: NostrEvent, username: string): Promise<Actor | undefined> {
|
||||
const content = n.json().pipe(n.metadata()).parse(event.content);
|
||||
const content = n.json().pipe(n.metadata()).catch({}).parse(event.content);
|
||||
|
||||
return {
|
||||
type: 'Person',
|
||||
|
|
|
@ -28,7 +28,7 @@ async function renderAccount(
|
|||
about,
|
||||
lud06,
|
||||
lud16,
|
||||
} = n.json().pipe(n.metadata()).parse(event.content);
|
||||
} = n.json().pipe(n.metadata()).catch({}).parse(event.content);
|
||||
|
||||
const npub = nip19.npubEncode(pubkey);
|
||||
const parsed05 = await parseAndVerifyNip05(nip05, pubkey);
|
||||
|
|
Loading…
Reference in New Issue