about summary refs log tree commit diff stats
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 d1b90ce..b421666 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 313e3ea..4bda8b9 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 c218ad5..978cf10 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)
 		})