fix: failed DM error handling #19

Merged
b merged 3 commits from issue16 into main 2024-05-14 15:37:40 +00:00
2 changed files with 24 additions and 5 deletions

View File

@ -214,8 +214,22 @@ export class NostrController extends EventEmitter {
} }
}) })
if (publishedRelays.length === 0) if (publishedRelays.length === 0) {
throw new Error(`Couldn't publish to any relay`) const failedPublishes: any[] = []
results.forEach((res, index) => {
if (res.status === 'rejected') {
failedPublishes.push(
{
relay: relays[index],
error: res.reason.message
}
)
}
})
throw failedPublishes
}
return publishedRelays return publishedRelays
} }

View File

@ -161,9 +161,14 @@ export const sendDM = async (
.then((relays) => { .then((relays) => {
toast.success(`Encrypted DM sent on: ${relays.join('\n')}`) toast.success(`Encrypted DM sent on: ${relays.join('\n')}`)
}) })
.catch((err) => { .catch((errResults) => {
console.log('err :>> ', err) console.log('err :>> ', errResults)
Review

The error message could be: Publishing to '${ralay}' caused the following error: '${error}'.

The error message could be: `Publishing to '${ralay}' caused the following error: '${error}'.`
toast.error(err.message || 'An error occurred while publishing DM') toast.error('An error occurred while publishing DM')
errResults.forEach((errResult: any) => {
toast.error(`Publishing to ${errResult.relay} caused the following error: ${errResult.error}`)
})
return null return null
}) })
} }