fix: handle JSON parse error for repost event content

This commit is contained in:
codytseng
2025-11-02 22:02:01 +08:00
parent 2ae223b552
commit dab47e9a69
2 changed files with 44 additions and 34 deletions

View File

@@ -33,8 +33,14 @@ export default function RepostNoteCard({
}, [targetEvent, filterMutedNotes, hideContentMentioningMutedUsers, mutePubkeySet]) }, [targetEvent, filterMutedNotes, hideContentMentioningMutedUsers, mutePubkeySet])
useEffect(() => { useEffect(() => {
const fetch = async () => { const fetch = async () => {
let eventFromContent: Event | null = null
if (event.content) {
try { try {
const eventFromContent = event.content ? (JSON.parse(event.content) as Event) : null eventFromContent = JSON.parse(event.content) as Event
} catch {
eventFromContent = null
}
}
if (eventFromContent && verifyEvent(eventFromContent)) { if (eventFromContent && verifyEvent(eventFromContent)) {
if (eventFromContent.kind === kinds.Repost) { if (eventFromContent.kind === kinds.Repost) {
return return
@@ -69,9 +75,6 @@ export default function RepostNoteCard({
if (targetEvent) { if (targetEvent) {
setTargetEvent(targetEvent) setTargetEvent(targetEvent)
} }
} catch {
// ignore
}
} }
fetch() fetch()
}, [event]) }, [event])

View File

@@ -133,7 +133,14 @@ const NoteList = forwardRef(
return return
} }
const eventFromContent = evt.content ? (JSON.parse(evt.content) as Event) : null let eventFromContent: Event | null = null
if (evt.content) {
try {
eventFromContent = JSON.parse(evt.content) as Event
} catch {
eventFromContent = null
}
}
if (eventFromContent && verifyEvent(eventFromContent)) { if (eventFromContent && verifyEvent(eventFromContent)) {
if (eventFromContent.kind === kinds.Repost) { if (eventFromContent.kind === kinds.Repost) {
return return