Merge pull request 'fix: failed DM error handling' (#19) from issue16 into main
All checks were successful
Release / build_and_release (push) Successful in 1m6s

Reviewed-on: https://git.sigit.io/sig/it/pulls/19
Reviewed-by: s <sabir@4gl.io>
This commit is contained in:
b 2024-05-14 15:37:40 +00:00
commit 33ed372236
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

@ -161,9 +161,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(`Publishing to ${errResult.relay} caused the following error: ${errResult.error}`)
})
return null
})
}