fix: failed DM error handling

This commit is contained in:
Davinci 2024-05-13 13:11:52 +02:00
parent e479156270
commit 608400d010
2 changed files with 24 additions and 5 deletions

View File

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

View File

@ -157,9 +157,14 @@ export const sendDM = async (
.then((relays) => {
toast.success(`Encrypted DM sent on: ${relays.join('\n')}`)
})
.catch((err) => {
console.log('err :>> ', err)
toast.error(err.message || 'An error occurred while publishing DM')
.catch((errResults) => {
console.log('err :>> ', errResults)
toast.error('An error occurred while publishing DM')
errResults.forEach((errResult: any) => {
toast.error(`${errResult.relay} -- ${errResult.error}`)
})
return null
})
}