pgp: fail gracefully from email decryption

Aerc panics when there's an error on email decryption.
Instead, an error message should be shown.
This commit is contained in:
Ray Ganardi 2020-05-19 13:06:46 +02:00 committed by Drew DeVault
parent 83e7c7661d
commit 58db517c8d
5 changed files with 31 additions and 11 deletions
commands
account
msg
msgview

View file

@ -39,7 +39,11 @@ func (ViewMessage) Execute(aerc *widgets.Aerc, args []string) error {
return nil
}
lib.NewMessageStoreView(msg, store, aerc.DecryptKeys,
func(view lib.MessageView) {
func(view lib.MessageView, err error) {
if err != nil {
aerc.PushError(err.Error())
return
}
viewer := widgets.NewMessageViewer(acct, aerc.Config(), view)
aerc.NewTab(viewer, msg.Envelope.Subject)
})

View file

@ -66,7 +66,11 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
return nil
}
lib.NewMessageStoreView(next, store, aerc.DecryptKeys,
func(view lib.MessageView) {
func(view lib.MessageView, err error) {
if err != nil {
aerc.PushError(err.Error())
return
}
nextMv := widgets.NewMessageViewer(acct, aerc.Config(), view)
aerc.ReplaceTab(mv, nextMv, next.Envelope.Subject)
})

View file

@ -38,7 +38,11 @@ func (NextPrevMsg) Execute(aerc *widgets.Aerc, args []string) error {
return nil
}
lib.NewMessageStoreView(nextMsg, store, aerc.DecryptKeys,
func(view lib.MessageView) {
func(view lib.MessageView, err error) {
if err != nil {
aerc.PushError(err.Error())
return
}
nextMv := widgets.NewMessageViewer(acct, aerc.Config(), view)
aerc.ReplaceTab(mv, nextMv, nextMsg.Envelope.Subject)
})