aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorRay Ganardi <ray@ganardi.xyz>2020-05-19 13:06:46 +0200
committerDrew DeVault <sir@cmpwn.com>2020-05-25 09:30:20 -0400
commit58db517c8d79c7fd8897d8ab5d5cf9c2de67a071 (patch)
tree775b2d74bda2ea10795b9dffa60afb66c36a90b8 /commands
parent83e7c7661dfe42e75641d764d713d144c2d7c6ce (diff)
downloadaerc-58db517c8d79c7fd8897d8ab5d5cf9c2de67a071.tar.gz
pgp: fail gracefully from email decryption
Aerc panics when there's an error on email decryption. Instead, an error message should be shown.
Diffstat (limited to 'commands')
-rw-r--r--commands/account/view.go6
-rw-r--r--commands/msg/delete.go6
-rw-r--r--commands/msgview/next.go6
3 files changed, 15 insertions, 3 deletions
diff --git a/commands/account/view.go b/commands/account/view.go
index d1b90cef..b421666b 100644
--- a/commands/account/view.go
+++ b/commands/account/view.go
@@ -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)
})
diff --git a/commands/msg/delete.go b/commands/msg/delete.go
index 313e3ea9..4bda8b98 100644
--- a/commands/msg/delete.go
+++ b/commands/msg/delete.go
@@ -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)
})
diff --git a/commands/msgview/next.go b/commands/msgview/next.go
index c218ad53..978cf10f 100644
--- a/commands/msgview/next.go
+++ b/commands/msgview/next.go
@@ -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)
})